diff --git a/.config/nextest.toml b/.config/nextest.toml deleted file mode 100644 index 6a1b75e..0000000 --- a/.config/nextest.toml +++ /dev/null @@ -1 +0,0 @@ -experimental = [ "benchmarks" ] \ No newline at end of file diff --git a/.envrc b/.envrc index ce64c4d..e6b394d 100644 --- a/.envrc +++ b/.envrc @@ -1,4 +1,4 @@ -DATABASE_URL="sqlite://./test.db" +DATABASE_URL="sqlite:///home/chris/.local/share/lumina/library-db.sqlite3" use flake . # eval $(guix shell -D --search-paths) diff --git a/.forgejo/workflows/demo.yaml b/.forgejo/workflows/demo.yaml new file mode 100644 index 0000000..7657407 --- /dev/null +++ b/.forgejo/workflows/demo.yaml @@ -0,0 +1,18 @@ +on: [push] +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + + - run: | + apt update + apt install sudo + apt install just + + - uses: https://github.com/cachix/install-nix-action@v27 + with: + nix_path: nixpkgs=channel:nixos-unstable + + - run: nix develop --command just test diff --git a/.forgejo/workflows/lints.yaml b/.forgejo/workflows/lints.yaml deleted file mode 100644 index 3e08132..0000000 --- a/.forgejo/workflows/lints.yaml +++ /dev/null @@ -1,9 +0,0 @@ -on: [push] -jobs: - clippy: - runs-on: nixos-latest - steps: - - run: nix-env --install nodejs - - name: checkout - uses: actions/checkout@v4 - - run: nix --extra-experimental-features nix-command --extra-experimental-features flakes develop --command cargo clippy -- -D clippy::pedantic -D clippy::perf -D clippy::nursery -D clippy::unwrap_used diff --git a/.forgejo/workflows/test.yaml b/.forgejo/workflows/test.yaml deleted file mode 100644 index 5aa92e6..0000000 --- a/.forgejo/workflows/test.yaml +++ /dev/null @@ -1,9 +0,0 @@ -on: [push] -jobs: - test: - runs-on: nixos-latest - steps: - - run: nix-env --install nodejs - - name: checkout - uses: actions/checkout@v4 - - run: nix --extra-experimental-features nix-command --extra-experimental-features flakes develop --command just ci-test diff --git a/.gitignore b/.gitignore index a750937..41e108c 100644 --- a/.gitignore +++ b/.gitignore @@ -8,16 +8,3 @@ data.db /perf.data /perf.data.old .aider* - -test.db-shm -test.db-wal -test.lum -test.pres -profile.json.gz -result - -flatpak-cargo-generator.py -.flatpak-builder/ -flatpak-out/ -cosmic-flatpak-runtime/ -flatpak-builder-tools/ \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 2e0fa12..976a902 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,78 +20,75 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "accesskit" -version = "0.22.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" -dependencies = [ - "uuid", -] +version = "0.16.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13-rc#c46afc041b1968a5af0186fa6aba3ea9cf24c8c3" [[package]] name = "accesskit_atspi_common" -version = "0.15.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +version = "0.9.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13-rc#c46afc041b1968a5af0186fa6aba3ea9cf24c8c3" dependencies = [ "accesskit", "accesskit_consumer", "atspi-common", "serde", - "zvariant", + "thiserror 1.0.69", + "zvariant 3.15.2", ] [[package]] name = "accesskit_consumer" -version = "0.32.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +version = "0.24.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13-rc#c46afc041b1968a5af0186fa6aba3ea9cf24c8c3" dependencies = [ "accesskit", - "hashbrown 0.16.1", + "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.23.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +version = "0.17.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13-rc#c46afc041b1968a5af0186fa6aba3ea9cf24c8c3" dependencies = [ "accesskit", "accesskit_consumer", - "hashbrown 0.16.1", "objc2 0.5.2", "objc2-app-kit 0.2.2", "objc2-foundation 0.2.2", + "once_cell", ] [[package]] name = "accesskit_unix" -version = "0.18.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +version = "0.12.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13-rc#c46afc041b1968a5af0186fa6aba3ea9cf24c8c3" dependencies = [ "accesskit", "accesskit_atspi_common", "atspi", - "futures-lite", + "futures-lite 1.13.0", "serde", "tokio", "tokio-stream", - "zbus", + "zbus 3.15.2", ] [[package]] name = "accesskit_windows" -version = "0.30.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +version = "0.22.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13-rc#c46afc041b1968a5af0186fa6aba3ea9cf24c8c3" dependencies = [ "accesskit", "accesskit_consumer", - "hashbrown 0.16.1", + "paste", "static_assertions", - "windows 0.61.3", - "windows-core 0.61.2", + "windows 0.54.0", ] [[package]] name = "accesskit_winit" -version = "0.30.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +version = "0.22.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13-rc#c46afc041b1968a5af0186fa6aba3ea9cf24c8c3" dependencies = [ "accesskit", "accesskit_macos", @@ -176,21 +173,21 @@ checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14" [[package]] name = "alsa" -version = "0.11.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812947049edcd670a82cd5c73c3661d2e58468577ba8489de58e1a73c04cbd5d" +checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" dependencies = [ "alsa-sys", - "bitflags 2.11.1", + "bitflags 2.10.0", "cfg-if", "libc", ] [[package]] name = "alsa-sys" -version = "0.4.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad7569085a265dd3f607ebecce7458eaab2132a84393534c95b18dcbc3f31e04" +checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" dependencies = [ "libc", "pkg-config", @@ -198,21 +195,23 @@ dependencies = [ [[package]] name = "android-activity" -version = "0.6.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.11.1", + "bitflags 2.10.0", "cc", - "jni 0.22.4", + "cesu8", + "jni", + "jni-sys", "libc", "log", "ndk", "ndk-context", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", - "thiserror 2.0.18", + "thiserror 1.0.69", ] [[package]] @@ -232,9 +231,9 @@ dependencies = [ [[package]] name = "anstream" -version = "1.0.0" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -247,15 +246,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.14" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "1.0.0" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] @@ -282,9 +281,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.102" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "apply" @@ -309,12 +308,9 @@ checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" [[package]] name = "arc-swap" -version = "1.9.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" -dependencies = [ - "rustversion", -] +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arg_enum_proc_macro" @@ -324,7 +320,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -365,37 +361,53 @@ dependencies = [ [[package]] name = "ashpd" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f3f79755c74fd155000314eb349864caa787c6592eace6c6882dad873d9c39" +checksum = "6cbdf310d77fd3aaee6ea2093db7011dc2d35d2eb3481e5607f1f8d942ed99df" dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.2", "raw-window-handle", "serde", "serde_repr", "tokio", "url", - "zbus", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "zbus 5.12.0", ] [[package]] name = "ashpd" -version = "0.12.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a3c86f3fd70c0ffa500ed189abfa90b5a52398a45d5dc372fcc38ebeb7a645" +checksum = "da0986d5b4f0802160191ad75f8d33ada000558757db3defb70299ca95d9fcbd" dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.2", "serde", "serde_repr", "tokio", "url", - "zbus", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "zbus 5.12.0", +] + +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener 2.5.3", + "futures-core", ] [[package]] @@ -404,7 +416,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ - "event-listener", + "event-listener 5.4.1", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -424,18 +436,38 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.14.0" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" dependencies = [ "async-task", "concurrent-queue", - "fastrand", - "futures-lite", + "fastrand 2.3.0", + "futures-lite 2.6.1", "pin-project-lite", "slab", ] +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.28", + "slab", + "socket2 0.4.10", + "waker-fn", +] + [[package]] name = "async-io" version = "2.6.0" @@ -446,25 +478,51 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite", + "futures-lite 2.6.1", "parking", - "polling", - "rustix 1.1.4", + "polling 3.11.0", + "rustix 1.1.2", "slab", "windows-sys 0.61.2", ] [[package]] name = "async-lock" -version = "3.4.2" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ - "event-listener", + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" +dependencies = [ + "event-listener 5.4.1", "event-listener-strategy", "pin-project-lite", ] +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.44", + "windows-sys 0.48.0", +] + [[package]] name = "async-process" version = "2.5.0" @@ -472,15 +530,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" dependencies = [ "async-channel", - "async-io", - "async-lock", + "async-io 2.6.0", + "async-lock 3.4.1", "async-signal", "async-task", "blocking", "cfg-if", - "event-listener", - "futures-lite", - "rustix 1.1.4", + "event-listener 5.4.1", + "futures-lite 2.6.1", + "rustix 1.1.2", ] [[package]] @@ -491,22 +549,22 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "async-signal" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" +checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" dependencies = [ - "async-io", - "async-lock", + "async-io 2.6.0", + "async-lock 3.4.1", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 1.1.4", + "rustix 1.1.2", "signal-hook-registry", "slab", "windows-sys 0.61.2", @@ -526,7 +584,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -546,9 +604,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "atomic_refcell" -version = "0.1.14" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e4227379beff4205943696e6c3e0cd809bacdf3f0edd6e3dd153e2269571a4" +checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" [[package]] name = "atomicwrites" @@ -562,65 +620,62 @@ dependencies = [ [[package]] name = "atspi" -version = "0.29.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77886257be21c9cd89a4ae7e64860c6f0eefca799bb79127913052bd0eefb3d" +checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca" dependencies = [ "atspi-common", + "atspi-connection", "atspi-proxies", ] [[package]] name = "atspi-common" -version = "0.13.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c5617155740c98003016429ad13fe43ce7a77b007479350a9f8bf95a29f63d" +checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5" dependencies = [ "enumflags2", "serde", "static_assertions", - "zbus", - "zbus-lockstep", - "zbus-lockstep-macros", - "zbus_names", - "zvariant", + "zbus 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", +] + +[[package]] +name = "atspi-connection" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939" +dependencies = [ + "atspi-common", + "atspi-proxies", + "futures-lite 1.13.0", + "zbus 3.15.2", ] [[package]] name = "atspi-proxies" -version = "0.13.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2230e48787ed3eb4088996eab66a32ca20c0b67bbd4fd6cdfe79f04f1f04c9fc" +checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" dependencies = [ "atspi-common", "serde", - "zbus", -] - -[[package]] -name = "audio_thread_priority" -version = "0.35.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1b4a0adbf971420cca66a75361a1190f34a6762d66361e5cde03dda35d1ed3" -dependencies = [ - "cfg-if", - "dbus", - "libc", - "log", - "mach2 0.4.3", - "windows-sys 0.61.2", + "zbus 3.15.2", ] [[package]] name = "auto_enums" -version = "0.8.8" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65398a2893f41bce5c9259f6e1a4f03fbae40637c1bdc755b4f387f48c613b03" +checksum = "9c170965892137a3a9aeb000b4524aa3cc022a310e709d848b6e1cdce4ab4781" dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -642,9 +697,9 @@ dependencies = [ "log", "num-rational", "num-traits", - "pastey 0.1.1", + "pastey", "rayon", - "thiserror 2.0.18", + "thiserror 2.0.17", "v_frame", "y4m", ] @@ -665,18 +720,18 @@ dependencies = [ [[package]] name = "avif-serialize" -version = "0.8.9" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7178fe5f7d460b13895ebb9dcb28a3a6216d2df2574a0806cb51b555d297f38" +checksum = "47c8fbc0f831f4519fe8b810b6a7a91410ec83031b8233f730a0480029f6a23f" dependencies = [ "arrayvec", ] [[package]] name = "aws-lc-rs" -version = "1.17.0" +version = "1.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ec2f1fc3ec205783a5da9a7e6c1509cc69dedf09a1949e412c1e18469326d00" +checksum = "7b7b6141e96a8c160799cc2d5adecd5cbbe5054cb8c7c4af53da0f83bb7ad256" dependencies = [ "aws-lc-sys", "zeroize", @@ -684,9 +739,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.41.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" +checksum = "5c34dda4df7017c8db52132f0f8a2e0f8161649d15723ed63fc00c82d0f2081a" dependencies = [ "cc", "cmake", @@ -706,7 +761,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -730,6 +785,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a" + [[package]] name = "basic-toml" version = "0.1.10" @@ -739,47 +800,38 @@ dependencies = [ "serde", ] -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bindgen" -version = "0.72.1" +version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "cexpr", "clang-sys", "itertools 0.13.0", "proc-macro2", "quote", "regex", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "shlex", - "syn", + "syn 2.0.111", ] [[package]] name = "bit-set" -version = "0.8.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +checksum = "f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.8.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" [[package]] name = "bit_field" @@ -795,20 +847,20 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ "serde_core", ] [[package]] name = "bitstream-io" -version = "4.10.0" +version = "4.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eff00be299a18769011411c9def0d827e8f2d7bf0c3dbf53633147a8867fd1f" +checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757" dependencies = [ - "no_std_io2", + "core2", ] [[package]] @@ -826,15 +878,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-buffer" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" -dependencies = [ - "hybrid-array", -] - [[package]] name = "block2" version = "0.5.1" @@ -850,7 +893,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" dependencies = [ - "objc2 0.6.4", + "objc2 0.6.3", ] [[package]] @@ -862,29 +905,10 @@ dependencies = [ "async-channel", "async-task", "futures-io", - "futures-lite", + "futures-lite 2.6.1", "piper", ] -[[package]] -name = "borsh" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a" -dependencies = [ - "bytes", - "cfg_aliases 0.2.1", -] - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "tinyvec", -] - [[package]] name = "bstr" version = "1.12.1" @@ -913,9 +937,9 @@ checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64" [[package]] name = "bumpalo" -version = "3.20.2" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "by_address" @@ -925,9 +949,9 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.25.0" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" dependencies = [ "bytemuck_derive", ] @@ -940,7 +964,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -957,40 +981,66 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.11.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" [[package]] name = "calloop" -version = "0.14.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.11.1", - "polling", - "rustix 1.1.4", + "bitflags 2.10.0", + "log", + "polling 3.11.0", + "rustix 0.38.44", + "slab", + "thiserror 1.0.69", +] + +[[package]] +name = "calloop" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb9f6e1368bd4621d2c86baa7e37de77a938adf5221e5dd3d6133340101b309e" +dependencies = [ + "bitflags 2.10.0", + "polling 3.11.0", + "rustix 1.1.2", "slab", "tracing", ] +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop 0.13.0", + "rustix 0.38.44", + "wayland-backend", + "wayland-client", +] + [[package]] name = "calloop-wayland-source" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa" dependencies = [ - "calloop", - "rustix 1.1.4", + "calloop 0.14.3", + "rustix 1.1.2", "wayland-backend", "wayland-client", ] [[package]] name = "cc" -version = "1.2.62" +version = "1.2.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" +checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" dependencies = [ "find-msvc-tools", "jobserver", @@ -1015,9 +1065,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.20.7" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6b04e07d8080154ed4ac03546d9a2b303cc2fe1901ba0b35b301516e289368" +checksum = "21be0e1ce6cdb2ee7fff840f922fb04ead349e5cfb1e750b769132d44ce04720" dependencies = [ "smallvec", "target-lexicon", @@ -1041,27 +1091,18 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" -[[package]] -name = "chacha20" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" -dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", - "rand_core 0.10.1", -] - [[package]] name = "chrono" -version = "0.4.44" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ "iana-time-zone", + "js-sys", "num-traits", "serde", - "windows-link 0.2.1", + "wasm-bindgen", + "windows-link", ] [[package]] @@ -1077,9 +1118,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.1" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" +checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", "clap_derive", @@ -1087,9 +1128,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.6.0" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" dependencies = [ "anstream", "anstyle", @@ -1099,21 +1140,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.1" +version = "4.5.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "clap_lex" -version = "1.1.0" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" +checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" [[package]] name = "clipboard-win" @@ -1127,7 +1168,7 @@ dependencies = [ [[package]] name = "clipboard_macos" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "objc", "objc-foundation", @@ -1137,7 +1178,7 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "dnd", "mime 0.1.0", @@ -1147,7 +1188,7 @@ dependencies = [ [[package]] name = "clipboard_x11" version = "0.4.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "thiserror 1.0.69", "x11rb", @@ -1155,19 +1196,13 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.58" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" dependencies = [ "cc", ] -[[package]] -name = "cmov" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" - [[package]] name = "cocoa" version = "0.25.0" @@ -1179,7 +1214,7 @@ dependencies = [ "cocoa-foundation", "core-foundation 0.9.4", "core-graphics", - "foreign-types 0.5.0", + "foreign-types", "libc", "objc", ] @@ -1193,20 +1228,19 @@ dependencies = [ "bitflags 1.3.2", "block", "core-foundation 0.9.4", - "core-graphics-types 0.1.3", + "core-graphics-types", "libc", "objc", ] [[package]] name = "codespan-reporting" -version = "0.12.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" dependencies = [ - "serde", "termcolor", - "unicode-width 0.2.2", + "unicode-width 0.1.14", ] [[package]] @@ -1217,9 +1251,40 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colorchoice" -version = "1.0.5" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" + +[[package]] +name = "com" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "combine" @@ -1241,10 +1306,10 @@ dependencies = [ ] [[package]] -name = "configparser" -version = "3.1.0" +name = "const-oid" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e57e3272f0190c3f1584272d613719ba5fc7df7f4942fe542e63d949cf3a649b" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "core-foundation" @@ -1280,8 +1345,8 @@ checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "foreign-types 0.5.0", + "core-graphics-types", + "foreign-types", "libc", ] @@ -1296,17 +1361,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core-graphics-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" -dependencies = [ - "bitflags 2.11.1", - "core-foundation 0.10.1", - "libc", -] - [[package]] name = "core-text" version = "20.1.0" @@ -1315,10 +1369,19 @@ checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5" dependencies = [ "core-foundation 0.9.4", "core-graphics", - "foreign-types 0.5.0", + "foreign-types", "libc", ] +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + [[package]] name = "core_maths" version = "0.1.1" @@ -1330,11 +1393,11 @@ dependencies = [ [[package]] name = "coreaudio-rs" -version = "0.14.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5d7dca3ebcf65a035582c9ad4385371a9d9ee6537474d2a278f4e1e475bb58" +checksum = "1aae284fbaf7d27aa0e292f7677dfbe26503b0d555026f702940805a630eac17" dependencies = [ - "bitflags 2.11.1", + "bitflags 1.3.2", "libc", "objc2-audio-toolbox", "objc2-core-audio", @@ -1342,10 +1405,23 @@ dependencies = [ "objc2-core-foundation", ] +[[package]] +name = "cosmic-client-toolkit" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=d0e95be#d0e95be25e423cfe523b11111a3666ed7aaf0dc4" +dependencies = [ + "bitflags 2.10.0", + "cosmic-protocols", + "libc", + "smithay-client-toolkit 0.20.0", + "wayland-client", + "wayland-protocols", +] + [[package]] name = "cosmic-config" -version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1355,60 +1431,86 @@ dependencies = [ "iced_futures", "known-folders", "notify", - "ron 0.12.1", + "ron 0.11.0", "serde", "tokio", "tracing", "xdg", - "zbus", + "zbus 5.12.0", ] [[package]] name = "cosmic-config-derive" -version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "cosmic-freedesktop-icons" version = "0.4.0" -source = "git+https://github.com/pop-os/freedesktop-icons#9c562fe3ecf03241a46a60c0078cd6ea10bd75ce" +source = "git+https://github.com/pop-os/freedesktop-icons#7a61a704f6d1ec41f71cbe766e3cc484858523fa" dependencies = [ "bstr", "btoi", "memchr", - "memmap2", - "thiserror 2.0.18", + "memmap2 0.9.9", + "thiserror 2.0.17", "tracing", "xdg", ] +[[package]] +name = "cosmic-protocols" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=d0e95be#d0e95be25e423cfe523b11111a3666ed7aaf0dc4" +dependencies = [ + "bitflags 2.10.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "wayland-server", +] + +[[package]] +name = "cosmic-settings-config" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#2753b60609a07abb9db6eab3c0f36a52d8347df4" +dependencies = [ + "cosmic-config", + "ron 0.11.0", + "serde", + "serde_with", + "tracing", + "xkbcommon 0.9.0", +] + [[package]] name = "cosmic-settings-daemon" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#507e342c21d3ce6ae41b1d4f3fa2f0ad5ee23e75" +source = "git+https://github.com/pop-os/dbus-settings-bindings#b2337437d70b3db7a56211a43aa1632306711b2d" dependencies = [ - "zbus", + "zbus 5.12.0", ] [[package]] name = "cosmic-text" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be17b688510d934ce13f48a2beba700e11583e281e0fda99c22bb256a14eda73" +version = "0.15.0" +source = "git+https://github.com/pop-os/cosmic-text.git#7051682e70defcab6b683d6e9db07124a6de0df7" dependencies = [ - "bitflags 2.11.1", - "fontdb", + "bitflags 2.10.0", + "fontdb 0.23.0", "harfrust", "linebender_resource_handle", "log", "rangemap", - "rustc-hash 2.1.2", + "rustc-hash 1.1.0", "self_cell", - "skrifa", + "skrifa 0.39.0", "smol_str", "swash", "sys-locale", @@ -1420,49 +1522,44 @@ dependencies = [ [[package]] name = "cosmic-theme" -version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "almost", - "configparser", "cosmic-config", "csscolorparser", "dirs", "palette", - "ron 0.12.1", + "ron 0.11.0", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.17", ] [[package]] name = "cpal" -version = "0.18.0" -source = "git+https://github.com/RustAudio/cpal#2c7acf8ed42b6523f319145a8be256c446df5939" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd307f43cc2a697e2d1f8bc7a1d824b5269e052209e28883e5bc04d095aaa3f" dependencies = [ "alsa", - "audio_thread_priority", - "block2 0.6.2", "coreaudio-rs", "dasp_sample", - "jni 0.21.1", + "jni", "js-sys", "libc", - "mach2 0.6.0", + "mach2", "ndk", "ndk-context", "num-derive", "num-traits", - "objc2 0.6.4", "objc2-audio-toolbox", - "objc2-avf-audio", "objc2-core-audio", "objc2-core-audio-types", - "objc2-core-foundation", - "objc2-foundation 0.3.2", + "wasm-bindgen", + "wasm-bindgen-futures", "web-sys", - "windows 0.62.2", - "windows-core 0.62.2", + "windows 0.54.0", ] [[package]] @@ -1474,15 +1571,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cpufeatures" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" -dependencies = [ - "libc", -] - [[package]] name = "crc" version = "3.4.0" @@ -1494,9 +1582,9 @@ dependencies = [ [[package]] name = "crc-catalog" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" @@ -1559,18 +1647,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" -[[package]] -name = "cryoglyph" -version = "0.1.0" -source = "git+https://github.com/iced-rs/cryoglyph.git?rev=e429a025df36ab8145708acb309080ae3deec17a#e429a025df36ab8145708acb309080ae3deec17a" -dependencies = [ - "cosmic-text", - "etagere", - "lru", - "rustc-hash 2.1.2", - "wgpu", -] - [[package]] name = "crypto-common" version = "0.1.7" @@ -1581,15 +1657,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-common" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" -dependencies = [ - "hybrid-array", -] - [[package]] name = "css-color" version = "0.2.8" @@ -1598,14 +1665,12 @@ checksum = "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a" [[package]] name = "csscolorparser" -version = "0.8.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199f851bd3cb5004c09474252c7f74e7c047441ed0979bf3688a7106a13da952" +checksum = "5fda6aace1fbef3aa217b27f4c8d7d071ef2a70a5ca51050b1f17d40299d3f16" dependencies = [ - "num-traits", - "phf 0.13.1", + "phf 0.11.3", "serde", - "uncased", ] [[package]] @@ -1628,26 +1693,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn", + "syn 2.0.111", ] [[package]] -name = "ctor" -version = "0.10.1" +name = "ctor-lite" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83cf0d42651b16c6dfe68685716d18480d18a9c39c62d76e8cf3eb6ed5d8bcbf" -dependencies = [ - "dtor", -] - -[[package]] -name = "ctutils" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" -dependencies = [ - "cmov", -] +checksum = "1f791803201ab277ace03903de1594460708d2d54df6053f2d9e82f592b19e3b" [[package]] name = "cursor-icon" @@ -1655,6 +1708,27 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" +[[package]] +name = "d3d12" +version = "22.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017" +dependencies = [ + "bitflags 2.10.0", + "libloading", + "winapi", +] + +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core 0.20.11", + "darling_macro 0.20.11", +] + [[package]] name = "darling" version = "0.21.3" @@ -1666,13 +1740,17 @@ dependencies = [ ] [[package]] -name = "darling" -version = "0.23.0" +name = "darling_core" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ - "darling_core 0.23.0", - "darling_macro 0.23.0", + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.111", ] [[package]] @@ -1686,20 +1764,18 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn", + "syn 2.0.111", ] [[package]] -name = "darling_core" -version = "0.23.0" +name = "darling_macro" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "ident_case", - "proc-macro2", + "darling_core 0.20.11", "quote", - "strsim", - "syn", + "syn 2.0.111", ] [[package]] @@ -1710,18 +1786,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" -dependencies = [ - "darling_core 0.23.0", - "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -1732,9 +1797,9 @@ checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" [[package]] name = "data-encoding" -version = "2.11.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "data-url" @@ -1743,25 +1808,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" [[package]] -name = "dbus" -version = "0.6.5" +name = "der" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48b5f0f36f1eebe901b0e6bee369a77ed3396334bf3f09abd46454a576f71819" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "libc", - "libdbus-sys", + "const-oid", + "pem-rfc7468", + "zeroize", ] [[package]] name = "deranged" -version = "0.5.8" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", "serde_core", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_more" version = "2.1.1" @@ -1780,31 +1857,31 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn", + "syn 2.0.111", "unicode-xid", ] [[package]] name = "derive_setters" -version = "0.1.9" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e6f6fa1f03c14ae082120b84b3c7fbd7b8588d924cf2d7c3daf9afd49df8b9" +checksum = "ae5c625eda104c228c06ecaf988d1c60e542176bd7a490e60eeda3493244c0c9" dependencies = [ - "darling 0.21.3", + "darling 0.20.11", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "derive_utils" -version = "0.15.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "362f47930db19fe7735f527e6595e4900316b893ebf6d48ad3d31be928d57dd6" +checksum = "ccfae181bab5ab6c5478b2ccb69e4c68a02f8c3ec72f6616bfec9dbc599d2ee0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -1819,19 +1896,10 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", - "crypto-common 0.1.7", -] - -[[package]] -name = "digest" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" -dependencies = [ - "block-buffer 0.12.0", - "crypto-common 0.2.2", - "ctutils", + "block-buffer", + "const-oid", + "crypto-common", + "subtle", ] [[package]] @@ -1856,15 +1924,21 @@ dependencies = [ ] [[package]] -name = "dispatch2" -version = "0.3.1" +name = "dispatch" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block2 0.6.2", "libc", - "objc2 0.6.4", + "objc2 0.6.3", ] [[package]] @@ -1875,14 +1949,14 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "dlib" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ "libloading", ] @@ -1890,12 +1964,12 @@ dependencies = [ [[package]] name = "dnd" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "mime 0.1.0", "raw-window-handle", - "smithay-client-toolkit", + "smithay-client-toolkit 0.19.2", "smithay-clipboard", ] @@ -1922,8 +1996,8 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dpi" -version = "0.1.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +version = "0.1.1" +source = "git+https://github.com/pop-os/winit.git?tag=iced-xdg-surface-0.13-rc#12a5f17d1811cdebbcbd310a3d92965e9142fa12" [[package]] name = "drm" @@ -1931,7 +2005,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "bytemuck", "drm-ffi", "drm-fourcc", @@ -1979,12 +2053,6 @@ dependencies = [ "dtoa", ] -[[package]] -name = "dtor" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf234dd1594d6dd434a8fb8cada51ddbbc593e40e4a01556a0b31c62da2775b" - [[package]] name = "dunce" version = "1.0.5" @@ -2063,7 +2131,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -2083,7 +2151,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -2120,23 +2188,41 @@ dependencies = [ [[package]] name = "etcetera" -version = "0.11.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de48cc4d1c1d97a20fd819def54b890cadde72ed3ad0c614822a0a433361be96" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" dependencies = [ "cfg-if", - "windows-sys 0.61.2", + "home", + "windows-sys 0.48.0", ] [[package]] name = "euclid" -version = "0.22.14" +version = "0.22.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06" +checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" dependencies = [ "num-traits", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + [[package]] name = "event-listener" version = "5.4.1" @@ -2154,7 +2240,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener", + "event-listener 5.4.1", "pin-project-lite", ] @@ -2187,15 +2273,38 @@ checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" [[package]] name = "fastrand" -version = "2.4.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fax" -version = "0.2.7" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a" +checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab" +dependencies = [ + "fax_derive", +] + +[[package]] +name = "fax_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] [[package]] name = "fd-lock" @@ -2204,7 +2313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78" dependencies = [ "cfg-if", - "rustix 1.1.4", + "rustix 1.1.2", "windows-sys 0.59.0", ] @@ -2219,12 +2328,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.29" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" +checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" dependencies = [ "cfg-if", "libc", + "libredox", + "windows-sys 0.60.2", ] [[package]] @@ -2238,15 +2349,15 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.9" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" [[package]] name = "flate2" -version = "1.1.9" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "miniz_oxide", @@ -2258,15 +2369,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -[[package]] -name = "float-cmp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" -dependencies = [ - "num-traits", -] - [[package]] name = "float-ord" version = "0.3.2" @@ -2299,7 +2401,7 @@ dependencies = [ "fluent-syntax", "intl-memoizer", "intl_pluralrules", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "self_cell", "smallvec", "unic-langid", @@ -2321,14 +2423,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" dependencies = [ "memchr", - "thiserror 2.0.18", + "thiserror 2.0.17", ] [[package]] name = "flume" -version = "0.12.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" dependencies = [ "futures-core", "futures-sink", @@ -2347,19 +2449,13 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" -[[package]] -name = "foldhash" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" - [[package]] name = "font-kit" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c7e611d49285d4c4b2e1727b72cf05353558885cc5252f93707b845dfcaf3d3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "byteorder", "core-foundation 0.9.4", "core-graphics", @@ -2380,9 +2476,9 @@ dependencies = [ [[package]] name = "font-types" -version = "0.11.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7" +checksum = "39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5" dependencies = [ "bytemuck", ] @@ -2393,7 +2489,21 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" dependencies = [ - "roxmltree 0.20.0", + "roxmltree", +] + +[[package]] +name = "fontdb" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e32eac81c1135c1df01d4e6d4233c47ba11f6a6d07f33e0bba09d18797077770" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2 0.9.9", + "slotmap", + "tinyvec", + "ttf-parser 0.21.1", ] [[package]] @@ -2404,19 +2514,10 @@ checksum = "457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905" dependencies = [ "fontconfig-parser", "log", - "memmap2", + "memmap2 0.9.9", "slotmap", "tinyvec", - "ttf-parser", -] - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared 0.1.1", + "ttf-parser 0.25.1", ] [[package]] @@ -2426,7 +2527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared 0.3.1", + "foreign-types-shared", ] [[package]] @@ -2437,15 +2538,9 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -2461,6 +2556,21 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "freedesktop-desktop-entry" +version = "0.7.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528df05c8ed0bfd569c7018914ba1995be2a133ba9ead17628ddb0ff94b86331" +dependencies = [ + "bstr", + "gettext-rs", + "log", + "memchr", + "thiserror 2.0.17", + "unicase", + "xdg", +] + [[package]] name = "freetype-sys" version = "0.20.1" @@ -2499,9 +2609,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -2514,9 +2624,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2524,19 +2634,20 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", "futures-util", + "num_cpus", ] [[package]] @@ -2547,14 +2658,29 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot", + "parking_lot 0.12.5", ] [[package]] name = "futures-io" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] [[package]] name = "futures-lite" @@ -2562,7 +2688,7 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ - "fastrand", + "fastrand 2.3.0", "futures-core", "futures-io", "parking", @@ -2571,32 +2697,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "futures-sink" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2606,6 +2732,7 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", + "pin-utils", "slab", ] @@ -2625,8 +2752,8 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" dependencies = [ - "rustix 1.1.4", - "windows-link 0.2.1", + "rustix 1.1.2", + "windows-link", ] [[package]] @@ -2640,9 +2767,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.17" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", @@ -2660,23 +2787,29 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi 5.3.0", + "r-efi", "wasip2", "wasm-bindgen", ] [[package]] -name = "getrandom" -version = "0.4.2" +name = "gettext-rs" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "5d5857dc1b7f0fee86961de833f434e29494d72af102ce5355738c0664222bdf" dependencies = [ - "cfg-if", - "libc", - "r-efi 6.0.0", - "rand_core 0.10.1", - "wasip2", - "wasip3", + "gettext-sys", + "locale_config", +] + +[[package]] +name = "gettext-sys" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea859ab0dd7e70ff823032b3e077d03d39c965d68c6c10775add60e999d8ee9" +dependencies = [ + "cc", + "temp-dir", ] [[package]] @@ -2691,9 +2824,9 @@ dependencies = [ [[package]] name = "gif" -version = "0.14.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" +checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" dependencies = [ "color_quant", "weezl", @@ -2707,15 +2840,15 @@ checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "gio-sys" -version = "0.22.0" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64729ba2772c080448f9f966dba8f4456beeb100d8c28a865ef8a0f2ef4987e1" +checksum = "521e93a7e56fc89e84aea9a52cfc9436816a4b363b030260b699950ff1336c83" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2737,11 +2870,11 @@ checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" [[package]] name = "glib" -version = "0.22.7" +version = "0.20.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c207e04e51605dcf7b2924c41591b3a10e1438eaac5bcf448fb91f325381104a" +checksum = "ffc4b6e352d4716d84d7dde562dd9aee2a7d48beb872dd9ece7f2d1515b2d683" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "futures-channel", "futures-core", "futures-executor", @@ -2758,21 +2891,22 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.22.6" +version = "0.20.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "506d23499707c7142898429757e8d9a3871d965239a2cb66dfa05052be6d6f19" +checksum = "e8084af62f09475a3f529b1629c10c429d7600ee1398ae12dd3bf175d74e7145" dependencies = [ "heck 0.5.0", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "glib-sys" -version = "0.22.6" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7fbac234ed5bc2a28359b7bde8e1b9cdf1441cc2d7f068e4824672d7db9445" +checksum = "8ab79e1ed126803a8fb827e3de0e2ff95191912b8db65cee467edb56fc4cc215" dependencies = [ "libc", "system-deps", @@ -2786,9 +2920,9 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "glow" -version = "0.16.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" dependencies = [ "js-sys", "slotmap", @@ -2807,9 +2941,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.22.6" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a861859b887a79cf461359c192c97a57d8fb0229dd291232e57aa11f6fa72c" +checksum = "ec9aca94bb73989e3cfdbf8f2e0f1f6da04db4d291c431f444838925c4c63eda" dependencies = [ "glib-sys", "libc", @@ -2817,17 +2951,35 @@ dependencies = [ ] [[package]] -name = "gpu-allocator" -version = "0.28.0" +name = "gpu-alloc" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51255ea7cfaadb6c5f1528d43e92a82acb2b96c43365989a28b2d44ee38f8795" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.10.0", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "gpu-allocator" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd4240fc91d3433d5e5b0fc5b67672d771850dc19bbee03c1381e19322803d7" dependencies = [ - "ash", - "hashbrown 0.16.1", "log", "presser", - "thiserror 2.0.18", - "windows 0.62.2", + "thiserror 1.0.69", + "winapi", + "windows 0.52.0", ] [[package]] @@ -2836,7 +2988,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2847,20 +2999,20 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", ] [[package]] name = "grid" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40ca9252762c466af32d0b1002e91e4e1bc5398f77455e55474deb466355ff5" +checksum = "f9e2d4c0a8296178d8802098410ca05d86b17a10bb5ab559b3fb404c1f948220" [[package]] name = "gstreamer" -version = "0.25.2" +version = "0.23.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28ca0c594cac4e86f5444aaa767c7bb810340c0710667a6467d3ead248e35e84" +checksum = "8757a87f3706560037a01a9f06a59fcc7bdb0864744dcf73546606e60c4316e1" dependencies = [ "cfg-if", "futures-channel", @@ -2869,23 +3021,23 @@ dependencies = [ "glib", "gstreamer-sys", "itertools 0.14.0", - "kstring", "libc", "muldiv", "num-integer", "num-rational", + "once_cell", "option-operations", - "pastey 0.2.2", + "paste", "pin-project-lite", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.17", ] [[package]] name = "gstreamer-app" -version = "0.25.2" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f8ae9238c2352398dcc084de28df3f7099af216ac6c160b52318d23f25c010" +checksum = "2e9a883eb21aebcf1289158225c05f7aea5da6ecf71fa7f0ff1ce4d25baf004e" dependencies = [ "futures-core", "futures-sink", @@ -2898,9 +3050,9 @@ dependencies = [ [[package]] name = "gstreamer-app-sys" -version = "0.25.0" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a74a8211e5d7df2f45b612c284ddf56b92bdf4e879e8ed72e7c46dd0842e158" +checksum = "94f7ef838306fe51852d503a14dc79ac42de005a59008a05098de3ecdaf05455" dependencies = [ "glib-sys", "gstreamer-base-sys", @@ -2911,9 +3063,9 @@ dependencies = [ [[package]] name = "gstreamer-audio" -version = "0.25.2" +version = "0.23.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cdd06eb9c901b05902c55d106034319e2d730179744867564198d17c8486ed2" +checksum = "2e7ec7e0374298897e669db7c79544bc44df12011985e7dd5f38644edaf2caf4" dependencies = [ "cfg-if", "glib", @@ -2921,14 +3073,15 @@ dependencies = [ "gstreamer-audio-sys", "gstreamer-base", "libc", + "once_cell", "smallvec", ] [[package]] name = "gstreamer-audio-sys" -version = "0.25.2" +version = "0.23.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d25892ad6fdd898936ca338d46d8632b298470ecc3eb82098e330ed2cdaec5d" +checksum = "2b5f3e09e7c04ec91d78c2a6ca78d50b574b9ed49fdf5e72f3693adca4306a87" dependencies = [ "glib-sys", "gobject-sys", @@ -2940,9 +3093,9 @@ dependencies = [ [[package]] name = "gstreamer-base" -version = "0.25.2" +version = "0.23.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c279df2918be97fb9570e589a32ade33598f643b0c4f0c92c17f06be6940574e" +checksum = "f19a74fd04ffdcb847dd322640f2cf520897129d00a7bcb92fd62a63f3e27404" dependencies = [ "atomic_refcell", "cfg-if", @@ -2954,9 +3107,9 @@ dependencies = [ [[package]] name = "gstreamer-base-sys" -version = "0.25.0" +version = "0.23.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6569606feeb89cfcf95a6476a64a0f0aec83fadcef0e91c24e576f7851ceac3a" +checksum = "87f2fb0037b6d3c5b51f60dea11e667910f33be222308ca5a101450018a09840" dependencies = [ "glib-sys", "gobject-sys", @@ -2967,9 +3120,9 @@ dependencies = [ [[package]] name = "gstreamer-pbutils" -version = "0.25.2" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2230395c2bf062b2538350e6a962b1ff5888f1b29cd65cd1d96dfd5ff74dfb66" +checksum = "acf4bf5857fa22f910634e86a5bce33b5581a9e90caa4e32fd4a20bdd4c83ed0" dependencies = [ "glib", "gstreamer", @@ -2977,14 +3130,14 @@ dependencies = [ "gstreamer-pbutils-sys", "gstreamer-video", "libc", - "thiserror 2.0.18", + "thiserror 2.0.17", ] [[package]] name = "gstreamer-pbutils-sys" -version = "0.25.2" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eefc07f8f23ca04fae932accefcf22059060b4e3fd41c6445a502cd31c1350b6" +checksum = "304101f5fccbbe41e0169536777ddb7680c2c837e18575c22b30fc20cedfb76f" dependencies = [ "glib-sys", "gobject-sys", @@ -2997,11 +3150,10 @@ dependencies = [ [[package]] name = "gstreamer-sys" -version = "0.25.2" +version = "0.23.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533fa8d28fc830eafccbcfcfddb390563ea5d3a351af2c3aab99e197e5f5b1ba" +checksum = "feea73b4d92dbf9c24a203c9cd0bcc740d584f6b5960d5faf359febf288919b2" dependencies = [ - "cfg-if", "glib-sys", "gobject-sys", "libc", @@ -3010,9 +3162,9 @@ dependencies = [ [[package]] name = "gstreamer-video" -version = "0.25.2" +version = "0.23.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf728cb21499561ea0d6ce584e550bf2b98b279cc7741067ee42f41f98b486e" +checksum = "1318b599d77ca4f7702ecbdeac1672d6304cb16b7e5752fabb3ee8260449a666" dependencies = [ "cfg-if", "futures-channel", @@ -3021,14 +3173,15 @@ dependencies = [ "gstreamer-base", "gstreamer-video-sys", "libc", - "thiserror 2.0.18", + "once_cell", + "thiserror 2.0.17", ] [[package]] name = "gstreamer-video-sys" -version = "0.25.2" +version = "0.23.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c2c997a90a5806a8d7fcb416755e3047d6bab8f580d2ededc9ab7ad553caf" +checksum = "0a70f0947f12d253b9de9bc3fd92f981e4d025336c18389c7f08cdf388a99f5c" dependencies = [ "glib-sys", "gobject-sys", @@ -3050,9 +3203,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.14" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "171fefbc92fe4a4de27e0698d6a5b392d6a0e333506bc49133760b3bcf948733" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", @@ -3060,7 +3213,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.14.0", + "indexmap 2.12.1", "slab", "tokio", "tokio-util", @@ -3075,20 +3228,19 @@ checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ "cfg-if", "crunchy", - "num-traits", "zerocopy", ] [[package]] name = "harfrust" -version = "0.5.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9da2e5ae821f6e96664977bf974d6d6a2d6682f9ccee23e62ec1d134246845f9" +checksum = "e0caaee032384c10dd597af4579c67dee16650d862a9ccbe1233ff1a379abc07" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "bytemuck", "core_maths", - "read-fonts", + "read-fonts 0.36.0", "smallvec", ] @@ -3104,7 +3256,9 @@ version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "foldhash 0.1.5", + "allocator-api2", + "equivalent", + "foldhash", ] [[package]] @@ -3112,25 +3266,29 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.2.0", -] - -[[package]] -name = "hashbrown" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "hassle-rs" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "hashbrown 0.16.1", + "bitflags 2.10.0", + "com", + "libc", + "libloading", + "thiserror 1.0.69", + "widestring", + "winapi", ] [[package]] @@ -3145,6 +3303,12 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + [[package]] name = "hermit-abi" version = "0.5.2" @@ -3165,20 +3329,20 @@ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] name = "hkdf" -version = "0.13.0" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac", ] [[package]] name = "hmac" -version = "0.13.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.11.3", + "digest", ] [[package]] @@ -3248,20 +3412,11 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" -[[package]] -name = "hybrid-array" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" -dependencies = [ - "typenum", -] - [[package]] name = "hyper" -version = "1.9.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ "atomic-waker", "bytes", @@ -3273,6 +3428,7 @@ dependencies = [ "httparse", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -3280,44 +3436,30 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.9" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ "http", "hyper", "hyper-util", "rustls", + "rustls-pki-types", "tokio", "tokio-rustls", "tower-service", ] -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - [[package]] name = "hyper-util" -version = "0.1.20" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", "http", "http-body", @@ -3326,7 +3468,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.6.1", "system-configuration", "tokio", "tower-service", @@ -3361,7 +3503,7 @@ dependencies = [ "i18n-embed-impl", "intl-memoizer", "log", - "parking_lot", + "parking_lot 0.12.5", "rust-embed", "sys-locale", "thiserror 1.0.69", @@ -3384,7 +3526,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn", + "syn 2.0.111", "unic-langid", ] @@ -3398,14 +3540,14 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "iana-time-zone" -version = "0.1.65" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3427,115 +3569,88 @@ dependencies = [ [[package]] name = "iced" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "dnd", "iced_accessibility", "iced_core", - "iced_debug", - "iced_devtools", "iced_futures", - "iced_program", "iced_renderer", - "iced_runtime", "iced_widget", "iced_winit", "image", "mime 0.1.0", - "thiserror 2.0.18", + "thiserror 1.0.69", "window_clipboard", ] [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "accesskit", "accesskit_winit", ] -[[package]] -name = "iced_beacon" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" -dependencies = [ - "bincode", - "futures", - "iced_core", - "log", - "semver", - "serde", - "thiserror 2.0.18", - "tokio", -] - [[package]] name = "iced_core" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "bytes", + "cosmic-client-toolkit", "dnd", "glam", - "lilt", + "iced_accessibility", "log", "mime 0.1.0", "num-traits", + "once_cell", "palette", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "serde", "smol_str", - "thiserror 2.0.18", + "thiserror 1.0.69", "web-time", "window_clipboard", ] -[[package]] -name = "iced_debug" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" -dependencies = [ - "iced_beacon", - "iced_core", - "iced_futures", - "log", -] - -[[package]] -name = "iced_devtools" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" -dependencies = [ - "iced_debug", - "iced_program", - "iced_widget", - "log", -] - [[package]] name = "iced_futures" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "futures", "iced_core", "log", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "tokio", "wasm-bindgen-futures", - "wasmtimer", + "wasm-timer", +] + +[[package]] +name = "iced_glyphon" +version = "0.6.0" +source = "git+https://github.com/pop-os/glyphon.git?tag=iced-0.14-dev#6ef9d12a20cfd0f7bdf38136a26ded9f7459ec8b" +dependencies = [ + "cosmic-text", + "etagere", + "lru", + "rustc-hash 2.1.1", + "wgpu", ] [[package]] name = "iced_graphics" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "bytemuck", "cosmic-text", "half", @@ -3545,68 +3660,61 @@ dependencies = [ "kamadak-exif", "log", "lyon_path", + "once_cell", "raw-window-handle", - "rustc-hash 2.1.2", - "thiserror 2.0.18", + "rustc-hash 2.1.1", + "thiserror 1.0.69", "unicode-segmentation", ] -[[package]] -name = "iced_program" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" -dependencies = [ - "iced_graphics", - "iced_runtime", -] - [[package]] name = "iced_renderer" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "iced_graphics", "iced_tiny_skia", "iced_wgpu", "log", - "thiserror 2.0.18", + "thiserror 1.0.69", ] [[package]] name = "iced_runtime" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "bytes", + "cosmic-client-toolkit", "dnd", + "iced_accessibility", "iced_core", "iced_futures", "raw-window-handle", - "thiserror 2.0.18", + "thiserror 1.0.69", "window_clipboard", ] [[package]] name = "iced_tiny_skia" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "bytemuck", "cosmic-text", - "iced_debug", "iced_graphics", "kurbo 0.10.4", "log", - "resvg", - "rustc-hash 2.1.2", + "resvg 0.42.0", + "rustc-hash 2.1.1", "softbuffer", - "tiny-skia 0.11.4", + "tiny-skia", ] [[package]] name = "iced_video_player" version = "0.6.0" -source = "git+https://github.com/wash2/iced_video_player.git?branch=iced-rebase#cb3635192f3dec37619855c904a168ca37a3dac3" +source = "git+https://github.com/jackpot51/iced_video_player.git?branch=cosmic#ff37a34f99814597db0e265e172dd5a85a03394a" dependencies = [ "glib", "gstreamer", @@ -3614,34 +3722,34 @@ dependencies = [ "gstreamer-base", "gstreamer-pbutils", "html-escape", - "iced_wgpu", "libcosmic", "log", - "thiserror 2.0.18", + "thiserror 1.0.69", "url", ] [[package]] name = "iced_wgpu" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "as-raw-xcb-connection", - "bitflags 2.11.1", + "bitflags 2.10.0", "bytemuck", - "cryoglyph", + "cosmic-client-toolkit", "futures", "glam", "guillotiere", - "iced_debug", + "iced_glyphon", "iced_graphics", "log", "lyon", + "once_cell", "raw-window-handle", - "resvg", - "rustc-hash 2.1.2", + "resvg 0.42.0", + "rustc-hash 2.1.1", "rustix 0.38.44", - "thiserror 2.0.18", + "thiserror 1.0.69", "tiny-xlib", "wayland-backend", "wayland-client", @@ -3653,55 +3761,62 @@ dependencies = [ [[package]] name = "iced_widget" -version = "0.14.2" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ + "cosmic-client-toolkit", "dnd", + "iced_accessibility", "iced_renderer", "iced_runtime", "log", "num-traits", + "once_cell", "ouroboros", - "rustc-hash 2.1.2", - "thiserror 2.0.18", + "rustc-hash 2.1.1", + "thiserror 1.0.69", "unicode-segmentation", "window_clipboard", ] [[package]] name = "iced_winit" -version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ - "cursor-icon", + "cosmic-client-toolkit", "dnd", - "iced_debug", + "iced_accessibility", "iced_futures", "iced_graphics", - "iced_program", "iced_runtime", "log", - "rustc-hash 2.1.2", + "raw-window-handle", + "rustc-hash 2.1.1", "rustix 0.38.44", - "thiserror 2.0.18", + "thiserror 1.0.69", + "tracing", "wasm-bindgen-futures", + "wayland-backend", "wayland-client", + "wayland-protocols", "web-sys", "winapi", "window_clipboard", "winit", - "winit-core", + "xkbcommon 0.7.0", + "xkbcommon-dl", + "xkeysym", ] [[package]] name = "icu_collections" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", - "utf8_iter", "yoke", "zerofrom", "zerovec", @@ -3709,9 +3824,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -3722,9 +3837,9 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -3736,15 +3851,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", @@ -3756,15 +3871,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", @@ -3775,12 +3890,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - [[package]] name = "ident_case" version = "1.0.1" @@ -3800,9 +3909,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -3810,26 +3919,26 @@ dependencies = [ [[package]] name = "image" -version = "0.25.10" +version = "0.25.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" dependencies = [ "bytemuck", "byteorder-lite", "color_quant", "exr", - "gif 0.14.2", + "gif 0.14.1", "image-webp", "moxcms", "num-traits", - "png 0.18.1", + "png 0.18.0", "qoi", "ravif", "rayon", "rgb", "tiff", - "zune-core 0.5.1", - "zune-jpeg 0.5.15", + "zune-core 0.5.0", + "zune-jpeg 0.5.7", ] [[package]] @@ -3842,6 +3951,12 @@ dependencies = [ "quick-error", ] +[[package]] +name = "imagesize" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" + [[package]] name = "imagesize" version = "0.13.0" @@ -3849,16 +3964,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" [[package]] -name = "imagesize" -version = "0.14.0" +name = "imgref" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c" +checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8" [[package]] -name = "imgref" -version = "1.12.1" +name = "immutable-chunkmap" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40fac9d56ed6437b198fddba683305e8e2d651aa42647f00f5ae542e7f5c94a2" +checksum = "9a3e98b1520e49e252237edc238a39869da9f3241f2ec19dc788c1d24694d1e4" +dependencies = [ + "arrayvec", +] [[package]] name = "indexmap" @@ -3873,23 +3991,23 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.14.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ "equivalent", - "hashbrown 0.17.1", + "hashbrown 0.16.1", "serde", "serde_core", ] [[package]] name = "inotify" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" +checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "inotify-sys", "libc", ] @@ -3903,6 +4021,15 @@ dependencies = [ "libc", ] +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + [[package]] name = "interpolate_name" version = "0.2.4" @@ -3911,7 +4038,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -3934,10 +4061,31 @@ dependencies = [ ] [[package]] -name = "ipnet" -version = "2.12.0" +name = "io-lifetimes" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +dependencies = [ + "memchr", + "serde", +] [[package]] name = "is_ci" @@ -3971,50 +4119,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.18" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" - -[[package]] -name = "jiff" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" -dependencies = [ - "jiff-static", - "jiff-tzdb-platform", - "log", - "portable-atomic", - "portable-atomic-util", - "serde_core", - "windows-sys 0.61.2", -] - -[[package]] -name = "jiff-static" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "jiff-tzdb" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076" - -[[package]] -name = "jiff-tzdb-platform" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" -dependencies = [ - "jiff-tzdb", -] +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jni" @@ -4025,70 +4132,18 @@ dependencies = [ "cesu8", "cfg-if", "combine", - "jni-sys 0.3.1", + "jni-sys", "log", "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] -[[package]] -name = "jni" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" -dependencies = [ - "cfg-if", - "combine", - "jni-macros", - "jni-sys 0.4.1", - "log", - "simd_cesu8", - "thiserror 2.0.18", - "walkdir", - "windows-link 0.2.1", -] - -[[package]] -name = "jni-macros" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "simd_cesu8", - "syn", -] - [[package]] name = "jni-sys" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" -dependencies = [ - "jni-sys 0.4.1", -] - -[[package]] -name = "jni-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" -dependencies = [ - "jni-sys-macros", -] - -[[package]] -name = "jni-sys-macros" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" -dependencies = [ - "quote", - "syn", -] +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" @@ -4101,36 +4156,30 @@ dependencies = [ ] [[package]] -name = "js-sys" -version = "0.3.98" +name = "jpeg-decoder" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" +checksum = "00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07" + +[[package]] +name = "js-sys" +version = "0.3.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ - "cfg-if", - "futures-util", "once_cell", "wasm-bindgen", ] [[package]] name = "kamadak-exif" -version = "0.6.1" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1130d80c7374efad55a117d715a3af9368f0fa7a2c54573afc15a188cd984837" +checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077" dependencies = [ "mutate_once", ] -[[package]] -name = "keyboard-types" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d" -dependencies = [ - "bitflags 2.11.1", - "serde", -] - [[package]] name = "khronos-egl" version = "6.0.0" @@ -4150,9 +4199,9 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "known-folders" -version = "1.4.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a1886916523694cd6ea3d175f03a1e5010699a2a4cc13696d83d7bea1d80638" +checksum = "d463f34ca3c400fde3a054da0e0b8c6ffa21e4590922f3e18281bb5eeef4cbdc" dependencies = [ "windows-sys 0.61.2", ] @@ -4169,23 +4218,14 @@ dependencies = [ [[package]] name = "kqueue-sys" -version = "1.1.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285efcf12ef41bec907b3000d5ffaeb54191d4d9d83c0d6157e6cbc2db255e64" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" dependencies = [ - "bitflags 2.11.1", + "bitflags 1.3.2", "libc", ] -[[package]] -name = "kstring" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" -dependencies = [ - "static_assertions", -] - [[package]] name = "kurbo" version = "0.10.4" @@ -4207,29 +4247,14 @@ dependencies = [ "smallvec", ] -[[package]] -name = "kurbo" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b60dfc32f652b926df6192e55525b16d186c69d47876c3ead4da5cc9f8450e2" -dependencies = [ - "arrayvec", - "euclid", - "polycool", - "smallvec", -] - [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +dependencies = [ + "spin", +] [[package]] name = "lebe" @@ -4239,29 +4264,33 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" [[package]] name = "libc" -version = "0.2.186" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libcosmic" -version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#2aa9133f9d3334e8f77bd596c67727a2698e8bed" +version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic#aabc8dcda530a6ac70617dd578cea55910af53c8" dependencies = [ "apply", - "ashpd 0.12.3", + "ashpd 0.12.0", "auto_enums", + "chrono", + "cosmic-client-toolkit", "cosmic-config", "cosmic-freedesktop-icons", + "cosmic-settings-config", "cosmic-settings-daemon", "cosmic-theme", "css-color", "derive_setters", - "float-cmp 0.10.0", + "freedesktop-desktop-entry", "futures", "i18n-embed", "i18n-embed-fl", "iced", + "iced_accessibility", "iced_core", "iced_futures", "iced_renderer", @@ -4271,37 +4300,32 @@ dependencies = [ "iced_widget", "iced_winit", "image", - "jiff", + "libc", "log", + "mime 0.3.17", "palette", "phf 0.13.1", + "raw-window-handle", "rfd", "rust-embed", + "rustix 1.1.2", "serde", + "shlex", "slotmap", "taffy", - "thiserror 2.0.18", + "thiserror 2.0.17", "tokio", "tracing", "unicode-segmentation", "url", - "zbus", -] - -[[package]] -name = "libdbus-sys" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "328c4789d42200f1eeec05bd86c9c13c7f091d2ba9a6ea35acdf51f31bc0f043" -dependencies = [ - "pkg-config", + "zbus 5.12.0", ] [[package]] name = "libfuzzer-sys" -version = "0.4.12" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" +checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" dependencies = [ "arbitrary", "cc", @@ -4314,25 +4338,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link 0.2.1", + "windows-link", ] [[package]] name = "libm" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.16" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "libc", - "plain", - "redox_syscall 0.7.5", + "redox_syscall 0.5.18", ] [[package]] @@ -4346,21 +4369,18 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "lilt" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f67562e5eff6b20553fa9be1c503356768420994e28f67e3eafe6f41910e57ad" -dependencies = [ - "web-time", -] - [[package]] name = "linebender_resource_handle" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4" +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -4375,15 +4395,15 @@ checksum = "2a385b1be4e5c3e362ad2ffa73c392e53f031eaa5b7d648e64cd87f27f6063d7" [[package]] name = "linux-raw-sys" -version = "0.12.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "litrs" @@ -4391,6 +4411,19 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +[[package]] +name = "locale_config" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934" +dependencies = [ + "lazy_static", + "objc", + "objc-foundation", + "regex", + "winapi", +] + [[package]] name = "lock_api" version = "0.4.14" @@ -4417,9 +4450,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.16.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" [[package]] name = "lru-slab" @@ -4435,46 +4468,43 @@ dependencies = [ "crisp", "derive_more", "dirs", - "fastrand", - "fontdb", + "fastrand 2.3.0", + "gstreamer", + "gstreamer-app", "iced_video_player", "image", "itertools 0.14.0", "libcosmic", "miette", "mupdf", - "nom 8.0.0", "obws", "pretty_assertions", "rapidfuzz", "rapidhash", "rayon", - "reqwest 0.13.3", - "resvg_exposed", + "reqwest", + "resvg 0.45.1", "rodio", "ron 0.8.1", "scraper", "serde", - "serde_json", "sqlx", "strum", "strum_macros", "tar", "tokio", - "tokio-stream", "tracing", "tracing-log", "tracing-subscriber", "url", - "youtube_dl", "zstd", ] [[package]] name = "lyon" -version = "1.0.19" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0578bdecb7d6d88987b8b2b1e3a4e2f81df9d0ece1078623324a567904e7b7" +checksum = "dbcb7d54d54c8937364c9d41902d066656817dce1e03a44e5533afebd1ef4352" dependencies = [ "lyon_algorithms", "lyon_tessellation", @@ -4482,9 +4512,9 @@ dependencies = [ [[package]] name = "lyon_algorithms" -version = "1.0.20" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8575c0d003ae459399623c4def180c63b77f343b1a7fee64f249b349e7699a31" +checksum = "f4c0829e28c4f336396f250d850c3987e16ce6db057ffe047ce0dd54aab6b647" dependencies = [ "lyon_path", "num-traits", @@ -4492,9 +4522,9 @@ dependencies = [ [[package]] name = "lyon_geom" -version = "1.0.19" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4336502e29e32af93cf2dad2214ed6003c17ceb5bd499df77b1de663b9042b92" +checksum = "e260b6de923e6e47adfedf6243013a7a874684165a6a277594ee3906021b2343" dependencies = [ "arrayvec", "euclid", @@ -4503,9 +4533,9 @@ dependencies = [ [[package]] name = "lyon_path" -version = "1.0.19" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c463f9c428b7fc5ec885dcd39ce4aa61e29111d0e33483f6f98c74e89d8621e" +checksum = "1aeca86bcfd632a15984ba029b539ffb811e0a70bf55e814ef8b0f54f506fdeb" dependencies = [ "lyon_geom", "num-traits", @@ -4513,9 +4543,9 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.20" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e43b7e44161571868f5c931d12583592c223c5583eef86b08aa02b7048a3552" +checksum = "f3f586142e1280335b1bc89539f7c97dd80f08fc43e9ab1b74ef0a42b04aa353" dependencies = [ "float_next_after", "lyon_path", @@ -4537,12 +4567,6 @@ dependencies = [ "libc", ] -[[package]] -name = "mach2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" - [[package]] name = "malloc_buf" version = "0.0.6" @@ -4584,29 +4608,47 @@ dependencies = [ [[package]] name = "md-5" -version = "0.11.0" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest 0.11.3", + "digest", ] [[package]] name = "memchr" -version = "2.8.0" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "memmap2" -version = "0.9.10" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" +checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed" dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.9.1" @@ -4618,14 +4660,14 @@ dependencies = [ [[package]] name = "metal" -version = "0.33.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7047791b5bc903b8cd963014b355f71dc9864a9a0b727057676c1dcae5cbc15" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block", - "core-graphics-types 0.2.0", - "foreign-types 0.5.0", + "core-graphics-types", + "foreign-types", "log", "objc", "paste", @@ -4658,13 +4700,13 @@ checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "mime" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "smithay-clipboard", ] @@ -4693,9 +4735,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.2.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "log", @@ -4705,9 +4747,9 @@ dependencies = [ [[package]] name = "moxcms" -version = "0.8.1" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" dependencies = [ "num-traits", "pxfm", @@ -4721,22 +4763,21 @@ checksum = "956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0" [[package]] name = "mupdf" -version = "0.6.0" -source = "git+https://github.com/messense/mupdf-rs#8f04d3a9691615faac2d604fc429239a08ef8aa4" +version = "0.5.0" +source = "git+https://github.com/messense/mupdf-rs?rev=2425c1405b326165b06834dcc1ca859015f92787#2425c1405b326165b06834dcc1ca859015f92787" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "font-kit", "mupdf-sys", + "num_enum", "once_cell", - "percent-encoding", - "serde", "zerocopy", ] [[package]] name = "mupdf-sys" -version = "0.6.0" -source = "git+https://github.com/messense/mupdf-rs#8f04d3a9691615faac2d604fc429239a08ef8aa4" +version = "0.5.0" +source = "git+https://github.com/messense/mupdf-rs?rev=2425c1405b326165b06834dcc1ca859015f92787#2425c1405b326165b06834dcc1ca859015f92787" dependencies = [ "bindgen", "cc", @@ -4753,45 +4794,23 @@ checksum = "13d2233c9842d08cfe13f9eac96e207ca6a2ea10b80259ebe8ad0268be27d2af" [[package]] name = "naga" -version = "28.0.0" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618f667225063219ddfc61251087db8a9aec3c3f0950c916b614e403486f1135" +checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.11.1", - "cfg-if", - "cfg_aliases 0.2.1", + "bitflags 2.10.0", + "cfg_aliases 0.1.1", "codespan-reporting", - "half", - "hashbrown 0.16.1", "hexf-parse", - "indexmap 2.14.0", - "libm", + "indexmap 2.12.1", "log", - "num-traits", - "once_cell", "rustc-hash 1.1.0", "spirv", - "thiserror 2.0.18", - "unicode-ident", -] - -[[package]] -name = "native-tls" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", + "termcolor", + "thiserror 1.0.69", + "unicode-xid", ] [[package]] @@ -4800,10 +4819,10 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.11.1", - "jni-sys 0.3.1", + "bitflags 2.10.0", + "jni-sys", "log", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", "thiserror 1.0.69", @@ -4815,13 +4834,22 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + [[package]] name = "ndk-sys" version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ - "jni-sys 0.3.1", + "jni-sys", ] [[package]] @@ -4839,25 +4867,41 @@ dependencies = [ "smallvec", ] +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", +] + [[package]] name = "nix" version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "cfg-if", "cfg_aliases 0.1.1", "libc", ] [[package]] -name = "no_std_io2" -version = "0.9.4" +name = "nix" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418abd1b6d34fbf6cae440dc874771b0525a604428704c76e48b29a5e67b8003" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "memchr", + "bitflags 2.10.0", + "cfg-if", + "cfg_aliases 0.2.1", + "libc", + "memoffset 0.9.1", ] [[package]] @@ -4891,7 +4935,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "fsevent-sys", "inotify", "kqueue", @@ -4905,12 +4949,9 @@ dependencies = [ [[package]] name = "notify-types" -version = "2.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" -dependencies = [ - "bitflags 2.11.1", -] +checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" [[package]] name = "nu-ansi-term" @@ -4932,10 +4973,26 @@ dependencies = [ ] [[package]] -name = "num-conv" -version = "0.2.1" +name = "num-bigint-dig" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-derive" @@ -4945,7 +5002,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -4957,6 +5014,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-rational" version = "0.4.2" @@ -4979,10 +5047,20 @@ dependencies = [ ] [[package]] -name = "num_enum" -version = "0.7.6" +name = "num_cpus" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi 0.5.2", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ "num_enum_derive", "rustversion", @@ -4990,14 +5068,14 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.6" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -5047,9 +5125,9 @@ dependencies = [ [[package]] name = "objc2" -version = "0.6.4" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" dependencies = [ "objc2-encode", ] @@ -5060,7 +5138,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -5076,10 +5154,9 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block2 0.6.2", - "objc2 0.6.4", - "objc2-core-foundation", + "objc2 0.6.3", "objc2-foundation 0.3.2", ] @@ -5089,9 +5166,9 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6948501a91121d6399b79abaa33a8aa4ea7857fe019f341b8c23ad6e81b79b08" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "libc", - "objc2 0.6.4", + "objc2 0.6.3", "objc2-core-audio", "objc2-core-audio-types", "objc2-core-foundation", @@ -5099,14 +5176,27 @@ dependencies = [ ] [[package]] -name = "objc2-avf-audio" -version = "0.3.2" +name = "objc2-cloud-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.11.1", - "objc2 0.6.4", - "objc2-foundation 0.3.2", + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] @@ -5116,10 +5206,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2" dependencies = [ "dispatch2", - "objc2 0.6.4", + "objc2 0.6.3", "objc2-core-audio-types", "objc2-core-foundation", - "objc2-foundation 0.3.2", ] [[package]] @@ -5128,8 +5217,8 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c" dependencies = [ - "bitflags 2.11.1", - "objc2 0.6.4", + "bitflags 2.10.0", + "objc2 0.6.3", ] [[package]] @@ -5138,7 +5227,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5150,22 +5239,9 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.11.1", - "block2 0.6.2", + "bitflags 2.10.0", "dispatch2", - "libc", - "objc2 0.6.4", -] - -[[package]] -name = "objc2-core-graphics" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" -dependencies = [ - "bitflags 2.11.1", - "libc", - "objc2-core-foundation", + "objc2 0.6.3", ] [[package]] @@ -5181,14 +5257,15 @@ dependencies = [ ] [[package]] -name = "objc2-core-video" -version = "0.3.2" +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "bitflags 2.11.1", - "objc2-core-foundation", - "objc2-core-graphics", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-contacts", + "objc2-foundation 0.2.2", ] [[package]] @@ -5203,8 +5280,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block2 0.5.1", + "dispatch", "libc", "objc2 0.5.2", ] @@ -5215,20 +5293,30 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.11.1", - "block2 0.6.2", - "libc", - "objc2 0.6.4", + "bitflags 2.10.0", + "objc2 0.6.3", "objc2-core-foundation", ] +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", +] + [[package]] name = "objc2-metal" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5240,7 +5328,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5248,15 +5336,58 @@ dependencies = [ ] [[package]] -name = "objc2-ui-kit" -version = "0.3.2" +name = "objc2-symbols" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "bitflags 2.11.1", - "objc2 0.6.4", - "objc2-core-foundation", - "objc2-foundation 0.3.2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation 0.2.2", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", ] [[package]] @@ -5284,7 +5415,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245cd220b1d4edd6ba01b30ef79d22dafb8b7acb4b00335297357053ba2c6c6e" dependencies = [ "base64 0.22.1", - "bitflags 2.11.1", + "bitflags 2.10.0", "futures-util", "rgb", "semver", @@ -5292,8 +5423,8 @@ dependencies = [ "serde_json", "serde_repr", "serde_with", - "sha2 0.10.9", - "thiserror 2.0.18", + "sha2", + "thiserror 2.0.17", "time", "tokio", "tokio-tungstenite", @@ -5303,9 +5434,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.4" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "once_cell_polyfill" @@ -5313,49 +5444,12 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" -[[package]] -name = "openssl" -version = "0.10.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0b434746ee2832f4f0baf10137e1cabb18cbe6912c69e2e33263c45250f542" -dependencies = [ - "bitflags 2.11.1", - "cfg-if", - "foreign-types 0.3.2", - "libc", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "openssl-probe" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" -[[package]] -name = "openssl-sys" -version = "0.9.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158fe5b292746440aa6e7a7e690e55aeb72d41505e2804c23c6973ad0e9c9781" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "option-ext" version = "0.2.0" @@ -5364,41 +5458,22 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "option-operations" -version = "0.6.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aca39cf52b03268400c16eeb9b56382ea3c3353409309b63f5c8f0b1faf42754" +checksum = "7c26d27bb1aeab65138e4bf7666045169d1717febcc9ff870166be8348b223d0" dependencies = [ - "pastey 0.2.2", -] - -[[package]] -name = "opusic-sys" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2804e694ef0de3b4cbb254de565053b7cb48d3398df7fd60c6c62bed40c5372a" -dependencies = [ - "cmake", + "paste", ] [[package]] name = "orbclient" -version = "0.3.54" +version = "0.3.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a570f6bca41d29acb2139229a7c873ec99bc9a313bd10804081d89bfac8ff329" +checksum = "247ad146e19b9437f8604c21f8652423595cf710ad108af40e77d3ae6e96b827" dependencies = [ - "libc", "libredox", ] -[[package]] -name = "ordered-float" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" -dependencies = [ - "num-traits", -] - [[package]] name = "ordered-stream" version = "0.2.0" @@ -5430,7 +5505,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -5439,14 +5514,14 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" dependencies = [ - "ttf-parser", + "ttf-parser 0.25.1", ] [[package]] name = "owo-colors" -version = "4.3.0" +version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d" +checksum = "9c6901729fa79e91a0913333229e9ca5dc725089d1c363b2f4b4760709dc4a52" [[package]] name = "palette" @@ -5470,7 +5545,7 @@ dependencies = [ "by_address", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -5479,6 +5554,17 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + [[package]] name = "parking_lot" version = "0.12.5" @@ -5486,7 +5572,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", - "parking_lot_core", + "parking_lot_core 0.9.12", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", ] [[package]] @@ -5499,7 +5599,7 @@ dependencies = [ "libc", "redox_syscall 0.5.18", "smallvec", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -5514,12 +5614,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec" -[[package]] -name = "pastey" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a797f0e07bdf071d15742978fc3128ec6c22891c31a3a931513263904c982a" - [[package]] name = "pathfinder_geometry" version = "0.5.1" @@ -5532,13 +5626,22 @@ dependencies = [ [[package]] name = "pathfinder_simd" -version = "0.5.6" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4500030c302e4af1d423f36f3b958d1aecb6c04184356ed5a833bf6b60435777" +checksum = "bf9027960355bf3afff9841918474a81a5f972ac6d226d518060bba758b5ad57" dependencies = [ "rustc_version", ] +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.2" @@ -5583,7 +5686,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared 0.11.3", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -5592,7 +5695,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" dependencies = [ - "fastrand", + "fastrand 2.3.0", "phf_shared 0.13.1", ] @@ -5606,7 +5709,7 @@ dependencies = [ "phf_shared 0.11.3", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -5619,8 +5722,7 @@ dependencies = [ "phf_shared 0.13.1", "proc-macro2", "quote", - "syn", - "uncased", + "syn 2.0.111", ] [[package]] @@ -5639,7 +5741,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" dependencies = [ "siphasher", - "uncased", ] [[package]] @@ -5650,29 +5751,29 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project" -version = "1.1.13" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.13" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "pin-project-lite" -version = "0.2.17" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -5682,26 +5783,41 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand", + "fastrand 2.3.0", "futures-io", ] [[package]] -name = "pkg-config" -version = "0.3.33" +name = "pkcs1" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] [[package]] -name = "plain" -version = "0.2.3" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "png" @@ -5718,17 +5834,33 @@ dependencies = [ [[package]] name = "png" -version = "0.18.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "crc32fast", "fdeflate", "flate2", "miniz_oxide", ] +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + [[package]] name = "polling" version = "3.11.0" @@ -5737,9 +5869,9 @@ checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.5.2", "pin-project-lite", - "rustix 1.1.4", + "rustix 1.1.2", "windows-sys 0.61.2", ] @@ -5749,35 +5881,11 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" -[[package]] -name = "polycool" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50596ddc09eb5ad5f75cacd40209568e66df71baf86e1499a0e99c4cff12a5a6" -dependencies = [ - "arrayvec", -] - -[[package]] -name = "portable-atomic" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" - -[[package]] -name = "portable-atomic-util" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" -dependencies = [ - "portable-atomic", -] - [[package]] name = "potential_utf" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "zerovec", ] @@ -5820,22 +5928,22 @@ dependencies = [ ] [[package]] -name = "prettyplease" -version = "0.2.37" +name = "proc-macro-crate" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "proc-macro2", - "syn", + "once_cell", + "toml_edit 0.19.15", ] [[package]] name = "proc-macro-crate" -version = "3.5.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml_edit", + "toml_edit 0.23.9", ] [[package]] @@ -5857,14 +5965,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "proc-macro2" -version = "1.0.106" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] @@ -5877,35 +5985,38 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", "version_check", "yansi", ] [[package]] name = "profiling" -version = "1.0.18" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" +checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" dependencies = [ "profiling-procmacros", ] [[package]] name = "profiling-procmacros" -version = "1.0.18" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4488a4a36b9a4ba6b9334a32a39971f77c1436ec82c38707bce707699cc3bbcb" +checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" dependencies = [ "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "pxfm" -version = "0.1.29" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" +checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" +dependencies = [ + "num-traits", +] [[package]] name = "qoi" @@ -5924,12 +6035,11 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quick-xml" -version = "0.39.4" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" dependencies = [ "memchr", - "serde", ] [[package]] @@ -5943,10 +6053,10 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "rustls", - "socket2", - "thiserror 2.0.18", + "socket2 0.6.1", + "thiserror 2.0.17", "tokio", "tracing", "web-time", @@ -5954,21 +6064,21 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.14" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ "aws-lc-rs", "bytes", "getrandom 0.3.4", "lru-slab", - "rand 0.9.4", + "rand 0.9.2", "ring", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.18", + "thiserror 2.0.17", "tinyvec", "tracing", "web-time", @@ -5983,16 +6093,16 @@ dependencies = [ "cfg_aliases 0.2.1", "libc", "once_cell", - "socket2", + "socket2 0.6.1", "tracing", "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.45" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] @@ -6003,12 +6113,6 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" -[[package]] -name = "r-efi" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" - [[package]] name = "radix_trie" version = "0.2.1" @@ -6021,32 +6125,33 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.6" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", + "rand_chacha 0.3.1", "rand_core 0.6.4", ] [[package]] name = "rand" -version = "0.9.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "rand_chacha", - "rand_core 0.9.5", + "rand_chacha 0.9.0", + "rand_core 0.9.3", ] [[package]] -name = "rand" -version = "0.10.1" +name = "rand_chacha" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ - "chacha20", - "getrandom 0.4.2", - "rand_core 0.10.1", + "ppv-lite86", + "rand_core 0.6.4", ] [[package]] @@ -6056,7 +6161,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.5", + "rand_core 0.9.3", ] [[package]] @@ -6064,43 +6169,30 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] [[package]] name = "rand_core" -version = "0.9.5" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ "getrandom 0.3.4", ] -[[package]] -name = "rand_core" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" - -[[package]] -name = "rand_distr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d431c2703ccf129de4d45253c03f49ebb22b97d6ad79ee3ecfc7e3f4862c1d8" -dependencies = [ - "num-traits", - "rand 0.10.1", -] - [[package]] name = "range-alloc" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08" +checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" [[package]] name = "rangemap" -version = "1.7.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68" +checksum = "acbbbbea733ec66275512d0b9694f34102e7d5406fdbe2ad8d21b28dce92887c" [[package]] name = "rapidfuzz" @@ -6110,9 +6202,9 @@ checksum = "270e04e5ea61d40841942bb15e451c29ee1618637bcf97fc7ede5dd4a9b1601b" [[package]] name = "rapidhash" -version = "4.4.1" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59" +checksum = "d8e65c75143ce5d47c55b510297eeb1182f3c739b6043c537670e9fc18612dae" dependencies = [ "rustversion", ] @@ -6144,19 +6236,19 @@ dependencies = [ "num-traits", "paste", "profiling", - "rand 0.9.4", - "rand_chacha", + "rand 0.9.2", + "rand_chacha 0.9.0", "simd_helpers", - "thiserror 2.0.18", + "thiserror 2.0.17", "v_frame", "wasm-bindgen", ] [[package]] name = "ravif" -version = "0.13.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45" +checksum = "ef69c1990ceef18a116855938e74793a5f7496ee907562bd0857b6ac734ab285" dependencies = [ "avif-serialize", "imgref", @@ -6175,9 +6267,9 @@ checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" -version = "1.12.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -6195,9 +6287,19 @@ dependencies = [ [[package]] name = "read-fonts" -version = "0.37.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5" +checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358" +dependencies = [ + "bytemuck", + "font-types", +] + +[[package]] +name = "read-fonts" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eaa2941a4c05443ee3a7b26ab076a553c343ad5995230cc2b1d3e993bdc6345" dependencies = [ "bytemuck", "core_maths", @@ -6206,20 +6308,20 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.18" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 2.11.1", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.7.5" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4666a1a60d8412eab19d94f6d13dcc9cea0a5ef4fdf6a5db306537413c661b1b" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", ] [[package]] @@ -6228,9 +6330,9 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.17", + "getrandom 0.2.16", "libredox", - "thiserror 2.0.18", + "thiserror 2.0.17", ] [[package]] @@ -6250,14 +6352,14 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "regex" -version = "1.12.3" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -6267,9 +6369,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.14" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -6278,9 +6380,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.10" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "renderdoc-sys" @@ -6290,45 +6392,9 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "reqwest" -version = "0.12.28" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-core", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-tls", - "hyper-util", - "js-sys", - "log", - "native-tls", - "percent-encoding", - "pin-project-lite", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tokio-native-tls", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "reqwest" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0" +checksum = "04e9018c9d814e5f30cc16a0f03271aeab3571e609612d9fe78c1aa8d11c2f62" dependencies = [ "base64 0.22.1", "bytes", @@ -6362,6 +6428,22 @@ dependencies = [ "web-sys", ] +[[package]] +name = "resvg" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "944d052815156ac8fa77eaac055220e95ba0b01fa8887108ca710c03805d9051" +dependencies = [ + "gif 0.13.3", + "jpeg-decoder", + "log", + "pico-args", + "rgb", + "svgtypes", + "tiny-skia", + "usvg 0.42.0", +] + [[package]] name = "resvg" version = "0.45.1" @@ -6373,41 +6455,24 @@ dependencies = [ "log", "pico-args", "rgb", - "svgtypes 0.15.3", - "tiny-skia 0.11.4", - "usvg", + "svgtypes", + "tiny-skia", + "usvg 0.45.1", "zune-jpeg 0.4.21", ] -[[package]] -name = "resvg_exposed" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c277391f859a3b3b0f01389297832f37b4f6f632181cfea1c98ad41e7ba55e" -dependencies = [ - "gif 0.14.2", - "image-webp", - "log", - "pico-args", - "rgb", - "svgtypes 0.16.1", - "tiny-skia 0.12.0", - "usvg_exposed", - "zune-jpeg 0.5.15", -] - [[package]] name = "rfd" -version = "0.16.0" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672" +checksum = "ef2bee61e6cffa4635c72d7d81a84294e28f0930db0ddcb0f66d10244674ebed" dependencies = [ - "ashpd 0.11.1", + "ashpd 0.11.0", "block2 0.6.2", "dispatch2", "js-sys", "log", - "objc2 0.6.4", + "objc2 0.6.3", "objc2-app-kit 0.3.2", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -6417,14 +6482,14 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] name = "rgb" -version = "0.8.53" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" +checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" dependencies = [ "bytemuck", ] @@ -6437,7 +6502,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.17", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -6445,18 +6510,14 @@ dependencies = [ [[package]] name = "rodio" -version = "0.22.2" -source = "git+https://github.com/RustAudio/rodio#0557a30a655b42016ddd961d0f69c5566f6e3f1e" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e40ecf59e742e03336be6a3d53755e789fd05a059fa22dfa0ed624722319e183" dependencies = [ "cpal", "dasp_sample", "num-rational", - "rand 0.10.1", - "rand_distr", - "rtrb", "symphonia", - "symphonia-adapter-libopus", - "thiserror 2.0.18", "tracing", ] @@ -6467,22 +6528,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64 0.21.7", - "bitflags 2.11.1", + "bitflags 2.10.0", "serde", "serde_derive", ] [[package]] name = "ron" -version = "0.12.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4147b952f3f819eca0e99527022f7d6a8d05f111aeb0a62960c74eb283bec8fc" +checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ - "bitflags 2.11.1", - "once_cell", + "base64 0.22.1", + "bitflags 2.10.0", "serde", "serde_derive", - "typeid", "unicode-ident", ] @@ -6493,25 +6553,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" [[package]] -name = "roxmltree" -version = "0.21.1" +name = "rsa" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb" +checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" dependencies = [ - "memchr", + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", ] -[[package]] -name = "rtrb" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ade083ccbb4bf536df69d1f6432cc23deb7acccff86b183f3923a6fd56a1153" - [[package]] name = "rust-embed" -version = "8.11.0" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04113cb9355a377d83f06ef1f0a45b8ab8cd7d8b1288160717d66df5c7988d27" +checksum = "947d7f3fad52b283d261c4c99a084937e2fe492248cb9a68a8435a861b8798ca" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -6520,32 +6585,32 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.11.0" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0902e4c7c8e997159ab384e6d0fc91c221375f6894346ae107f47dd0f3ccaa" +checksum = "5fa2c8c9e8711e10f9c4fd2d64317ef13feaab820a4c51541f1a8c8e2e851ab2" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn", + "syn 2.0.111", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.11.0" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bcdef0be6fe7f6fa333b1073c949729274b05f123a0ad7efcb8efd878e5c3b1" +checksum = "60b161f275cb337fe0a44d924a5f4df0ed69c2c39519858f931ce61c779d3475" dependencies = [ - "sha2 0.10.9", + "sha2", "walkdir", ] [[package]] name = "rustc-demangle" -version = "0.1.27" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -6555,9 +6620,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.2" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -6568,13 +6633,27 @@ dependencies = [ "semver", ] +[[package]] +name = "rustix" +version = "0.37.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "519165d378b97752ca44bbe15047d5d3409e875f39327546b42ac81d7e18c1b6" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + [[package]] name = "rustix" version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -6583,22 +6662,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.4" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "errno", "libc", - "linux-raw-sys 0.12.1", + "linux-raw-sys 0.11.0", "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.40" +version = "0.23.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" +checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" dependencies = [ "aws-lc-rs", "once_cell", @@ -6622,9 +6701,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.14.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "web-time", "zeroize", @@ -6632,13 +6711,13 @@ dependencies = [ [[package]] name = "rustls-platform-verifier" -version = "0.7.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", - "jni 0.22.4", + "jni", "log", "once_cell", "rustls", @@ -6659,9 +6738,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.13" +version = "0.103.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" +checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" dependencies = [ "aws-lc-rs", "ring", @@ -6675,20 +6754,36 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.10.0", + "bytemuck", + "smallvec", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring 0.2.0", + "unicode-ccc 0.2.0", + "unicode-properties", + "unicode-script", +] + [[package]] name = "rustybuzz" version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "bytemuck", "core_maths", "log", "smallvec", - "ttf-parser", - "unicode-bidi-mirroring", - "unicode-ccc", + "ttf-parser 0.25.1", + "unicode-bidi-mirroring 0.4.0", + "unicode-ccc 0.4.0", "unicode-properties", "unicode-script", ] @@ -6699,7 +6794,7 @@ version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7803e8936da37efd9b6d4478277f4b2b9bb5cdb37a113e8d63222e58da647e63" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "cfg-if", "clipboard-win", "fd-lock", @@ -6707,7 +6802,7 @@ dependencies = [ "libc", "log", "memchr", - "nix", + "nix 0.28.0", "radix_trie", "unicode-segmentation", "unicode-width 0.1.14", @@ -6717,9 +6812,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.23" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -6732,9 +6827,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.29" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ "windows-sys 0.61.2", ] @@ -6753,9 +6848,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.2.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" dependencies = [ "dyn-clone", "ref-cast", @@ -6792,24 +6887,24 @@ dependencies = [ [[package]] name = "sctk-adwaita" -version = "0.11.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd3accc0f3f4bbaf2c9e1957a030dc582028130c67660d44c0a0345a22ca69b" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" dependencies = [ "ab_glyph", "log", - "memmap2", - "smithay-client-toolkit", - "tiny-skia 0.11.4", + "memmap2 0.9.9", + "smithay-client-toolkit 0.19.2", + "tiny-skia", ] [[package]] name = "security-framework" -version = "3.7.0" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -6818,9 +6913,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.17.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -6832,7 +6927,7 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "feef350c36147532e1b79ea5c1f3791373e61cbd9a6a2615413b3807bb164fb7" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "cssparser", "derive_more", "log", @@ -6840,22 +6935,22 @@ dependencies = [ "phf 0.13.1", "phf_codegen", "precomputed-hash", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "servo_arc", "smallvec", ] [[package]] name = "self_cell" -version = "1.2.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" +checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33" [[package]] name = "semver" -version = "1.0.28" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", "serde_core", @@ -6888,21 +6983,21 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ - "indexmap 2.14.0", + "indexmap 2.12.1", "itoa", "memchr", + "ryu", "serde", "serde_core", - "zmij", ] [[package]] @@ -6913,14 +7008,14 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "serde_spanned" -version = "1.1.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" dependencies = [ "serde_core", ] @@ -6939,18 +7034,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.20.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72c1c2cb7b223fafb600a619537a871c2818583d619401b785e7c0b746ccde2" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" dependencies = [ "base64 0.22.1", - "bs58", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.14.0", + "indexmap 2.12.1", "schemars 0.9.0", - "schemars 1.2.1", + "schemars 1.1.0", "serde_core", "serde_json", "serde_with_macros", @@ -6959,14 +7053,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.20.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b90c488738ecb4fb0262f41f43bc40efc5868d9fb744319ddf5f5317f417bfac" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" dependencies = [ - "darling 0.23.0", + "darling 0.21.3", "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -6985,19 +7079,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", -] - -[[package]] -name = "sha1" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" -dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", - "digest 0.11.3", + "cpufeatures", + "digest", ] [[package]] @@ -7007,19 +7090,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" -dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", - "digest 0.11.3", + "cpufeatures", + "digest", ] [[package]] @@ -7039,29 +7111,28 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.8" +version = "1.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" dependencies = [ - "errno", "libc", ] [[package]] -name = "simd-adler32" -version = "0.3.9" +name = "signature" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] [[package]] -name = "simd_cesu8" -version = "1.1.1" +name = "simd-adler32" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" -dependencies = [ - "rustc_version", - "simdutf8", -] +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simd_helpers" @@ -7072,12 +7143,6 @@ dependencies = [ "quote", ] -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - [[package]] name = "simplecss" version = "0.2.2" @@ -7089,25 +7154,35 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.3" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "skrifa" -version = "0.40.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac" +checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841" dependencies = [ "bytemuck", - "read-fonts", + "read-fonts 0.35.0", +] + +[[package]] +name = "skrifa" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9eb0b904a04d09bd68c65d946617b8ff733009999050f3b851c32fb3cfb60e" +dependencies = [ + "bytemuck", + "read-fonts 0.36.0", ] [[package]] name = "slab" -version = "0.4.12" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "slotmap" @@ -7127,21 +7202,48 @@ dependencies = [ "serde", ] +[[package]] +name = "smithay-client-toolkit" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" +dependencies = [ + "bitflags 2.10.0", + "calloop 0.13.0", + "calloop-wayland-source 0.3.0", + "cursor-icon", + "libc", + "log", + "memmap2 0.9.9", + "rustix 0.38.44", + "thiserror 1.0.69", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + [[package]] name = "smithay-client-toolkit" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.11.1", - "calloop", - "calloop-wayland-source", + "bitflags 2.10.0", + "bytemuck", + "calloop 0.14.3", + "calloop-wayland-source 0.4.1", "cursor-icon", "libc", "log", - "memmap2", - "rustix 1.1.4", - "thiserror 2.0.18", + "memmap2 0.9.9", + "pkg-config", + "rustix 1.1.2", + "thiserror 2.0.17", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -7151,44 +7253,54 @@ dependencies = [ "wayland-protocols-misc", "wayland-protocols-wlr", "wayland-scanner", + "xkbcommon 0.8.0", "xkeysym", ] [[package]] name = "smithay-clipboard" version = "0.8.0" -source = "git+https://github.com/pop-os/smithay-clipboard?tag=sctk-0.20#859b02c88f45c554049a67c6ddeec1692ce0e20b" +source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-5#5a3007def49eb678d1144850c9ee04b80707c56a" dependencies = [ "libc", "raw-window-handle", - "smithay-client-toolkit", + "smithay-client-toolkit 0.19.2", "wayland-backend", ] [[package]] name = "smol_str" -version = "0.3.6" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aaa7368fcf4852a4c2dd92df0cace6a71f2091ca0a23391ce7f3a31833f1523" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" dependencies = [ - "borsh", - "serde_core", + "serde", ] [[package]] name = "socket2" -version = "0.6.3" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", - "windows-sys 0.61.2", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", ] [[package]] name = "softbuffer" version = "0.4.1" -source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#c2b2c19ddb38ff17495643699f97cb1f2064a1be" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#a3f77e251e7422803f693df6e3fc313c010c4dcb" dependencies = [ "as-raw-xcb-connection", "bytemuck", @@ -7196,11 +7308,11 @@ dependencies = [ "cocoa", "core-graphics", "drm", - "fastrand", - "foreign-types 0.5.0", + "fastrand 2.3.0", + "foreign-types", "js-sys", "log", - "memmap2", + "memmap2 0.9.9", "objc", "raw-window-handle", "redox_syscall 0.5.18", @@ -7230,14 +7342,24 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", ] [[package]] name = "sqlx" -version = "0.9.0" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "378620ccc25c62c89d8be1c819e76a88d59bdcc3304733330788948e619bfd71" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" dependencies = [ "sqlx-core", "sqlx-macros", @@ -7248,33 +7370,32 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.9.0" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b44e85bf579a8eeb4ceaa77a3a523baf2bf0e9bac7e40f405d537b5d2d5ccb" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" dependencies = [ "base64 0.22.1", "bytes", - "cfg-if", - "chrono", "crc", "crossbeam-queue", "either", - "event-listener", + "event-listener 5.4.1", "futures-core", "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.16.1", + "hashbrown 0.15.5", "hashlink", - "indexmap 2.14.0", + "indexmap 2.12.1", "log", "memchr", + "once_cell", "percent-encoding", "serde", "serde_json", - "sha2 0.10.9", + "sha2", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.17", "tokio", "tokio-stream", "tracing", @@ -7283,81 +7404,94 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.9.0" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd2b84f2bc39a5705ef27ec785a11c934a41bbd4a24941e257927cddc26b60bf" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" dependencies = [ "proc-macro2", "quote", "sqlx-core", "sqlx-macros-core", - "syn", + "syn 2.0.111", ] [[package]] name = "sqlx-macros-core" -version = "0.9.0" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8d96de5fdc85a5c4ec813432b523ec637e80ba98f046555f75f7908ddac7c3" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" dependencies = [ - "cfg-if", "dotenvy", "either", "heck 0.5.0", "hex", + "once_cell", "proc-macro2", "quote", "serde", "serde_json", - "sha2 0.10.9", + "sha2", "sqlx-core", "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn", - "thiserror 2.0.18", + "syn 2.0.111", "tokio", "url", ] [[package]] name = "sqlx-mysql" -version = "0.9.0" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90b8020fe17c5f2c245bfa2505d7ef59c5604839527c740266ad2214acebea27" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" dependencies = [ - "bitflags 2.11.1", + "atoi", + "base64 0.22.1", + "bitflags 2.10.0", "byteorder", "bytes", - "chrono", "crc", - "digest 0.11.3", + "digest", "dotenvy", "either", + "futures-channel", "futures-core", + "futures-io", "futures-util", "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", "log", + "md-5", + "memchr", + "once_cell", "percent-encoding", + "rand 0.8.5", + "rsa", "serde", - "sha1 0.11.0", - "sha2 0.11.0", + "sha1", + "sha2", + "smallvec", "sqlx-core", - "thiserror 2.0.18", + "stringprep", + "thiserror 2.0.17", "tracing", + "whoami", ] [[package]] name = "sqlx-postgres" -version = "0.9.0" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87a2bdd6e83f6b3ea525ca9fee568030508b58355a43d0b2c1674d5f79dcd65e" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" dependencies = [ "atoi", "base64 0.22.1", - "bitflags 2.11.1", + "bitflags 2.10.0", "byteorder", - "chrono", "crc", "dotenvy", "etcetera", @@ -7367,32 +7501,32 @@ dependencies = [ "hex", "hkdf", "hmac", + "home", "itoa", "log", "md-5", "memchr", - "rand 0.10.1", + "once_cell", + "rand 0.8.5", "serde", "serde_json", - "sha2 0.11.0", + "sha2", "smallvec", "sqlx-core", "stringprep", - "thiserror 2.0.18", + "thiserror 2.0.17", "tracing", "whoami", ] [[package]] name = "sqlx-sqlite" -version = "0.9.0" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488e99c397a62007e4229aec669a179816339afc6d2620ca6fa420dbee2e982c" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", - "chrono", "flume", - "form_urlencoded", "futures-channel", "futures-core", "futures-executor", @@ -7402,8 +7536,9 @@ dependencies = [ "log", "percent-encoding", "serde", + "serde_urlencoded", "sqlx-core", - "thiserror 2.0.18", + "thiserror 2.0.17", "tracing", "url", ] @@ -7426,7 +7561,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" dependencies = [ - "float-cmp 0.9.0", + "float-cmp", ] [[package]] @@ -7436,7 +7571,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" dependencies = [ "new_debug_unreachable", - "parking_lot", + "parking_lot 0.12.5", "phf_shared 0.13.1", "precomputed-hash", ] @@ -7486,7 +7621,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn", + "syn 2.0.111", ] [[package]] @@ -7506,9 +7641,9 @@ dependencies = [ [[package]] name = "supports-hyperlinks" -version = "3.2.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e396b6523b11ccb83120b115a0b7366de372751aa6edf19844dfb13a6af97e91" +checksum = "804f44ed3c63152de6a9f90acbea1a110441de43006ea51bcce8f436196a288b" [[package]] name = "supports-unicode" @@ -7532,23 +7667,13 @@ dependencies = [ "siphasher", ] -[[package]] -name = "svgtypes" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d" -dependencies = [ - "kurbo 0.13.1", - "siphasher", -] - [[package]] name = "swash" -version = "0.2.7" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "842f3cd369c2ba38966204f983eaa5e54a8e84a7d7159ed36ade2b6c335aae64" +checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" dependencies = [ - "skrifa", + "skrifa 0.37.0", "yazi", "zeno", ] @@ -7576,17 +7701,6 @@ dependencies = [ "symphonia-metadata", ] -[[package]] -name = "symphonia-adapter-libopus" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bfc8e95f95c23ed1b5328eb66920ad28d9968c797f9c7aa755d4b45a5f47a41" -dependencies = [ - "log", - "opusic-sys", - "symphonia-core", -] - [[package]] name = "symphonia-bundle-flac" version = "0.5.5" @@ -7761,9 +7875,20 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", @@ -7787,7 +7912,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -7801,11 +7926,11 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.7.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -7822,14 +7947,14 @@ dependencies = [ [[package]] name = "system-deps" -version = "7.0.8" +version = "7.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396a35feb67335377e0251fcbc1092fc85c484bd4e3a7a54319399da127796e7" +checksum = "48c8f33736f986f16d69b6cb8b03f55ddcad5c41acc4ccc39dd88e84aa805e7f" dependencies = [ "cfg-expr", "heck 0.5.0", "pkg-config", - "toml 1.1.2+spec-1.1.0", + "toml 0.9.8", "version-compare", ] @@ -7847,9 +7972,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.45" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973" +checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" dependencies = [ "filetime", "libc", @@ -7863,15 +7988,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c" [[package]] -name = "tempfile" -version = "3.27.0" +name = "temp-dir" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +checksum = "83176759e9416cf81ee66cb6508dbfe9c96f20b8b56265a39917551c23c70964" + +[[package]] +name = "tempfile" +version = "3.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ - "fastrand", - "getrandom 0.4.2", + "fastrand 2.3.0", + "getrandom 0.3.4", "once_cell", - "rustix 1.1.4", + "rustix 1.1.2", "windows-sys 0.61.2", ] @@ -7897,12 +8028,12 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.4.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" +checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ - "rustix 1.1.4", - "windows-sys 0.61.2", + "rustix 1.1.2", + "windows-sys 0.60.2", ] [[package]] @@ -7926,11 +8057,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.18" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ - "thiserror-impl 2.0.18", + "thiserror-impl 2.0.17", ] [[package]] @@ -7941,18 +8072,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "thiserror-impl" -version = "2.0.18" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] @@ -7966,23 +8097,23 @@ dependencies = [ [[package]] name = "tiff" -version = "0.11.3" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" +checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" dependencies = [ "fax", "flate2", "half", "quick-error", "weezl", - "zune-jpeg 0.5.15", + "zune-jpeg 0.4.21", ] [[package]] name = "time" -version = "0.3.47" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" dependencies = [ "deranged", "itoa", @@ -7990,22 +8121,22 @@ dependencies = [ "num-conv", "num_threads", "powerfmt", - "serde_core", + "serde", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.8" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.27" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", @@ -8023,22 +8154,7 @@ dependencies = [ "cfg-if", "log", "png 0.17.16", - "tiny-skia-path 0.11.4", -] - -[[package]] -name = "tiny-skia" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea" -dependencies = [ - "arrayref", - "arrayvec", - "bytemuck", - "cfg-if", - "log", - "png 0.18.1", - "tiny-skia-path 0.12.0", + "tiny-skia-path", ] [[package]] @@ -8052,25 +8168,14 @@ dependencies = [ "strict-num", ] -[[package]] -name = "tiny-skia-path" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9" -dependencies = [ - "arrayref", - "bytemuck", - "strict-num", -] - [[package]] name = "tiny-xlib" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a90a0ca3ee6a69f2ad28fd11621a4c3f03b371f366be500b64df260c4ffbafb4" +checksum = "0324504befd01cab6e0c994f34b2ffa257849ee019d3fb3b64fb2c858887d89e" dependencies = [ "as-raw-xcb-connection", - "ctor", + "ctor-lite", "libloading", "pkg-config", "tracing", @@ -8078,9 +8183,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "serde_core", @@ -8089,9 +8194,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.11.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -8104,16 +8209,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.3" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ "bytes", "libc", "mio", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.6.1", "tokio-macros", "tracing", "windows-sys 0.61.2", @@ -8121,23 +8226,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.7.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", + "syn 2.0.111", ] [[package]] @@ -8152,9 +8247,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.18" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -8197,54 +8292,71 @@ dependencies = [ [[package]] name = "toml" -version = "1.1.2+spec-1.1.0" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" +checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" dependencies = [ - "indexmap 2.14.0", + "indexmap 2.12.1", "serde_core", "serde_spanned", - "toml_datetime", + "toml_datetime 0.7.3", "toml_parser", "toml_writer", - "winnow", + "winnow 0.7.14", ] [[package]] name = "toml_datetime" -version = "1.1.1+spec-1.1.0" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" -version = "0.25.11+spec-1.1.0" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.14.0", - "toml_datetime", + "indexmap 2.12.1", + "toml_datetime 0.6.11", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.23.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d7cbc3b4b49633d57a0509303158ca50de80ae32c265093b24c414705807832" +dependencies = [ + "indexmap 2.12.1", + "toml_datetime 0.7.3", "toml_parser", - "winnow", + "winnow 0.7.14", ] [[package]] name = "toml_parser" -version = "1.1.2+spec-1.1.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ - "winnow", + "winnow 0.7.14", ] [[package]] name = "toml_writer" -version = "1.1.1+spec-1.1.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" [[package]] name = "tower" @@ -8263,20 +8375,20 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.10" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68d6fdd9f81c2819c9a8b0e0cd91660e7746a8e6ea2ba7c6b2b057985f6bcb51" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "bytes", "futures-util", "http", "http-body", + "iri-string", "pin-project-lite", "tower", "tower-layer", "tower-service", - "url", ] [[package]] @@ -8293,9 +8405,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.44" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" dependencies = [ "log", "pin-project-lite", @@ -8311,14 +8423,14 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "tracing-core" -version = "0.1.36" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" dependencies = [ "once_cell", "valuable", @@ -8337,9 +8449,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.23" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "chrono", "matchers", @@ -8361,6 +8473,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "ttf-parser" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + [[package]] name = "ttf-parser" version = "0.25.1" @@ -8381,9 +8499,9 @@ dependencies = [ "http", "httparse", "log", - "rand 0.9.4", - "sha1 0.10.6", - "thiserror 2.0.18", + "rand 0.9.2", + "sha1", + "thiserror 2.0.17", "utf-8", ] @@ -8393,39 +8511,24 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" dependencies = [ - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", ] -[[package]] -name = "typeid" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" - [[package]] name = "typenum" -version = "1.20.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "uds_windows" -version = "1.2.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ - "memoffset", + "memoffset 0.9.1", "tempfile", - "windows-sys 0.61.2", -] - -[[package]] -name = "uncased" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" -dependencies = [ - "version_check", + "winapi", ] [[package]] @@ -8447,18 +8550,36 @@ dependencies = [ "tinystr", ] +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-bidi" version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + [[package]] name = "unicode-bidi-mirroring" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe" +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + [[package]] name = "unicode-ccc" version = "0.4.0" @@ -8467,9 +8588,9 @@ checksum = "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e" [[package]] name = "unicode-ident" -version = "1.0.24" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-linebreak" @@ -8500,9 +8621,9 @@ checksum = "383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee" [[package]] name = "unicode-segmentation" -version = "1.13.2" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-vo" @@ -8536,15 +8657,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.8" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", - "serde_derive", ] [[package]] @@ -8555,25 +8675,25 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "usvg" -version = "0.45.1" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" +checksum = "b84ea542ae85c715f07b082438a4231c3760539d902e11d093847a0b22963032" dependencies = [ "base64 0.22.1", "data-url", "flate2", - "fontdb", - "imagesize 0.13.0", + "fontdb 0.18.0", + "imagesize 0.12.0", "kurbo 0.11.3", "log", "pico-args", - "roxmltree 0.20.0", - "rustybuzz", + "roxmltree", + "rustybuzz 0.14.1", "simplecss", "siphasher", "strict-num", - "svgtypes 0.15.3", - "tiny-skia-path 0.11.4", + "svgtypes", + "tiny-skia-path", "unicode-bidi", "unicode-script", "unicode-vo", @@ -8581,27 +8701,26 @@ dependencies = [ ] [[package]] -name = "usvg_exposed" -version = "0.47.0" +name = "usvg" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d0070e1df55a90910dc78ba35807c2f269e4806f8a85f20fb4b1973121ef2a" +checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" dependencies = [ "base64 0.22.1", "data-url", "flate2", - "fontdb", - "imagesize 0.14.0", - "kurbo 0.13.1", + "fontdb 0.23.0", + "imagesize 0.13.0", + "kurbo 0.11.3", "log", "pico-args", - "roxmltree 0.21.1", - "rustybuzz", + "roxmltree", + "rustybuzz 0.20.1", "simplecss", "siphasher", "strict-num", - "svgtypes 0.16.1", - "tiny-skia-path 0.12.0", - "ttf-parser", + "svgtypes", + "tiny-skia-path", "unicode-bidi", "unicode-script", "unicode-vo", @@ -8634,9 +8753,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.23.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ "js-sys", "serde_core", @@ -8679,13 +8798,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] -name = "wait-timeout" -version = "0.2.1" +name = "waker-fn" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" -dependencies = [ - "libc", -] +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" @@ -8714,27 +8830,24 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.3+wasi-0.2.9" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen 0.57.1", + "wit-bindgen", ] [[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +name = "wasite" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen 0.51.0", -] +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.121" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", @@ -8745,19 +8858,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.71" +version = "0.4.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8" +checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" dependencies = [ + "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", + "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.121" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -8765,83 +8881,50 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.121" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn", + "syn 2.0.111", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.121" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] [[package]] -name = "wasm-encoder" -version = "0.244.0" +name = "wasm-timer" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap 2.14.0", - "wasm-encoder", - "wasmparser", -] - -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags 2.11.1", - "hashbrown 0.15.5", - "indexmap 2.14.0", - "semver", -] - -[[package]] -name = "wasmtimer" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ "futures", "js-sys", - "parking_lot", + "parking_lot 0.11.2", "pin-utils", - "slab", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] name = "wayland-backend" -version = "0.3.15" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d" +checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" dependencies = [ "cc", "downcast-rs", - "rustix 1.1.4", + "rustix 1.1.2", "scoped-tls", "smallvec", "wayland-sys", @@ -8849,12 +8932,12 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.14" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" +checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ - "bitflags 2.11.1", - "rustix 1.1.4", + "bitflags 2.10.0", + "rustix 1.1.2", "wayland-backend", "wayland-scanner", ] @@ -8865,32 +8948,33 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.31.14" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" +checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29" dependencies = [ - "rustix 1.1.4", + "rustix 1.1.2", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.32.12" +version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f" +checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-scanner", + "wayland-server", ] [[package]] @@ -8899,7 +8983,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -8908,11 +8992,11 @@ dependencies = [ [[package]] name = "wayland-protocols-misc" -version = "0.3.12" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" +checksum = "2dfe33d551eb8bffd03ff067a8b44bb963919157841a99957151299a6307d19c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -8921,11 +9005,11 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.12" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" +checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -8934,22 +9018,23 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.12" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" +checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", "wayland-scanner", + "wayland-server", ] [[package]] name = "wayland-scanner" -version = "0.31.10" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a" +checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" dependencies = [ "proc-macro2", "quick-xml", @@ -8957,10 +9042,23 @@ dependencies = [ ] [[package]] -name = "wayland-sys" -version = "0.31.11" +name = "wayland-server" +version = "0.31.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be" +checksum = "fcbd4f3aba6c9fba70445ad2a484c0ef0356c1a9459b1e8e435bedc1971a6222" +dependencies = [ + "bitflags 2.10.0", + "downcast-rs", + "rustix 1.1.2", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-sys" +version = "0.31.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142" dependencies = [ "dlib", "log", @@ -8970,9 +9068,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.98" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa" +checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" dependencies = [ "js-sys", "wasm-bindgen", @@ -8990,9 +9088,9 @@ dependencies = [ [[package]] name = "web_atoms" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff6eef815df1834fd250e3a2ff436044d82a9f1bc1980ca1dbdf07effc538" +checksum = "57a9779e9f04d2ac1ce317aee707aa2f6b773afba7b931222bff6983843b1576" dependencies = [ "phf 0.13.1", "phf_codegen", @@ -9002,9 +9100,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.7" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31141ce3fc3e300ae89b78c0dd67f9708061d1d2eda54b8209346fd6be9a92c" +checksum = "36a29fc0408b113f68cf32637857ab740edfafdf460c326cd2afaa2d84cc05dc" dependencies = [ "rustls-pki-types", ] @@ -9017,22 +9115,17 @@ checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" [[package]] name = "wgpu" -version = "28.0.0" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cb534d5ffd109c7d1135f34cdae29e60eab94855a625dcfe1705f8bc7ad79f" +checksum = "e1d1c4ba43f80542cf63a0a6ed3134629ae73e8ab51e4b765a67f3aa062eb433" dependencies = [ "arrayvec", - "bitflags 2.11.1", - "bytemuck", - "cfg-if", - "cfg_aliases 0.2.1", + "cfg_aliases 0.1.1", "document-features", - "hashbrown 0.16.1", "js-sys", "log", "naga", - "parking_lot", - "portable-atomic", + "parking_lot 0.12.5", "profiling", "raw-window-handle", "smallvec", @@ -9047,84 +9140,50 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "28.0.1" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23f4642f53f666adcfd2d3218ab174d1e6681101aef18696b90cbe64d1c10f9" +checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a" dependencies = [ "arrayvec", - "bit-set", "bit-vec", - "bitflags 2.11.1", - "bytemuck", - "cfg_aliases 0.2.1", + "bitflags 2.10.0", + "cfg_aliases 0.1.1", "document-features", - "hashbrown 0.16.1", - "indexmap 2.14.0", + "indexmap 2.12.1", "log", "naga", "once_cell", - "parking_lot", - "portable-atomic", + "parking_lot 0.12.5", "profiling", "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.18", - "wgpu-core-deps-apple", - "wgpu-core-deps-emscripten", - "wgpu-core-deps-windows-linux-android", + "thiserror 1.0.69", "wgpu-hal", "wgpu-types", ] -[[package]] -name = "wgpu-core-deps-apple" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87b7b696b918f337c486bf93142454080a32a37832ba8a31e4f48221890047da" -dependencies = [ - "wgpu-hal", -] - -[[package]] -name = "wgpu-core-deps-emscripten" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34b251c331f84feac147de3c4aa3aa45112622a95dd7ee1b74384fa0458dbd79" -dependencies = [ - "wgpu-hal", -] - -[[package]] -name = "wgpu-core-deps-windows-linux-android" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ca976e72b2c9964eb243e281f6ce7f14a514e409920920dcda12ae40febaae" -dependencies = [ - "wgpu-hal", -] - [[package]] name = "wgpu-hal" -version = "28.0.1" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d6cb474beb218824dcc9e1ce679d973f719262789bfb27407da560cac20eeb" +checksum = "f6bbf4b4de8b2a83c0401d9e5ae0080a2792055f25859a02bf9be97952bbed4f" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", - "bitflags 2.11.1", + "bitflags 2.10.0", "block", - "bytemuck", - "cfg-if", - "cfg_aliases 0.2.1", - "core-graphics-types 0.2.0", + "cfg_aliases 0.1.1", + "core-graphics-types", + "d3d12", "glow", "glutin_wgl_sys", + "gpu-alloc", "gpu-allocator", "gpu-descriptor", - "hashbrown 0.16.1", + "hassle-rs", "js-sys", "khronos-egl", "libc", @@ -9132,44 +9191,49 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys", + "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", - "ordered-float", - "parking_lot", - "portable-atomic", - "portable-atomic-util", + "parking_lot 0.12.5", "profiling", "range-alloc", "raw-window-handle", "renderdoc-sys", + "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.18", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu-types", - "windows 0.62.2", - "windows-core 0.62.2", + "winapi", ] [[package]] name = "wgpu-types" -version = "28.0.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e18308757e594ed2cd27dddbb16a139c42a683819d32a2e0b1b0167552f5840c" +checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d" dependencies = [ - "bitflags 2.11.1", - "bytemuck", + "bitflags 2.10.0", "js-sys", - "log", "web-sys", ] [[package]] name = "whoami" -version = "2.1.2" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "998767ef88740d1f5b0682a9c53c24431453923962269c2db68ee43788c5a40d" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +dependencies = [ + "libredox", + "wasite", +] + +[[package]] +name = "widestring" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" [[package]] name = "winapi" @@ -9205,7 +9269,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window_clipboard" version = "0.4.1" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "clipboard-win", "clipboard_macos", @@ -9219,58 +9283,43 @@ dependencies = [ [[package]] name = "windows" -version = "0.61.3" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-collections 0.2.0", - "windows-core 0.61.2", - "windows-future 0.2.1", - "windows-link 0.1.3", - "windows-numerics 0.2.0", + "windows-core 0.52.0", + "windows-targets 0.52.6", ] [[package]] name = "windows" -version = "0.62.2" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ - "windows-collections 0.3.2", - "windows-core 0.62.2", - "windows-future 0.3.2", - "windows-numerics 0.3.1", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-collections" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" -dependencies = [ - "windows-core 0.62.2", + "windows-core 0.54.0", + "windows-implement 0.53.0", + "windows-interface 0.53.0", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.61.2" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result 0.1.2", + "windows-targets 0.52.6", ] [[package]] @@ -9279,33 +9328,22 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link", "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-strings", ] [[package]] -name = "windows-future" -version = "0.2.1" +name = "windows-implement" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", - "windows-threading 0.1.0", -] - -[[package]] -name = "windows-future" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" -dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", - "windows-threading 0.2.1", + "proc-macro2", + "quote", + "syn 2.0.111", ] [[package]] @@ -9316,7 +9354,18 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", +] + +[[package]] +name = "windows-interface" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", ] [[package]] @@ -9327,59 +9376,33 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", -] - -[[package]] -name = "windows-numerics" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" -dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", -] - [[package]] name = "windows-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-strings", ] [[package]] name = "windows-result" -version = "0.3.4" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-link 0.1.3", + "windows-targets 0.52.6", ] [[package]] @@ -9388,16 +9411,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -9406,7 +9420,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -9460,7 +9474,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -9515,7 +9529,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -9526,24 +9540,6 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-threading" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" -dependencies = [ - "windows-link 0.2.1", -] - [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -9726,214 +9722,50 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winit" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "bitflags 2.11.1", - "cfg_aliases 0.2.1", - "cursor-icon", - "dpi", - "libc", - "raw-window-handle", - "rustix 1.1.4", - "smol_str", - "tracing", - "winit-android", - "winit-appkit", - "winit-common", - "winit-core", - "winit-orbital", - "winit-uikit", - "winit-wayland", - "winit-web", - "winit-win32", - "winit-x11", -] - -[[package]] -name = "winit-android" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "android-activity", - "bitflags 2.11.1", - "dpi", - "ndk", - "raw-window-handle", - "smol_str", - "tracing", - "winit-core", -] - -[[package]] -name = "winit-appkit" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "bitflags 2.11.1", - "block2 0.6.2", - "dispatch2", - "dpi", - "objc2 0.6.4", - "objc2-app-kit 0.3.2", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-core-video", - "objc2-foundation 0.3.2", - "raw-window-handle", - "smol_str", - "tracing", - "winit-common", - "winit-core", -] - -[[package]] -name = "winit-common" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "memmap2", - "objc2 0.6.4", - "objc2-core-foundation", - "smol_str", - "tracing", - "winit-core", - "x11-dl", - "xkbcommon-dl", -] - -[[package]] -name = "winit-core" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "bitflags 2.11.1", - "cursor-icon", - "dpi", - "keyboard-types", - "raw-window-handle", - "smol_str", - "web-time", -] - -[[package]] -name = "winit-orbital" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "bitflags 2.11.1", - "dpi", - "libredox", - "orbclient", - "raw-window-handle", - "redox_syscall 0.7.5", - "smol_str", - "tracing", - "winit-core", -] - -[[package]] -name = "winit-uikit" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "bitflags 2.11.1", - "block2 0.6.2", - "dispatch2", - "dpi", - "objc2 0.6.4", - "objc2-core-foundation", - "objc2-foundation 0.3.2", - "objc2-ui-kit", - "raw-window-handle", - "smol_str", - "tracing", - "winit-common", - "winit-core", -] - -[[package]] -name = "winit-wayland" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +version = "0.30.5" +source = "git+https://github.com/pop-os/winit.git?tag=iced-xdg-surface-0.13-rc#12a5f17d1811cdebbcbd310a3d92965e9142fa12" dependencies = [ "ahash", - "bitflags 2.11.1", - "calloop", + "android-activity", + "atomic-waker", + "bitflags 2.10.0", + "block2 0.5.1", + "bytemuck", + "calloop 0.13.0", + "cfg_aliases 0.2.1", + "concurrent-queue", + "core-foundation 0.9.4", + "core-graphics", "cursor-icon", "dpi", + "js-sys", "libc", - "memmap2", + "memmap2 0.9.9", + "ndk", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", + "objc2-ui-kit", + "orbclient", + "percent-encoding", + "pin-project", "raw-window-handle", - "rustix 1.1.4", + "redox_syscall 0.5.18", + "rustix 0.38.44", "sctk-adwaita", - "smithay-client-toolkit", + "smithay-client-toolkit 0.19.2", "smol_str", "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", "wayland-backend", "wayland-client", "wayland-protocols", "wayland-protocols-plasma", - "winit-common", - "winit-core", -] - -[[package]] -name = "winit-web" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "atomic-waker", - "bitflags 2.11.1", - "concurrent-queue", - "cursor-icon", - "dpi", - "js-sys", - "pin-project", - "raw-window-handle", - "smol_str", - "tracing", - "wasm-bindgen", - "wasm-bindgen-futures", "web-sys", "web-time", - "winit-core", -] - -[[package]] -name = "winit-win32" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "bitflags 2.11.1", - "cursor-icon", - "dpi", - "raw-window-handle", - "smol_str", - "tracing", - "unicode-segmentation", - "windows-sys 0.59.0", - "winit-core", -] - -[[package]] -name = "winit-x11" -version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" -dependencies = [ - "bitflags 2.11.1", - "bytemuck", - "calloop", - "cursor-icon", - "dpi", - "libc", - "percent-encoding", - "raw-window-handle", - "rustix 1.1.4", - "smol_str", - "tracing", - "winit-common", - "winit-core", + "windows-sys 0.52.0", "x11-dl", "x11rb", "xkbcommon-dl", @@ -9941,9 +9773,18 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.2" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -9959,103 +9800,15 @@ dependencies = [ [[package]] name = "wit-bindgen" -version = "0.51.0" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - -[[package]] -name = "wit-bindgen" -version = "0.57.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" - -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck 0.5.0", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck 0.5.0", - "indexmap 2.14.0", - "prettyplease", - "syn", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags 2.11.1", - "indexmap 2.14.0", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.14.0", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "writeable" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "x11-dl" @@ -10079,7 +9832,7 @@ dependencies = [ "libc", "libloading", "once_cell", - "rustix 1.1.4", + "rustix 1.1.2", "x11rb-protocol", "xcursor", ] @@ -10097,7 +9850,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.1.4", + "rustix 1.1.2", ] [[package]] @@ -10112,13 +9865,56 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5" +[[package]] +name = "xdg-home" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "xkbcommon" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e" +dependencies = [ + "libc", + "memmap2 0.8.0", + "xkeysym", +] + +[[package]] +name = "xkbcommon" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d66ca9352cbd4eecbbc40871d8a11b4ac8107cfc528a6e14d7c19c69d0e1ac9" +dependencies = [ + "libc", + "memmap2 0.9.9", + "xkeysym", +] + +[[package]] +name = "xkbcommon" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d" +dependencies = [ + "libc", + "memmap2 0.9.9", + "xkeysym", +] + [[package]] name = "xkbcommon-dl" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.10.0", "dlib", "log", "once_cell", @@ -10130,6 +9926,9 @@ name = "xkeysym" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" +dependencies = [ + "bytemuck", +] [[package]] name = "xml-rs" @@ -10163,9 +9962,9 @@ checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" [[package]] name = "yeslogic-fontconfig-sys" -version = "6.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8b8abf912b9a29ff112e1671c97c33636903d13a69712037190e6805af4f76" +checksum = "503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd" dependencies = [ "dlib", "once_cell", @@ -10174,9 +9973,9 @@ dependencies = [ [[package]] name = "yoke" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -10185,53 +9984,74 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", "synstructure", ] [[package]] -name = "youtube_dl" -version = "0.10.0" +name = "zbus" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9689a10ae6a391064930de26cf8a11cf8e844bbfccf2d1f39cd02b10679c14ad" +checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" dependencies = [ - "log", - "reqwest 0.12.28", + "async-broadcast 0.5.1", + "async-process 1.8.1", + "async-recursion", + "async-trait", + "byteorder", + "derivative", + "enumflags2", + "event-listener 2.5.3", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.26.4", + "once_cell", + "ordered-stream", + "rand 0.8.5", "serde", - "serde_json", + "serde_repr", + "sha1", + "static_assertions", "tokio", - "wait-timeout", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", ] [[package]] name = "zbus" -version = "5.15.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1" +checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91" dependencies = [ - "async-broadcast", + "async-broadcast 0.7.2", "async-executor", - "async-io", - "async-lock", - "async-process", + "async-io 2.6.0", + "async-lock 3.4.1", + "async-process 2.5.0", "async-recursion", "async-task", "async-trait", "blocking", "enumflags2", - "event-listener", + "event-listener 5.4.1", "futures-core", - "futures-lite", + "futures-lite 2.6.1", "hex", - "libc", + "nix 0.30.1", "ordered-stream", - "rustix 1.1.4", "serde", "serde_repr", "tokio", @@ -10239,72 +10059,62 @@ dependencies = [ "uds_windows", "uuid", "windows-sys 0.61.2", - "winnow", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus-lockstep" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863" -dependencies = [ - "zbus_xml", - "zvariant", -] - -[[package]] -name = "zbus-lockstep-macros" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "zbus-lockstep", - "zbus_xml", - "zvariant", + "winnow 0.7.14", + "zbus_macros 5.12.0", + "zbus_names 4.2.0", + "zvariant 5.8.0", ] [[package]] name = "zbus_macros" -version = "5.15.0" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff" +checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn", - "zbus_names", - "zvariant", - "zvariant_utils", + "regex", + "syn 1.0.109", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zbus_macros" +version = "5.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.111", + "zbus_names 4.2.0", + "zvariant 5.8.0", + "zvariant_utils 3.2.1", ] [[package]] name = "zbus_names" -version = "4.3.2" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d" +checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" dependencies = [ "serde", - "winnow", - "zvariant", + "static_assertions", + "zvariant 3.15.2", ] [[package]] -name = "zbus_xml" -version = "5.1.1" +name = "zbus_names" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8067892e940ed1727dea64690378601603b31d62dfde019a5335fbb7c0e0ed9" +checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" dependencies = [ - "quick-xml", "serde", - "zbus_names", - "zvariant", + "static_assertions", + "winnow 0.7.14", + "zvariant 5.8.0", ] [[package]] @@ -10315,42 +10125,42 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] [[package]] name = "zerofrom" -version = "0.1.8" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", "synstructure", ] @@ -10362,9 +10172,9 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zerotrie" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", @@ -10373,9 +10183,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.6" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "serde", "yoke", @@ -10385,21 +10195,15 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.111", ] -[[package]] -name = "zmij" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" - [[package]] name = "zstd" version = "0.13.3" @@ -10436,9 +10240,9 @@ checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" [[package]] name = "zune-core" -version = "0.5.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" +checksum = "111f7d9820f05fd715df3144e254d6fc02ee4088b0644c0ffd0efc9e6d9d2773" [[package]] name = "zune-inflate" @@ -10460,50 +10264,88 @@ dependencies = [ [[package]] name = "zune-jpeg" -version = "0.5.15" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" +checksum = "51d915729b0e7d5fe35c2f294c5dc10b30207cc637920e5b59077bfa3da63f28" dependencies = [ - "zune-core 0.5.1", + "zune-core 0.5.0", ] [[package]] name = "zvariant" -version = "5.11.0" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1567a6ec68df868cbbfde844cfc6d81649fe5109a62b116b19fabd53e618ee" +checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive 3.15.2", +] + +[[package]] +name = "zvariant" +version = "5.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c" dependencies = [ "endi", "enumflags2", "serde", "url", - "winnow", - "zvariant_derive", - "zvariant_utils", + "winnow 0.7.14", + "zvariant_derive 5.8.0", + "zvariant_utils 3.2.1", ] [[package]] name = "zvariant_derive" -version = "5.11.0" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d5b780599bbde114e39d9a0799577fad1ced5105d38515745f7b3099d8ceda" +checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn", - "zvariant_utils", + "syn 1.0.109", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zvariant_derive" +version = "5.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.111", + "zvariant_utils 3.2.1", ] [[package]] name = "zvariant_utils" -version = "3.3.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691" +checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "zvariant_utils" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599" dependencies = [ "proc-macro2", "quote", "serde", - "syn", - "winnow", + "syn 2.0.111", + "winnow 0.7.14", ] diff --git a/Cargo.toml b/Cargo.toml index adbef75..4606ba5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,17 +17,20 @@ tracing-subscriber = { version = "0.3.18", features = ["fmt", "std", "chrono", " strum = "0.26.3" strum_macros = "0.26.4" ron = "0.8.1" -sqlx = { version = "0.9", features = ["sqlite", "sqlite-deserialize", "runtime-tokio", "chrono"] } +sqlx = { version = "0.8.2", features = ["sqlite", "runtime-tokio"] } dirs = "6.0.0" tokio = "1.41.1" crisp = { git = "https://git.tfcconnection.org/chris/crisp", version = "0.1.3" } +rodio = { version = "0.21.1", features = ["symphonia-all", "tracing"] } +gstreamer = "0.23" +gstreamer-app = "0.23" # gstreamer-video = "0.23" # gstreamer-allocators = "0.23" # cosmic-time = { git = "https://githubg.com/pop-os/cosmic-time" } -url = { version = "2", features = ["serde"] } +url = "2" # colors-transform = "0.2.11" rayon = "1.11.0" -resvg_exposed = "0.47.0" +resvg = "0.45.1" image = "0.25.8" rapidhash = "4.0.0" rapidfuzz = "0.5.0" @@ -35,7 +38,7 @@ rapidfuzz = "0.5.0" # femtovg = { version = "0.16.0", features = ["wgpu"] } # wgpu = "26.0.1" # mupdf = "0.5.0" -mupdf = { version = "0.6.0", git = "https://github.com/messense/mupdf-rs", features = ["serde"] } +mupdf = { version = "0.5.0", git = "https://github.com/messense/mupdf-rs", rev="2425c1405b326165b06834dcc1ca859015f92787"} tar = "0.4.44" zstd = "0.13.3" fastrand = "2.3.0" @@ -44,100 +47,25 @@ derive_more = { version = "2.1.1", features = ["debug"] } reqwest = "0.13.1" scraper = "0.25.0" itertools = "0.14.0" -serde_json = "1.0.149" -nom = "8.0.0" -tokio-stream = "0.1.18" -fontdb = "0.23.0" -youtube_dl = { version = "0.10.0", features = ["downloader-native-tls", "tokio"] } # rfd = { version = "0.15.4", default-features = false, features = ["xdg-portal"] } -[dependencies.rodio] -git = "https://github.com/RustAudio/rodio" -features = ["symphonia-all", "tracing", "playback", "symphonia", "symphonia-libopus"] - [dependencies.libcosmic] git = "https://github.com/pop-os/libcosmic" default-features = false -features = ["debug", "winit", "tokio", "rfd", "wgpu", "multi-window",] +features = ["debug", "winit", "desktop", "winit_wgpu", "winit_tokio", "tokio", "wayland", "rfd", "dbus-config", "a11y", "wgpu", "multi-window", "process"] [dependencies.iced_video_player] -git = "https://github.com/wash2/iced_video_player.git" -branch = "iced-rebase" +git = "https://github.com/jackpot51/iced_video_player.git" +branch = "cosmic" features = ["wgpu"] # [profile.dev] # opt-level = 3 -[package.metadata.packager] -version = "0.1.0" -identifier = "xyz.cochrun.lumina" -icons = ["res/icons/lumina.ico", "res/icons/lumina.icns", "res/icons/lumina.svg"] -resources = ["res"] -category = "Video" - -[package.metadata.packager.windows] -allow_downgrades = true -sign_command = "./signtool.exe sign /debug /a /fd SHA256 %1" - -[package.metadata.packager.macos] -frameworks = ["GStreamer"] - -[package.metadata.packager.nsis] -installer_icon = "res/icons/lumina.ico" -installer_mode = "perMachine" -preinstall_section = """ -Section PreInstall - ; Check if GStreamer is already installed and skip this section - ReadRegStr $4 HKLM "SOFTWARE\\GStreamer1.0\\x86_64" "Version" - - StrCmp $4 "" 0 gstreamer_done - - Delete "$TEMP\\gstreamer1.0.exe" - DetailPrint "Downloading GStreamer" - nsis_tauri_utils::download "https://gstreamer.freedesktop.org/data/pkg/windows/1.28.2/msvc/gstreamer-1.0-msvc-x86_64-1.28.2.exe" "$TEMP\\gstreamer-1.0-msvc-x86_64-1.28.2.exe" - Pop $0 - ${If} $0 == 0 - DetailPrint "Successfully downloaded GStreamer" - ${Else} - DetailPrint "Error downloading GStreamer" - Abort "Canceling GStreamer install due to download error" - ${EndIf} - StrCpy $6 "$TEMP\\gstreamer-1.0-msvc-x86_64-1.28.2.exe" - - DetailPrint "Installing GStreamer" - ; $6 holds the path to the gstreamer installer - ExecWait "$6" $1 - ${If} $1 == 0 - DetailPrint "GStreamer successfully installed" - ${Else} - DetailPrint "Error installing GStreamer" - Abort "Cancelling GStreamer install due to installation error" - ${EndIf} - gstreamer_done: -SectionEnd -""" - [profile.release] opt-level = 3 debug = true -# [profile.production] -# opt-level = 3 -# lto = true -# codegen-units = 1 -# panic = 'abort' -# strip = "symbols" - [lints.rust] mismatched_lifetime_syntaxes = "allow" -unsafe_code = "deny" - -[lints.clippy] -cast_possible_truncation = { level = "allow", priority = 1 } -excessive_nesting = { level = "warn", priority = 1 } -pedantic = "warn" -nursery = "warn" -unwrap_used = "warn" -perf = "warn" -enum_glob_use = "warn" diff --git a/TODO.org b/TODO.org index 0def07b..c227af9 100644 --- a/TODO.org +++ b/TODO.org @@ -1,74 +1,33 @@ #+TITLE: The Task list for Lumina -#+FILETAGS: :project:dev: -#+CATEGORY: dev -* TODO [#A] Deployment pipeline and get a MVP going +* TODO [#A] Need to fix tests now that the basic app is working +Lots of them have been tweaked to be completing now, but there is more work to do and several need to likely be a lot more robust. -* TODO [#B] Add a title/info slide system for songs -This can include title, author, and ccli info so that it will be compliant and helpful. Basically some slides should be generated that show the song info and can be displayed as the song is starting. -* TODO Add an access time to the database so that we can sort library items by last used or edited. -* TODO Fix song imports so that they actually get rid of extra cruft -Sometimes a song imported from Genius will have extra junk that was in the middle of the lyrics on the page. Sometimes the lyrics themselves seem to still carry the styling from the webpage and effect the look through the SVG. +Still failing 4 tests, all to do with the db or lisp. I might throw out the lisp code at some point tho. I keep thinking that a better alternative would be to have a markdown serialization system such that you can write slides in markdown somehow and they would be able to be loaded. -* TODO Find a way to check if an item is in the library on load so that we can import it into the library -* TODO Make loading not block the UI -* TODO Loading and saving need to have a progress indicator of some sort -* DONE Preview mode needs to allow for a larger preview of the slide if the library is closed -CLOSED: [2026-05-30 Sat 15:15] -* DONE Grid mode needs to use the actual aspect ratio correctly for the slide preview -CLOSED: [2026-05-31 Sun 07:02] -* TODO Make audio is song editor able to increase speed so the user can create the song a little faster if they desire. -* TODO Song editor audio slider not working -* TODO Good keyboard shortcuts for the song editor so that making songs is faster and more intuitive -* DONE When editing songs, we should ensure that you can't effect the presentation without certain shortcuts -CLOSED: [2026-05-30 Sat 15:17] -* DONE Fix the right click context menu in service list and library -CLOSED: [2026-05-30 Sat 15:15] -Remake this just like the one in the preview and grid view probably so that it can work regardless of scroll and things -* TODO Fix the scrolling when switching slides for preview and grid -They both need to be adjusted when changing the size of the slides that are there +* TODO [#A] Need to fixup how songs are edited in the editors +Currently the song is cloned many times to pass around and then finally get updated in DB. Instead, we need to edit the song directly in the editor and after it's been changed appropriatel, run the update_song method to get the current song and create slides from it and then update it in the DB. -* TODO [#B] Font in the song editor doesn't always use the original version -There seems to be some issue with fontdb not able to decipher all the versions of some fonts that are OTF and then end up loading the wrong ones in some issues. +* TODO [#A] Make sure updating verse updates the lyrics too +[[file:~/dev/lumina-iced/src/core/songs.rs::old_verse = verse;]] -* TODO [#B] Build an Animation type that will hold all the info for what a slide animation is. -The animation type that comes with Iced is basically a way to say how long animations take and at what easing to do them, but they do not at all tell you WHAT to animate, that is all in where you put the animation's interpolate function in the view. +This is necessary so that the entire song gets changed and we can propogate those changes then back to the db. -So what I think I'll do is either, build a custom widget for slides (might need to do this anyway eventually since we are doing a lot of custom stuff with slides) or build my own Animation type to hold all of the correct info and based on that Animation, place the Iced animation interpolate function where it needs to go. +There is likely some work that still needs to be done here, I believe I am somehow deleting some of my verses. +* TODO [#A] Add Action system +This will be based on each slide having the ability to activate an action (i.e. OBS scene switch, OBS start or stop) when it is active. -* TODO [#B] Find a way to use auth-token in tests for ci -If I can find out how to use my secrets in ci that would free up more tests, but I could also just turn that test off for the CI so that it won't constantly fail for now - -* TODO [#B] Saving and loading font awareness -Someday we should make the saving and loading to be aware of the fonts on the system and find a way to embed them into the save file. - -* TODO [#B] Video downloading system -We need to create a way for users to download youtube or other videos by URL. - -* DONE [#B] Songs should have a place to store the audio file and then play it during editing so you can ensure the order of verses -CLOSED: [2026-05-19 Tue 06:01] - -* TODO [#B] Songs should have a way of storing a lyric video or other videos so they can be helpful for the editor +This is working but the right click context menu is all the way on the edge of the ui so you can't control all the slides. It also needs a lot of help in making the system more robust and potentially lest reliant on the Presenter struct itself. * TODO [#B] Develop ui for settings * TODO [#B] Develop library system for slides that are more than images or video i.e. content -* TODO [#C] Self signed cert for windows -This was created in the VM on May 10 2026. It is valid for 2 years. Maybe this self signed cert will be ok till we get some reputation, then maybe consider buying a cert or similar. - -* TODO [#C] Rename menu actions to menu commands and build a reverse hashmap for settings to map commands to key-binding such that we can allow for remapping them on the fly. - -* TODO [#C] Use orgize as a file parser and allow for orgdown files to represent a presentation. -Orgize has some very nice features that will let me determine what things are in an orgdown file and thus take said file and turn it into a presentation. - -After looking more and more at how the orgize docs describe things and the testing platform found at: https://poiscript.github.io/orgize/ I believe this will work. The main things are that I can possibly decide how to interpret certain pieces of orgdown to mean certain things in lumina. Essentially a properties drawer or tag can indicate backgrounds and other info for the slides or songs and then the notes blocks can indicate text that shouldn't be printed into the slide, thus allowing a single orgdown document to illustrate both an entire presentation, but also the notes and plan for the presenter. - -I could potentially do the same with markdown, but since this is for me first, I'll use orgdown because I enjoy the syntax a lot more. +* TODO [#B] Functions for text alignments +This will need to be matched on for the =TextAlignment= from the user * TODO [#C] Allow for a way to split the presentation up with a right click menu for the presentation preview row. - * TODO [#C] Text could be built by using SVG instead of the text element. Maybe I could construct my own text element even This does almost work. There is a clear amount of lag or rather hang up since switching to the =text_svg= element. I think I may only keep it till I can figure out how to do strokes and shadows in iced's normal text element. @@ -87,33 +46,12 @@ I tried out a way of generating the svg and rasterizing it ahead of time and the The problem with this approach is that every change to a song's text or font metrics means we need to rebuild all the text items for that song. I need to think of a way for the text generation to be done asynchronously so that the ui isn't locked up. -I bet this is tricking up the loading mechanism. Loading only grabs all the backgrounds and audio pieces, not the text_svg pieces. So maybe it should so that the generator can run again and grab the same pieces from the filesystem rather than recreate them. This gets extra tricky because we may have fonts that are missing when loading a file. In such a case the loading mechanism ought to suggest to the user to grab those fonts and then perhaps load the cached file while being extra clear that any changes will mess up the text since they no longer possess the font that is in the loaded file. Maybe what we can do is during save, save a copy of all the fonts as well and then during load check to see if the computer has them, if they don't offer to install them on the spot such that they can use the font as is. I wonder if we are allowed to pass fonts around that way. - ** Made this slightly faster -Since strings are allocated on the heap, I've changed how to construct the svg string a bit, but honestly, it doesn't matter too much because most of the performance cost seems to be in rendering the string using resvg. So, this can still be something that get's fixed later, and I believe that fix will come in the form of a multi-channel signed distance field wgpu rendered text eventually. We can work on this much later though. +Since strings are allocated on the heap, I've changed how to construct the svg string a bit, but honestly, it doesn't matter too much because most of the performance cost seems to be in rendering the string using resvg. So, this can still be something that get's fixed later * TODO [#C] Make the presenter more modular so things are easier to change. This is vague... -* DONE [#A] Make sure that adding, deleting and editing items in each model is working correctly [0/0] -CLOSED: [2026-04-24 Fri 13:17] - -Let's build some tests that ensure that these functions are working for the models. Make sure the models are built in such a way as to make sure that they are testable and work fast for the user. - -By making the db functions take the vector of items in the model, we can drain the model, pass an owned version of those items to the async db function(adding, updating, deleting, etc) and then return an updated list of the items back in the Result. - -We should probably return a tuple with the original vector of items in case the db function fails somehow. This would be extremely important if we eventually create a server/client architecture and for whatever reason the server fails to respond with an answer, we'd lose all our items. - -** DONE [#A] Need to test the library -CLOSED: [2026-04-15 Wed 15:58] -Instead of testing the library itself, I think I'll just create a fake library in each core model and then test it in that -** DONE Move to new design -CLOSED: [2026-04-07 Tue 11:42] - -* DONE [#A] Add Action system -CLOSED: [2026-04-15 Wed 15:57] -This will be based on each slide having the ability to activate an action (i.e. OBS scene switch, OBS start or stop) when it is active. - -This is working but the right click context menu is all the way on the edge of the ui so you can't control all the slides. It also needs a lot of help in making the system more robust and potentially lest reliant on the Presenter struct itself. +* TODO [#C] Figure out why the Video element seems to have problems when moving the mouse around * DONE [#A] Create a view of all slides in a PDF presenation @@ -122,14 +60,6 @@ This is limited by the fact that I need to develop this in cosmic. I am honestly This needs lots more attention -* DONE [#A] File saving and loading -Need to make sure we can save a file with all files archived in it and load it back up. - -This is giving me a lot of thoughts... -1. That saving and loading needs to know about fonts as well. -2. That TextSvgs should likely be saved as well since the other machines may not always have the same fonts. -3. That means that TextSvg should have a path option that could hold the cached svg that has already been rendered and that this gets changed to the loaded files directory rather than using the default cache directory. - * DONE [#A] Add removal and reordering of service_items Reordering is finished * DONE [#A] Change return type of all components to an Action enum instead of the Task type [0%] [0/0] @@ -137,31 +67,6 @@ Reordering is finished ** DONE SongEditor ** DONE Presenter -* DONE [#A] Need to fix tests now that the basic app is working -Lots of them have been tweaked to be completing now, but there is more work to do and several need to likely be a lot more robust. - -Still failing 4 tests, all to do with the db or lisp. I might throw out the lisp code at some point tho. I keep thinking that a better alternative would be to have a markdown serialization system such that you can write slides in markdown somehow and they would be able to be loaded. - -* DONE [#A] Make sure updating verse updates the lyrics too -[[file:~/dev/lumina-iced/src/core/songs.rs::old_verse = verse;]] - -This is necessary so that the entire song gets changed and we can propogate those changes then back to the db. - -There is likely some work that still needs to be done here, I believe I am somehow deleting some of my verses. -* DONE [#A] Need to fixup how songs are edited in the editors -Currently the song is cloned many times to pass around and then finally get updated in DB. Instead, we need to edit the song directly in the editor and after it's been changed appropriatel, run the update_song method to get the current song and create slides from it and then update it in the DB. - -* DONE Presenter module needs 2 videos -CLOSED: [2026-04-16 Thu 13:49] -This will allow for us to have different parameters in the framerate and even ensure that we can modify them separately. - -* DONE Song Editor has some sort of performance issue. -CLOSED: [2026-04-10 Fri 13:08] -=core::songs= logs in line 294 whenever even mousing over the song editor. - -* DONE [#B] Functions for text alignments -This will need to be matched on for the =TextAlignment= from the user - * DONE Move text_generation function to be asynchronous so that UI doesn't lock up during song editing. * DONE Build a presentation editor @@ -202,7 +107,3 @@ This will make it so that we can add styling to the text like borders and backgr * DONE Build Menu * DONE Find a way for text to pass through a service item to a slide i.e. content piece This proved easier by just creating the =Slide= first and inserting it into the =ServiceItem=. -* DONE [#C] Figure out why the Video element seems to have problems when moving the mouse around -CLOSED: [2026-04-15 Wed 15:59] - -I think this got fixed in a recent update diff --git a/cargo-sources.json b/cargo-sources.json deleted file mode 100644 index 4b16b7a..0000000 --- a/cargo-sources.json +++ /dev/null @@ -1,13285 +0,0 @@ -[ - { - "type": "git", - "url": "https://github.com/wash2/accesskit", - "commit": "f0599eed5f18111228266fe3f28991cc48b5964f", - "dest": "flatpak-cargo/git/accesskit-f0599ee" - }, - { - "type": "git", - "url": "https://github.com/jackpot51/rust-atomicwrites", - "commit": "043ab4859d53ffd3d55334685303d8df39c9f768", - "dest": "flatpak-cargo/git/rust-atomicwrites-043ab48" - }, - { - "type": "git", - "url": "https://github.com/pop-os/window_clipboard", - "commit": "f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c", - "dest": "flatpak-cargo/git/window_clipboard-f68595e" - }, - { - "type": "git", - "url": "https://github.com/pop-os/libcosmic", - "commit": "1d7113a2446ef11e57f2782ff3487a4975c6da90", - "dest": "flatpak-cargo/git/libcosmic-1d7113a" - }, - { - "type": "git", - "url": "https://github.com/pop-os/freedesktop-icons", - "commit": "7a61a704f6d1ec41f71cbe766e3cc484858523fa", - "dest": "flatpak-cargo/git/freedesktop-icons-7a61a70" - }, - { - "type": "git", - "url": "https://github.com/pop-os/dbus-settings-bindings", - "commit": "507e342c21d3ce6ae41b1d4f3fa2f0ad5ee23e75", - "dest": "flatpak-cargo/git/dbus-settings-bindings-507e342" - }, - { - "type": "git", - "url": "https://github.com/pop-os/cosmic-text", - "commit": "4d74f795cc771fdcc7ea0f9cacba63fcf036fad6", - "dest": "flatpak-cargo/git/cosmic-text-4d74f79" - }, - { - "type": "git", - "url": "https://github.com/rustaudio/cpal", - "commit": "abc0cc26abe21f862978972b66699605086586e3", - "dest": "flatpak-cargo/git/cpal-abc0cc2" - }, - { - "type": "git", - "url": "https://git.tfcconnection.org/chris/crisp", - "commit": "3c7fba4a2f4f99c7ef3c021da8afe2a9ec08584f", - "dest": "flatpak-cargo/git/crisp-3c7fba4" - }, - { - "type": "git", - "url": "https://github.com/pop-os/glyphon", - "commit": "c49de15bce4d8254ac136d1be9911960cc85ce12", - "dest": "flatpak-cargo/git/glyphon-c49de15" - }, - { - "type": "git", - "url": "https://github.com/pop-os/winit", - "commit": "a610ac9c7a72b39ff102ed4d946291618dc725b6", - "dest": "flatpak-cargo/git/winit-a610ac9" - }, - { - "type": "git", - "url": "https://github.com/wash2/iced_video_player", - "commit": "8ba65f2b95f9d69f06bfc821a0f4b6c4eac6091d", - "dest": "flatpak-cargo/git/iced_video_player-8ba65f2" - }, - { - "type": "git", - "url": "https://github.com/messense/mupdf-rs", - "commit": "5bbe2154b60e5439c1f062b0b5440475b70a9d8c", - "dest": "flatpak-cargo/git/mupdf-rs-5bbe215" - }, - { - "type": "git", - "url": "https://github.com/rustaudio/rodio", - "commit": "8ca8cd0f404566d16b83349274cd5d64f2219b04", - "dest": "flatpak-cargo/git/rodio-8ca8cd0" - }, - { - "type": "git", - "url": "https://github.com/pop-os/smithay-clipboard", - "commit": "859b02c88f45c554049a67c6ddeec1692ce0e20b", - "dest": "flatpak-cargo/git/smithay-clipboard-859b02c" - }, - { - "type": "git", - "url": "https://github.com/pop-os/softbuffer", - "commit": "a3f77e251e7422803f693df6e3fc313c010c4dcb", - "dest": "flatpak-cargo/git/softbuffer-a3f77e2" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ab_glyph/ab_glyph-0.2.32.crate", - "sha256": "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2", - "dest": "cargo/vendor/ab_glyph-0.2.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2\", \"files\": {}}", - "dest": "cargo/vendor/ab_glyph-0.2.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ab_glyph_rasterizer/ab_glyph_rasterizer-0.1.10.crate", - "sha256": "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618", - "dest": "cargo/vendor/ab_glyph_rasterizer-0.1.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618\", \"files\": {}}", - "dest": "cargo/vendor/ab_glyph_rasterizer-0.1.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/accesskit-f0599ee/common\" \"cargo/vendor/accesskit\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"accesskit\"\nversion = \"0.22.0\"\nauthors = [\"The AccessKit contributors\"]\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"UI accessibility infrastructure across platforms\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"accessibility\"]\nrepository = \"https://github.com/AccessKit/accesskit\"\nreadme = \"README.md\"\nedition = \"2021\"\nrust-version = \"1.77.2\"\n\n[package.metadata.docs.rs]\nfeatures = [\"schemars\", \"serde\"]\n\n[dependencies.enumn]\nversion = \"0.1.6\"\noptional = true\n\n[dependencies.pyo3]\nversion = \"0.26\"\noptional = true\n\n[dependencies.schemars]\nversion = \"1\"\noptional = true\n\n[dependencies.serde]\nversion = \"1.0\"\ndefault-features = false\nfeatures = [\"alloc\", \"derive\"]\noptional = true\n\n[dependencies.serde_json]\nversion = \"1.0\"\ndefault-features = false\noptional = true\n\n[dependencies.uuid]\nversion = \"1\"\ndefault-features = false\n\n[features]\nenumn = [\"dep:enumn\"]\npyo3 = [\"dep:pyo3\"]\nserde = [\"dep:serde\", \"enumn\", \"uuid/serde\"]\nschemars = [\"dep:schemars\", \"dep:serde_json\", \"serde\", \"schemars/uuid1\"]\n", - "dest": "cargo/vendor/accesskit", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/accesskit", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/accesskit-f0599ee/platforms/atspi-common\" \"cargo/vendor/accesskit_atspi_common\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"accesskit_atspi_common\"\nversion = \"0.15.0\"\nauthors = [\"The AccessKit contributors\"]\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"AccessKit UI accessibility infrastructure: core AT-SPI translation layer\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"accessibility\"]\nrepository = \"https://github.com/AccessKit/accesskit\"\nreadme = \"README.md\"\nedition = \"2021\"\nrust-version = \"1.77.2\"\n\n[features]\nsimplified-api = []\n\n[dependencies]\nserde = \"1.0\"\n\n[dependencies.accesskit]\nversion = \"0.22.0\"\npath = \"../../common\"\n\n[dependencies.accesskit_consumer]\nversion = \"0.32.0\"\npath = \"../../consumer\"\n\n[dependencies.atspi-common]\nversion = \"0.13\"\ndefault-features = false\n\n[dependencies.zvariant]\nversion = \"5.4\"\ndefault-features = false\n", - "dest": "cargo/vendor/accesskit_atspi_common", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/accesskit_atspi_common", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/accesskit-f0599ee/consumer\" \"cargo/vendor/accesskit_consumer\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"accesskit_consumer\"\nversion = \"0.32.0\"\nauthors = [\"The AccessKit contributors\"]\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"AccessKit consumer library (internal)\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"accessibility\"]\nrepository = \"https://github.com/AccessKit/accesskit\"\nreadme = \"README.md\"\nedition = \"2021\"\nrust-version = \"1.77.2\"\n\n[dependencies.accesskit]\nversion = \"0.22.0\"\npath = \"../common\"\n\n[dependencies.hashbrown]\nversion = \"0.16\"\ndefault-features = false\nfeatures = [\"default-hasher\"]\n", - "dest": "cargo/vendor/accesskit_consumer", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/accesskit_consumer", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/accesskit-f0599ee/platforms/macos\" \"cargo/vendor/accesskit_macos\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"accesskit_macos\"\nversion = \"0.23.0\"\nauthors = [\"The AccessKit contributors\"]\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"AccessKit UI accessibility infrastructure: macOS adapter\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"accessibility\"]\nrepository = \"https://github.com/AccessKit/accesskit\"\nreadme = \"README.md\"\nedition = \"2021\"\nrust-version = \"1.77.2\"\n\n[package.metadata.docs.rs]\ndefault-target = \"x86_64-apple-darwin\"\n\n[dependencies]\nobjc2 = \"0.5.1\"\n\n[dependencies.accesskit]\nversion = \"0.22.0\"\npath = \"../../common\"\n\n[dependencies.accesskit_consumer]\nversion = \"0.32.0\"\npath = \"../../consumer\"\n\n[dependencies.hashbrown]\nversion = \"0.16\"\ndefault-features = false\nfeatures = [\"default-hasher\"]\n\n[dependencies.objc2-foundation]\nversion = \"0.2.0\"\nfeatures = [\"NSArray\", \"NSDictionary\", \"NSValue\", \"NSThread\"]\n\n[dependencies.objc2-app-kit]\nversion = \"0.2.0\"\nfeatures = [\"NSAccessibility\", \"NSAccessibilityConstants\", \"NSAccessibilityElement\", \"NSAccessibilityProtocols\", \"NSResponder\", \"NSView\", \"NSWindow\"]\n", - "dest": "cargo/vendor/accesskit_macos", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/accesskit_macos", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/accesskit-f0599ee/platforms/unix\" \"cargo/vendor/accesskit_unix\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"accesskit_unix\"\nversion = \"0.18.0\"\nauthors = [\"The AccessKit contributors\"]\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"AccessKit UI accessibility infrastructure: Linux adapter\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"accessibility\"]\nrepository = \"https://github.com/AccessKit/accesskit\"\nreadme = \"README.md\"\nedition = \"2021\"\nrust-version = \"1.77.2\"\n\n[features]\ndefault = [\"async-io\"]\nasync-io = [\"dep:async-channel\", \"dep:async-executor\", \"dep:async-task\", \"dep:futures-util\"]\ntokio = [\"dep:tokio\", \"dep:tokio-stream\"]\n\n[dependencies]\nfutures-lite = \"2.3\"\nserde = \"1.0\"\n\n[dependencies.accesskit]\nversion = \"0.22.0\"\npath = \"../../common\"\n\n[dependencies.accesskit_atspi_common]\nversion = \"0.15.0\"\npath = \"../atspi-common\"\n\n[dependencies.atspi]\nversion = \"0.29\"\ndefault-features = false\nfeatures = [\"proxies\"]\n\n[dependencies.zbus]\nversion = \"5.5\"\ndefault-features = false\nfeatures = [\"async-io\"]\n\n[dependencies.async-channel]\nversion = \"2.1.1\"\noptional = true\n\n[dependencies.async-executor]\nversion = \"1.5.0\"\noptional = true\n\n[dependencies.async-task]\nversion = \"4.3.0\"\noptional = true\n\n[dependencies.futures-util]\nversion = \"0.3.27\"\noptional = true\n\n[dependencies.tokio-stream]\nversion = \"0.1.14\"\noptional = true\n\n[dependencies.tokio]\nversion = \"1.32.0\"\noptional = true\nfeatures = [\"macros\", \"net\", \"rt\", \"sync\", \"time\"]\n", - "dest": "cargo/vendor/accesskit_unix", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/accesskit_unix", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/accesskit-f0599ee/platforms/windows\" \"cargo/vendor/accesskit_windows\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"accesskit_windows\"\nversion = \"0.30.0\"\nauthors = [\"The AccessKit contributors\"]\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"AccessKit UI accessibility infrastructure: Windows adapter\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"accessibility\"]\nrepository = \"https://github.com/AccessKit/accesskit\"\nreadme = \"README.md\"\nedition = \"2021\"\nrust-version = \"1.77.2\"\n\n[package.metadata.docs.rs]\ndefault-target = \"x86_64-pc-windows-msvc\"\ntargets = []\n\n[dependencies]\nstatic_assertions = \"1.1.0\"\nwindows-core = \"0.61.0\"\n\n[dependencies.accesskit]\nversion = \"0.22.0\"\npath = \"../../common\"\n\n[dependencies.accesskit_consumer]\nversion = \"0.32.0\"\npath = \"../../consumer\"\n\n[dependencies.hashbrown]\nversion = \"0.16\"\ndefault-features = false\nfeatures = [\"default-hasher\"]\n\n[dependencies.windows]\nversion = \"0.61.1\"\nfeatures = [\"Win32_Foundation\", \"Win32_Globalization\", \"Win32_Graphics_Gdi\", \"Win32_System_Com\", \"Win32_System_LibraryLoader\", \"Win32_System_Ole\", \"Win32_System_Variant\", \"Win32_UI_Accessibility\", \"Win32_UI_Input_KeyboardAndMouse\", \"Win32_UI_WindowsAndMessaging\"]\n\n[dev-dependencies]\nonce_cell = \"1.13.0\"\nparking_lot = \"0.12.4\"\nscopeguard = \"1.1.0\"\n\n[dev-dependencies.winit]\ngit = \"https://github.com/pop-os/winit.git\"\ntag = \"cosmic-0.14\"\n", - "dest": "cargo/vendor/accesskit_windows", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/accesskit_windows", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/accesskit-f0599ee/platforms/winit\" \"cargo/vendor/accesskit_winit\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"accesskit_winit\"\nversion = \"0.30.0\"\nauthors = [\"The AccessKit contributors\"]\nlicense = \"Apache-2.0\"\ndescription = \"AccessKit UI accessibility infrastructure: winit adapter\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"accessibility\", \"winit\"]\nrepository = \"https://github.com/AccessKit/accesskit\"\nreadme = \"README.md\"\nedition = \"2021\"\nrust-version = \"1.77.2\"\n\n[features]\ndefault = [\"accesskit_unix\", \"async-io\", \"rwh_06\", \"winit/x11\", \"winit/wayland\"]\nrwh_05 = [\"dep:rwh_05\"]\nrwh_06 = [\"dep:rwh_06\"]\nasync-io = [\"accesskit_unix/async-io\"]\ntokio = [\"accesskit_unix/tokio\"]\n\n[dependencies.accesskit]\nversion = \"0.22.0\"\npath = \"../../common\"\n\n[dependencies.winit]\ngit = \"https://github.com/pop-os/winit.git\"\ntag = \"cosmic-0.14\"\ndefault-features = false\n\n[dependencies.rwh_05]\npackage = \"raw-window-handle\"\nversion = \"0.5\"\nfeatures = [\"std\"]\noptional = true\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6.2\"\nfeatures = [\"std\"]\noptional = true\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.accesskit_windows]\nversion = \"0.30.0\"\npath = \"../windows\"\n\n[target.\"cfg(target_os = \\\"macos\\\")\".dependencies.accesskit_macos]\nversion = \"0.23.0\"\npath = \"../macos\"\n\n[target.\"cfg(any(target_os = \\\"linux\\\", target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"openbsd\\\", target_os = \\\"netbsd\\\"))\".dependencies.accesskit_unix]\nversion = \"0.18.0\"\npath = \"../unix\"\noptional = true\ndefault-features = false\n\n[target.\"cfg(target_os = \\\"android\\\")\".dependencies.accesskit_android]\nversion = \"0.5.0\"\npath = \"../android\"\noptional = true\nfeatures = [\"embedded-dex\"]\n\n[target.\"cfg(not(any(target_os = \\\"android\\\", target_os = \\\"ios\\\")))\".dev-dependencies.softbuffer]\nversion = \"0.4.0\"\ndefault-features = false\nfeatures = [\"x11\", \"x11-dlopen\", \"wayland\", \"wayland-dlopen\"]\n\n[dev-dependencies.winit]\ngit = \"https://github.com/pop-os/winit.git\"\ntag = \"cosmic-0.14\"\ndefault-features = false\nfeatures = [\"x11\", \"wayland\", \"wayland-dlopen\", \"wayland-csd-adwaita\"]\n", - "dest": "cargo/vendor/accesskit_winit", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/accesskit_winit", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/addr2line/addr2line-0.25.1.crate", - "sha256": "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b", - "dest": "cargo/vendor/addr2line-0.25.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b\", \"files\": {}}", - "dest": "cargo/vendor/addr2line-0.25.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/adler2/adler2-2.0.1.crate", - "sha256": "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa", - "dest": "cargo/vendor/adler2-2.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa\", \"files\": {}}", - "dest": "cargo/vendor/adler2-2.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ahash/ahash-0.8.12.crate", - "sha256": "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75", - "dest": "cargo/vendor/ahash-0.8.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75\", \"files\": {}}", - "dest": "cargo/vendor/ahash-0.8.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/aho-corasick/aho-corasick-1.1.4.crate", - "sha256": "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301", - "dest": "cargo/vendor/aho-corasick-1.1.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301\", \"files\": {}}", - "dest": "cargo/vendor/aho-corasick-1.1.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/aliasable/aliasable-0.1.3.crate", - "sha256": "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd", - "dest": "cargo/vendor/aliasable-0.1.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\", \"files\": {}}", - "dest": "cargo/vendor/aliasable-0.1.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/aligned/aligned-0.4.3.crate", - "sha256": "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685", - "dest": "cargo/vendor/aligned-0.4.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685\", \"files\": {}}", - "dest": "cargo/vendor/aligned-0.4.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/aligned-vec/aligned-vec-0.6.4.crate", - "sha256": "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b", - "dest": "cargo/vendor/aligned-vec-0.6.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b\", \"files\": {}}", - "dest": "cargo/vendor/aligned-vec-0.6.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/allocator-api2/allocator-api2-0.2.21.crate", - "sha256": "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923", - "dest": "cargo/vendor/allocator-api2-0.2.21" - }, - { - "type": "inline", - "contents": "{\"package\": \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\", \"files\": {}}", - "dest": "cargo/vendor/allocator-api2-0.2.21", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/almost/almost-0.2.0.crate", - "sha256": "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14", - "dest": "cargo/vendor/almost-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14\", \"files\": {}}", - "dest": "cargo/vendor/almost-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/alsa/alsa-0.11.0.crate", - "sha256": "812947049edcd670a82cd5c73c3661d2e58468577ba8489de58e1a73c04cbd5d", - "dest": "cargo/vendor/alsa-0.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"812947049edcd670a82cd5c73c3661d2e58468577ba8489de58e1a73c04cbd5d\", \"files\": {}}", - "dest": "cargo/vendor/alsa-0.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/alsa-sys/alsa-sys-0.4.0.crate", - "sha256": "ad7569085a265dd3f607ebecce7458eaab2132a84393534c95b18dcbc3f31e04", - "dest": "cargo/vendor/alsa-sys-0.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ad7569085a265dd3f607ebecce7458eaab2132a84393534c95b18dcbc3f31e04\", \"files\": {}}", - "dest": "cargo/vendor/alsa-sys-0.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/android-activity/android-activity-0.6.1.crate", - "sha256": "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd", - "dest": "cargo/vendor/android-activity-0.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd\", \"files\": {}}", - "dest": "cargo/vendor/android-activity-0.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/android-properties/android-properties-0.2.2.crate", - "sha256": "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04", - "dest": "cargo/vendor/android-properties-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04\", \"files\": {}}", - "dest": "cargo/vendor/android-properties-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/android_system_properties/android_system_properties-0.1.5.crate", - "sha256": "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311", - "dest": "cargo/vendor/android_system_properties-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311\", \"files\": {}}", - "dest": "cargo/vendor/android_system_properties-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/anstream/anstream-1.0.0.crate", - "sha256": "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d", - "dest": "cargo/vendor/anstream-1.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\", \"files\": {}}", - "dest": "cargo/vendor/anstream-1.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/anstyle/anstyle-1.0.14.crate", - "sha256": "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000", - "dest": "cargo/vendor/anstyle-1.0.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\", \"files\": {}}", - "dest": "cargo/vendor/anstyle-1.0.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/anstyle-parse/anstyle-parse-1.0.0.crate", - "sha256": "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e", - "dest": "cargo/vendor/anstyle-parse-1.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\", \"files\": {}}", - "dest": "cargo/vendor/anstyle-parse-1.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/anstyle-query/anstyle-query-1.1.5.crate", - "sha256": "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc", - "dest": "cargo/vendor/anstyle-query-1.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\", \"files\": {}}", - "dest": "cargo/vendor/anstyle-query-1.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/anstyle-wincon/anstyle-wincon-3.0.11.crate", - "sha256": "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d", - "dest": "cargo/vendor/anstyle-wincon-3.0.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\", \"files\": {}}", - "dest": "cargo/vendor/anstyle-wincon-3.0.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/anyhow/anyhow-1.0.102.crate", - "sha256": "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c", - "dest": "cargo/vendor/anyhow-1.0.102" - }, - { - "type": "inline", - "contents": "{\"package\": \"7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c\", \"files\": {}}", - "dest": "cargo/vendor/anyhow-1.0.102", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/apply/apply-0.3.0.crate", - "sha256": "f47b57fc4521e3cae26a4d45b5227f8fadee4c345be0fefd8d5d1711afb8aeb9", - "dest": "cargo/vendor/apply-0.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f47b57fc4521e3cae26a4d45b5227f8fadee4c345be0fefd8d5d1711afb8aeb9\", \"files\": {}}", - "dest": "cargo/vendor/apply-0.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/approx/approx-0.5.1.crate", - "sha256": "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6", - "dest": "cargo/vendor/approx-0.5.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6\", \"files\": {}}", - "dest": "cargo/vendor/approx-0.5.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/arbitrary/arbitrary-1.4.2.crate", - "sha256": "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1", - "dest": "cargo/vendor/arbitrary-1.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1\", \"files\": {}}", - "dest": "cargo/vendor/arbitrary-1.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/arc-swap/arc-swap-1.9.1.crate", - "sha256": "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207", - "dest": "cargo/vendor/arc-swap-1.9.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207\", \"files\": {}}", - "dest": "cargo/vendor/arc-swap-1.9.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/arg_enum_proc_macro/arg_enum_proc_macro-0.3.4.crate", - "sha256": "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea", - "dest": "cargo/vendor/arg_enum_proc_macro-0.3.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea\", \"files\": {}}", - "dest": "cargo/vendor/arg_enum_proc_macro-0.3.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/arrayref/arrayref-0.3.9.crate", - "sha256": "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb", - "dest": "cargo/vendor/arrayref-0.3.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb\", \"files\": {}}", - "dest": "cargo/vendor/arrayref-0.3.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/arrayvec/arrayvec-0.7.6.crate", - "sha256": "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50", - "dest": "cargo/vendor/arrayvec-0.7.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50\", \"files\": {}}", - "dest": "cargo/vendor/arrayvec-0.7.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/as-raw-xcb-connection/as-raw-xcb-connection-1.0.1.crate", - "sha256": "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b", - "dest": "cargo/vendor/as-raw-xcb-connection-1.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b\", \"files\": {}}", - "dest": "cargo/vendor/as-raw-xcb-connection-1.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/as-slice/as-slice-0.2.1.crate", - "sha256": "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516", - "dest": "cargo/vendor/as-slice-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516\", \"files\": {}}", - "dest": "cargo/vendor/as-slice-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ash/ash-0.38.0+1.3.281.crate", - "sha256": "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f", - "dest": "cargo/vendor/ash-0.38.0+1.3.281" - }, - { - "type": "inline", - "contents": "{\"package\": \"0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f\", \"files\": {}}", - "dest": "cargo/vendor/ash-0.38.0+1.3.281", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ashpd/ashpd-0.11.1.crate", - "sha256": "d2f3f79755c74fd155000314eb349864caa787c6592eace6c6882dad873d9c39", - "dest": "cargo/vendor/ashpd-0.11.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"d2f3f79755c74fd155000314eb349864caa787c6592eace6c6882dad873d9c39\", \"files\": {}}", - "dest": "cargo/vendor/ashpd-0.11.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ashpd/ashpd-0.12.3.crate", - "sha256": "33a3c86f3fd70c0ffa500ed189abfa90b5a52398a45d5dc372fcc38ebeb7a645", - "dest": "cargo/vendor/ashpd-0.12.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"33a3c86f3fd70c0ffa500ed189abfa90b5a52398a45d5dc372fcc38ebeb7a645\", \"files\": {}}", - "dest": "cargo/vendor/ashpd-0.12.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-broadcast/async-broadcast-0.7.2.crate", - "sha256": "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532", - "dest": "cargo/vendor/async-broadcast-0.7.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532\", \"files\": {}}", - "dest": "cargo/vendor/async-broadcast-0.7.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-channel/async-channel-2.5.0.crate", - "sha256": "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2", - "dest": "cargo/vendor/async-channel-2.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2\", \"files\": {}}", - "dest": "cargo/vendor/async-channel-2.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-executor/async-executor-1.14.0.crate", - "sha256": "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a", - "dest": "cargo/vendor/async-executor-1.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a\", \"files\": {}}", - "dest": "cargo/vendor/async-executor-1.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-io/async-io-2.6.0.crate", - "sha256": "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc", - "dest": "cargo/vendor/async-io-2.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc\", \"files\": {}}", - "dest": "cargo/vendor/async-io-2.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-lock/async-lock-3.4.2.crate", - "sha256": "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311", - "dest": "cargo/vendor/async-lock-3.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311\", \"files\": {}}", - "dest": "cargo/vendor/async-lock-3.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-process/async-process-2.5.0.crate", - "sha256": "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75", - "dest": "cargo/vendor/async-process-2.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75\", \"files\": {}}", - "dest": "cargo/vendor/async-process-2.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-recursion/async-recursion-1.1.1.crate", - "sha256": "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11", - "dest": "cargo/vendor/async-recursion-1.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11\", \"files\": {}}", - "dest": "cargo/vendor/async-recursion-1.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-signal/async-signal-0.2.14.crate", - "sha256": "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485", - "dest": "cargo/vendor/async-signal-0.2.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485\", \"files\": {}}", - "dest": "cargo/vendor/async-signal-0.2.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-task/async-task-4.7.1.crate", - "sha256": "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de", - "dest": "cargo/vendor/async-task-4.7.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de\", \"files\": {}}", - "dest": "cargo/vendor/async-task-4.7.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/async-trait/async-trait-0.1.89.crate", - "sha256": "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb", - "dest": "cargo/vendor/async-trait-0.1.89" - }, - { - "type": "inline", - "contents": "{\"package\": \"9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb\", \"files\": {}}", - "dest": "cargo/vendor/async-trait-0.1.89", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/atoi/atoi-2.0.0.crate", - "sha256": "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528", - "dest": "cargo/vendor/atoi-2.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528\", \"files\": {}}", - "dest": "cargo/vendor/atoi-2.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/atomic-waker/atomic-waker-1.1.2.crate", - "sha256": "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0", - "dest": "cargo/vendor/atomic-waker-1.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\", \"files\": {}}", - "dest": "cargo/vendor/atomic-waker-1.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/atomic_refcell/atomic_refcell-0.1.13.crate", - "sha256": "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c", - "dest": "cargo/vendor/atomic_refcell-0.1.13" - }, - { - "type": "inline", - "contents": "{\"package\": \"41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c\", \"files\": {}}", - "dest": "cargo/vendor/atomic_refcell-0.1.13", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/rust-atomicwrites-043ab48/.\" \"cargo/vendor/atomicwrites\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"atomicwrites\"\nversion = \"0.4.2\"\nauthors = [\"Markus Unterwaditzer \"]\nlicense = \"MIT\"\nkeywords = [\"filesystem\", \"posix\"]\nreadme = \"README.md\"\ndescription = \"Atomic file-writes.\"\ndocumentation = \"https://docs.rs/crate/atomicwrites\"\nhomepage = \"https://github.com/untitaker/rust-atomicwrites\"\nrepository = \"https://github.com/untitaker/rust-atomicwrites\"\nexclude = [\"/.travis.yml\", \"/Makefile\", \"/appveyor.yml\"]\n\n[dependencies]\ntempfile = \"3.1\"\n\n[target.\"cfg(unix)\".dependencies.rustix]\nversion = \"0.38.0\"\nfeatures = [\"fs\"]\n\n[target.\"cfg(windows)\".dependencies.windows-sys]\nversion = \"0.48.0\"\nfeatures = [\"Win32_Foundation\", \"Win32_Storage_FileSystem\"]\n", - "dest": "cargo/vendor/atomicwrites", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/atomicwrites", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/atspi/atspi-0.29.0.crate", - "sha256": "c77886257be21c9cd89a4ae7e64860c6f0eefca799bb79127913052bd0eefb3d", - "dest": "cargo/vendor/atspi-0.29.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c77886257be21c9cd89a4ae7e64860c6f0eefca799bb79127913052bd0eefb3d\", \"files\": {}}", - "dest": "cargo/vendor/atspi-0.29.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/atspi-common/atspi-common-0.13.0.crate", - "sha256": "20c5617155740c98003016429ad13fe43ce7a77b007479350a9f8bf95a29f63d", - "dest": "cargo/vendor/atspi-common-0.13.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"20c5617155740c98003016429ad13fe43ce7a77b007479350a9f8bf95a29f63d\", \"files\": {}}", - "dest": "cargo/vendor/atspi-common-0.13.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/atspi-proxies/atspi-proxies-0.13.0.crate", - "sha256": "2230e48787ed3eb4088996eab66a32ca20c0b67bbd4fd6cdfe79f04f1f04c9fc", - "dest": "cargo/vendor/atspi-proxies-0.13.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"2230e48787ed3eb4088996eab66a32ca20c0b67bbd4fd6cdfe79f04f1f04c9fc\", \"files\": {}}", - "dest": "cargo/vendor/atspi-proxies-0.13.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/auto_enums/auto_enums-0.8.8.crate", - "sha256": "65398a2893f41bce5c9259f6e1a4f03fbae40637c1bdc755b4f387f48c613b03", - "dest": "cargo/vendor/auto_enums-0.8.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"65398a2893f41bce5c9259f6e1a4f03fbae40637c1bdc755b4f387f48c613b03\", \"files\": {}}", - "dest": "cargo/vendor/auto_enums-0.8.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/autocfg/autocfg-1.5.0.crate", - "sha256": "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8", - "dest": "cargo/vendor/autocfg-1.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8\", \"files\": {}}", - "dest": "cargo/vendor/autocfg-1.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/av-scenechange/av-scenechange-0.14.1.crate", - "sha256": "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394", - "dest": "cargo/vendor/av-scenechange-0.14.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394\", \"files\": {}}", - "dest": "cargo/vendor/av-scenechange-0.14.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/av1-grain/av1-grain-0.2.5.crate", - "sha256": "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8", - "dest": "cargo/vendor/av1-grain-0.2.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8\", \"files\": {}}", - "dest": "cargo/vendor/av1-grain-0.2.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/avif-serialize/avif-serialize-0.8.8.crate", - "sha256": "375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d", - "dest": "cargo/vendor/avif-serialize-0.8.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d\", \"files\": {}}", - "dest": "cargo/vendor/avif-serialize-0.8.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/aws-lc-rs/aws-lc-rs-1.16.2.crate", - "sha256": "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc", - "dest": "cargo/vendor/aws-lc-rs-1.16.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc\", \"files\": {}}", - "dest": "cargo/vendor/aws-lc-rs-1.16.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/aws-lc-sys/aws-lc-sys-0.39.1.crate", - "sha256": "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399", - "dest": "cargo/vendor/aws-lc-sys-0.39.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399\", \"files\": {}}", - "dest": "cargo/vendor/aws-lc-sys-0.39.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/backtrace/backtrace-0.3.76.crate", - "sha256": "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6", - "dest": "cargo/vendor/backtrace-0.3.76" - }, - { - "type": "inline", - "contents": "{\"package\": \"bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6\", \"files\": {}}", - "dest": "cargo/vendor/backtrace-0.3.76", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/backtrace-ext/backtrace-ext-0.2.1.crate", - "sha256": "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50", - "dest": "cargo/vendor/backtrace-ext-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50\", \"files\": {}}", - "dest": "cargo/vendor/backtrace-ext-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/base64/base64-0.21.7.crate", - "sha256": "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567", - "dest": "cargo/vendor/base64-0.21.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567\", \"files\": {}}", - "dest": "cargo/vendor/base64-0.21.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/base64/base64-0.22.1.crate", - "sha256": "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6", - "dest": "cargo/vendor/base64-0.22.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\", \"files\": {}}", - "dest": "cargo/vendor/base64-0.22.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/base64ct/base64ct-1.8.3.crate", - "sha256": "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06", - "dest": "cargo/vendor/base64ct-1.8.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06\", \"files\": {}}", - "dest": "cargo/vendor/base64ct-1.8.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/basic-toml/basic-toml-0.1.10.crate", - "sha256": "ba62675e8242a4c4e806d12f11d136e626e6c8361d6b829310732241652a178a", - "dest": "cargo/vendor/basic-toml-0.1.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"ba62675e8242a4c4e806d12f11d136e626e6c8361d6b829310732241652a178a\", \"files\": {}}", - "dest": "cargo/vendor/basic-toml-0.1.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bincode/bincode-1.3.3.crate", - "sha256": "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad", - "dest": "cargo/vendor/bincode-1.3.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\", \"files\": {}}", - "dest": "cargo/vendor/bincode-1.3.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bindgen/bindgen-0.72.1.crate", - "sha256": "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895", - "dest": "cargo/vendor/bindgen-0.72.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\", \"files\": {}}", - "dest": "cargo/vendor/bindgen-0.72.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bit-set/bit-set-0.8.0.crate", - "sha256": "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3", - "dest": "cargo/vendor/bit-set-0.8.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3\", \"files\": {}}", - "dest": "cargo/vendor/bit-set-0.8.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bit-vec/bit-vec-0.8.0.crate", - "sha256": "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7", - "dest": "cargo/vendor/bit-vec-0.8.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7\", \"files\": {}}", - "dest": "cargo/vendor/bit-vec-0.8.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bit_field/bit_field-0.10.3.crate", - "sha256": "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6", - "dest": "cargo/vendor/bit_field-0.10.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6\", \"files\": {}}", - "dest": "cargo/vendor/bit_field-0.10.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bitflags/bitflags-1.3.2.crate", - "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", - "dest": "cargo/vendor/bitflags-1.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\", \"files\": {}}", - "dest": "cargo/vendor/bitflags-1.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bitflags/bitflags-2.11.0.crate", - "sha256": "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af", - "dest": "cargo/vendor/bitflags-2.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af\", \"files\": {}}", - "dest": "cargo/vendor/bitflags-2.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bitstream-io/bitstream-io-4.9.0.crate", - "sha256": "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757", - "dest": "cargo/vendor/bitstream-io-4.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757\", \"files\": {}}", - "dest": "cargo/vendor/bitstream-io-4.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/block/block-0.1.6.crate", - "sha256": "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a", - "dest": "cargo/vendor/block-0.1.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a\", \"files\": {}}", - "dest": "cargo/vendor/block-0.1.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/block-buffer/block-buffer-0.10.4.crate", - "sha256": "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71", - "dest": "cargo/vendor/block-buffer-0.10.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\", \"files\": {}}", - "dest": "cargo/vendor/block-buffer-0.10.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/block2/block2-0.5.1.crate", - "sha256": "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f", - "dest": "cargo/vendor/block2-0.5.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f\", \"files\": {}}", - "dest": "cargo/vendor/block2-0.5.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/block2/block2-0.6.2.crate", - "sha256": "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5", - "dest": "cargo/vendor/block2-0.6.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\", \"files\": {}}", - "dest": "cargo/vendor/block2-0.6.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/blocking/blocking-1.6.2.crate", - "sha256": "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21", - "dest": "cargo/vendor/blocking-1.6.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21\", \"files\": {}}", - "dest": "cargo/vendor/blocking-1.6.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/borsh/borsh-1.6.1.crate", - "sha256": "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a", - "dest": "cargo/vendor/borsh-1.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a\", \"files\": {}}", - "dest": "cargo/vendor/borsh-1.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bstr/bstr-1.12.1.crate", - "sha256": "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab", - "dest": "cargo/vendor/bstr-1.12.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab\", \"files\": {}}", - "dest": "cargo/vendor/bstr-1.12.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/btoi/btoi-0.5.0.crate", - "sha256": "3b5ab9db53bcda568284df0fd39f6eac24ad6f7ba7ff1168b9e76eba6576b976", - "dest": "cargo/vendor/btoi-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3b5ab9db53bcda568284df0fd39f6eac24ad6f7ba7ff1168b9e76eba6576b976\", \"files\": {}}", - "dest": "cargo/vendor/btoi-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/built/built-0.8.0.crate", - "sha256": "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64", - "dest": "cargo/vendor/built-0.8.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64\", \"files\": {}}", - "dest": "cargo/vendor/built-0.8.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bumpalo/bumpalo-3.20.2.crate", - "sha256": "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb", - "dest": "cargo/vendor/bumpalo-3.20.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb\", \"files\": {}}", - "dest": "cargo/vendor/bumpalo-3.20.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/by_address/by_address-1.2.1.crate", - "sha256": "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06", - "dest": "cargo/vendor/by_address-1.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06\", \"files\": {}}", - "dest": "cargo/vendor/by_address-1.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bytemuck/bytemuck-1.25.0.crate", - "sha256": "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec", - "dest": "cargo/vendor/bytemuck-1.25.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec\", \"files\": {}}", - "dest": "cargo/vendor/bytemuck-1.25.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bytemuck_derive/bytemuck_derive-1.10.2.crate", - "sha256": "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff", - "dest": "cargo/vendor/bytemuck_derive-1.10.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff\", \"files\": {}}", - "dest": "cargo/vendor/bytemuck_derive-1.10.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/byteorder/byteorder-1.5.0.crate", - "sha256": "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b", - "dest": "cargo/vendor/byteorder-1.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\", \"files\": {}}", - "dest": "cargo/vendor/byteorder-1.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/byteorder-lite/byteorder-lite-0.1.0.crate", - "sha256": "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495", - "dest": "cargo/vendor/byteorder-lite-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495\", \"files\": {}}", - "dest": "cargo/vendor/byteorder-lite-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/bytes/bytes-1.11.1.crate", - "sha256": "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33", - "dest": "cargo/vendor/bytes-1.11.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33\", \"files\": {}}", - "dest": "cargo/vendor/bytes-1.11.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/calloop/calloop-0.14.4.crate", - "sha256": "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7", - "dest": "cargo/vendor/calloop-0.14.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7\", \"files\": {}}", - "dest": "cargo/vendor/calloop-0.14.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/calloop-wayland-source/calloop-wayland-source-0.4.1.crate", - "sha256": "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa", - "dest": "cargo/vendor/calloop-wayland-source-0.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa\", \"files\": {}}", - "dest": "cargo/vendor/calloop-wayland-source-0.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cc/cc-1.2.60.crate", - "sha256": "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20", - "dest": "cargo/vendor/cc-1.2.60" - }, - { - "type": "inline", - "contents": "{\"package\": \"43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20\", \"files\": {}}", - "dest": "cargo/vendor/cc-1.2.60", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cesu8/cesu8-1.1.0.crate", - "sha256": "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c", - "dest": "cargo/vendor/cesu8-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c\", \"files\": {}}", - "dest": "cargo/vendor/cesu8-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cexpr/cexpr-0.6.0.crate", - "sha256": "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766", - "dest": "cargo/vendor/cexpr-0.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\", \"files\": {}}", - "dest": "cargo/vendor/cexpr-0.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cfg-expr/cfg-expr-0.20.7.crate", - "sha256": "3c6b04e07d8080154ed4ac03546d9a2b303cc2fe1901ba0b35b301516e289368", - "dest": "cargo/vendor/cfg-expr-0.20.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"3c6b04e07d8080154ed4ac03546d9a2b303cc2fe1901ba0b35b301516e289368\", \"files\": {}}", - "dest": "cargo/vendor/cfg-expr-0.20.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cfg-if/cfg-if-1.0.4.crate", - "sha256": "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801", - "dest": "cargo/vendor/cfg-if-1.0.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\", \"files\": {}}", - "dest": "cargo/vendor/cfg-if-1.0.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cfg_aliases/cfg_aliases-0.1.1.crate", - "sha256": "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e", - "dest": "cargo/vendor/cfg_aliases-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e\", \"files\": {}}", - "dest": "cargo/vendor/cfg_aliases-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cfg_aliases/cfg_aliases-0.2.1.crate", - "sha256": "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724", - "dest": "cargo/vendor/cfg_aliases-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724\", \"files\": {}}", - "dest": "cargo/vendor/cfg_aliases-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/chacha20/chacha20-0.10.0.crate", - "sha256": "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601", - "dest": "cargo/vendor/chacha20-0.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601\", \"files\": {}}", - "dest": "cargo/vendor/chacha20-0.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/chrono/chrono-0.4.44.crate", - "sha256": "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0", - "dest": "cargo/vendor/chrono-0.4.44" - }, - { - "type": "inline", - "contents": "{\"package\": \"c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0\", \"files\": {}}", - "dest": "cargo/vendor/chrono-0.4.44", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/clang-sys/clang-sys-1.8.1.crate", - "sha256": "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4", - "dest": "cargo/vendor/clang-sys-1.8.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4\", \"files\": {}}", - "dest": "cargo/vendor/clang-sys-1.8.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/clap/clap-4.6.0.crate", - "sha256": "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351", - "dest": "cargo/vendor/clap-4.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351\", \"files\": {}}", - "dest": "cargo/vendor/clap-4.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/clap_builder/clap_builder-4.6.0.crate", - "sha256": "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f", - "dest": "cargo/vendor/clap_builder-4.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f\", \"files\": {}}", - "dest": "cargo/vendor/clap_builder-4.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/clap_derive/clap_derive-4.6.0.crate", - "sha256": "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a", - "dest": "cargo/vendor/clap_derive-4.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a\", \"files\": {}}", - "dest": "cargo/vendor/clap_derive-4.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/clap_lex/clap_lex-1.1.0.crate", - "sha256": "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9", - "dest": "cargo/vendor/clap_lex-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9\", \"files\": {}}", - "dest": "cargo/vendor/clap_lex-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/clipboard-win/clipboard-win-5.4.1.crate", - "sha256": "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4", - "dest": "cargo/vendor/clipboard-win-5.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4\", \"files\": {}}", - "dest": "cargo/vendor/clipboard-win-5.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/window_clipboard-f68595e/macos\" \"cargo/vendor/clipboard_macos\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"clipboard_macos\"\nversion = \"0.1.0\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nedition = \"2018\"\ndescription = \"A library to obtain access to the macOS clipboard\"\nlicense = \"Apache-2.0\"\nrepository = \"https://github.com/hecrj/window_clipboard\"\ndocumentation = \"https://docs.rs/clipboard_macos\"\nkeywords = [\"clipboard\", \"macos\"]\n\n[package.metadata.docs.rs]\ndefault-target = \"x86_64-apple-darwin\"\n\n[dependencies]\nobjc = \"0.2\"\nobjc_id = \"0.1\"\nobjc-foundation = \"0.1\"\n", - "dest": "cargo/vendor/clipboard_macos", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/clipboard_macos", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/window_clipboard-f68595e/wayland\" \"cargo/vendor/clipboard_wayland\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"clipboard_wayland\"\nversion = \"0.2.2\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nedition = \"2018\"\ndescription = \"A library to obtain access to the clipboard of a Wayland window\"\nlicense = \"Apache-2.0\"\nrepository = \"https://github.com/hecrj/window_clipboard\"\ndocumentation = \"https://docs.rs/clipboard_wayland\"\nkeywords = [\"clipboard\", \"wayland\"]\n\n[dependencies.smithay-clipboard]\ngit = \"https://github.com/pop-os/smithay-clipboard\"\ntag = \"sctk-0.20\"\nfeatures = [\"dnd\"]\n\n[dependencies.mime]\npath = \"../mime\"\n\n[dependencies.dnd]\npath = \"../dnd\"\n", - "dest": "cargo/vendor/clipboard_wayland", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/clipboard_wayland", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/window_clipboard-f68595e/x11\" \"cargo/vendor/clipboard_x11\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"clipboard_x11\"\nversion = \"0.4.2\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nedition = \"2018\"\ndescription = \"A library to obtain access to the X11 clipboard\"\nlicense = \"MIT\"\nrepository = \"https://github.com/hecrj/window_clipboard\"\ndocumentation = \"https://docs.rs/clipboard_x11\"\nkeywords = [\"clipboard\", \"x11\"]\n\n[dependencies]\nx11rb = \"0.13\"\nthiserror = \"1.0\"\n", - "dest": "cargo/vendor/clipboard_x11", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/clipboard_x11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cmake/cmake-0.1.58.crate", - "sha256": "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678", - "dest": "cargo/vendor/cmake-0.1.58" - }, - { - "type": "inline", - "contents": "{\"package\": \"c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678\", \"files\": {}}", - "dest": "cargo/vendor/cmake-0.1.58", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cocoa/cocoa-0.25.0.crate", - "sha256": "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c", - "dest": "cargo/vendor/cocoa-0.25.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c\", \"files\": {}}", - "dest": "cargo/vendor/cocoa-0.25.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cocoa-foundation/cocoa-foundation-0.1.2.crate", - "sha256": "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7", - "dest": "cargo/vendor/cocoa-foundation-0.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7\", \"files\": {}}", - "dest": "cargo/vendor/cocoa-foundation-0.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/codespan-reporting/codespan-reporting-0.12.0.crate", - "sha256": "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81", - "dest": "cargo/vendor/codespan-reporting-0.12.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81\", \"files\": {}}", - "dest": "cargo/vendor/codespan-reporting-0.12.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/color_quant/color_quant-1.1.0.crate", - "sha256": "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b", - "dest": "cargo/vendor/color_quant-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b\", \"files\": {}}", - "dest": "cargo/vendor/color_quant-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/colorchoice/colorchoice-1.0.5.crate", - "sha256": "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570", - "dest": "cargo/vendor/colorchoice-1.0.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\", \"files\": {}}", - "dest": "cargo/vendor/colorchoice-1.0.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/combine/combine-4.6.7.crate", - "sha256": "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd", - "dest": "cargo/vendor/combine-4.6.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd\", \"files\": {}}", - "dest": "cargo/vendor/combine-4.6.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/concurrent-queue/concurrent-queue-2.5.0.crate", - "sha256": "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973", - "dest": "cargo/vendor/concurrent-queue-2.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973\", \"files\": {}}", - "dest": "cargo/vendor/concurrent-queue-2.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/configparser/configparser-3.1.0.crate", - "sha256": "e57e3272f0190c3f1584272d613719ba5fc7df7f4942fe542e63d949cf3a649b", - "dest": "cargo/vendor/configparser-3.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e57e3272f0190c3f1584272d613719ba5fc7df7f4942fe542e63d949cf3a649b\", \"files\": {}}", - "dest": "cargo/vendor/configparser-3.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/const-oid/const-oid-0.9.6.crate", - "sha256": "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8", - "dest": "cargo/vendor/const-oid-0.9.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8\", \"files\": {}}", - "dest": "cargo/vendor/const-oid-0.9.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core-foundation/core-foundation-0.9.4.crate", - "sha256": "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f", - "dest": "cargo/vendor/core-foundation-0.9.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f\", \"files\": {}}", - "dest": "cargo/vendor/core-foundation-0.9.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core-foundation/core-foundation-0.10.1.crate", - "sha256": "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6", - "dest": "cargo/vendor/core-foundation-0.10.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6\", \"files\": {}}", - "dest": "cargo/vendor/core-foundation-0.10.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core-foundation-sys/core-foundation-sys-0.8.7.crate", - "sha256": "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b", - "dest": "cargo/vendor/core-foundation-sys-0.8.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b\", \"files\": {}}", - "dest": "cargo/vendor/core-foundation-sys-0.8.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core-graphics/core-graphics-0.23.2.crate", - "sha256": "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081", - "dest": "cargo/vendor/core-graphics-0.23.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081\", \"files\": {}}", - "dest": "cargo/vendor/core-graphics-0.23.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core-graphics-types/core-graphics-types-0.1.3.crate", - "sha256": "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf", - "dest": "cargo/vendor/core-graphics-types-0.1.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf\", \"files\": {}}", - "dest": "cargo/vendor/core-graphics-types-0.1.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core-graphics-types/core-graphics-types-0.2.0.crate", - "sha256": "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb", - "dest": "cargo/vendor/core-graphics-types-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb\", \"files\": {}}", - "dest": "cargo/vendor/core-graphics-types-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core-text/core-text-20.1.0.crate", - "sha256": "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5", - "dest": "cargo/vendor/core-text-20.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5\", \"files\": {}}", - "dest": "cargo/vendor/core-text-20.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core2/core2-0.4.0.crate", - "sha256": "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505", - "dest": "cargo/vendor/core2-0.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505\", \"files\": {}}", - "dest": "cargo/vendor/core2-0.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/core_maths/core_maths-0.1.1.crate", - "sha256": "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30", - "dest": "cargo/vendor/core_maths-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30\", \"files\": {}}", - "dest": "cargo/vendor/core_maths-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/coreaudio-rs/coreaudio-rs-0.14.1.crate", - "sha256": "16dd574a72a021b90c7656c474ea31d11a2f0366a8eff574186e761e0b9e3586", - "dest": "cargo/vendor/coreaudio-rs-0.14.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"16dd574a72a021b90c7656c474ea31d11a2f0366a8eff574186e761e0b9e3586\", \"files\": {}}", - "dest": "cargo/vendor/coreaudio-rs-0.14.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/cosmic-config\" \"cargo/vendor/cosmic-config\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cosmic-config\"\nversion = \"1.0.0\"\nedition = \"2024\"\n\n[features]\ndefault = [\"macro\", \"subscription\"]\ndbus = [\"dep:zbus\", \"cosmic-settings-daemon\", \"futures-util\", \"subscription\"]\nmacro = [\"cosmic-config-derive\"]\nsubscription = [\"iced_futures\"]\n\n[dependencies]\nnotify = \"8.2.0\"\nron = \"0.12.0\"\nserde = \"1.0.228\"\ndirs = \"6.0.0\"\ntracing = \"0.1\"\n\n[dependencies.cosmic-settings-daemon]\ngit = \"https://github.com/pop-os/dbus-settings-bindings\"\noptional = true\n\n[dependencies.zbus]\nversion = \"5.14.0\"\ndefault-features = false\noptional = true\n\n[dependencies.atomicwrites]\ngit = \"https://github.com/jackpot51/rust-atomicwrites\"\n\n[dependencies.calloop]\nversion = \"0.14.4\"\noptional = true\n\n[dependencies.cosmic-config-derive]\npath = \"../cosmic-config-derive/\"\noptional = true\n\n[dependencies.iced]\npath = \"../iced/\"\ndefault-features = false\noptional = true\n\n[dependencies.iced_futures]\npath = \"../iced/futures/\"\ndefault-features = false\noptional = true\n\n[dependencies.futures-util]\nversion = \"0.3\"\noptional = true\n\n[dependencies.tokio]\nversion = \"1.50\"\noptional = true\nfeatures = [\"time\"]\n\n[dependencies.async-std]\nversion = \"1.13\"\noptional = true\n\n[target.\"cfg(unix)\".dependencies]\nxdg = \"3.0\"\n\n[target.\"cfg(windows)\".dependencies]\nknown-folders = \"1.4.2\"\n", - "dest": "cargo/vendor/cosmic-config", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cosmic-config", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/cosmic-config-derive\" \"cargo/vendor/cosmic-config-derive\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cosmic-config-derive\"\nversion = \"1.0.0\"\nedition = \"2024\"\n\n[lib]\nproc-macro = true\n\n[dependencies]\nsyn = \"2.0\"\nquote = \"1.0\"\n", - "dest": "cargo/vendor/cosmic-config-derive", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cosmic-config-derive", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/freedesktop-icons-7a61a70/.\" \"cargo/vendor/cosmic-freedesktop-icons\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cosmic-freedesktop-icons\"\nversion = \"0.4.0\"\nedition = \"2024\"\nlicense = \"MIT\"\ndescription = \"A Freedesktop Icons lookup crate\"\nrepository = \"https://github.com/pop-os/freedesktop-icons\"\nreadme = \"README.md\"\nkeywords = [\"icons\", \"gui\", \"freedesktop\"]\n\n[dependencies]\nbstr = \"1.12.1\"\nbtoi = \"0.5.0\"\nmemchr = \"2.7.6\"\nmemmap2 = \"0.9\"\nthiserror = \"2.0\"\nxdg = \"3.0\"\n\n[dependencies.tracing]\nversion = \"0.1.41\"\ndefault-features = false\n\n[dev-dependencies]\nspeculoos = \"0.13.0\"\ncriterion = \"0.7\"\n\n[features]\ndefault = []\nlocal_tests = []\n\n[[bench]]\nname = \"simple_lookup\"\nharness = false\n", - "dest": "cargo/vendor/cosmic-freedesktop-icons", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cosmic-freedesktop-icons", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/dbus-settings-bindings-507e342/cosmic-settings-daemon\" \"cargo/vendor/cosmic-settings-daemon\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cosmic-settings-daemon\"\nversion = \"0.1.0\"\nedition = \"2024\"\n\n[dependencies.zbus]\nversion = \"5.14.0\"\n\n[dev-dependencies]\nfutures = \"0.3\"\n\n[dev-dependencies.tokio]\nversion = \"1\"\nfeatures = [\"full\"]\n\n[dev-dependencies.zbus]\nfeatures = [\"tokio\"]\nversion = \"5.14.0\"\n", - "dest": "cargo/vendor/cosmic-settings-daemon", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cosmic-settings-daemon", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/cosmic-text-4d74f79/.\" \"cargo/vendor/cosmic-text\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cosmic-text\"\ndescription = \"Pure Rust multi-line text handling\"\nversion = \"0.18.2\"\nauthors = [\"Jeremy Soller \"]\nedition = \"2021\"\nlicense = \"MIT OR Apache-2.0\"\ndocumentation = \"https://docs.rs/cosmic-text/latest/cosmic_text/\"\nrepository = \"https://github.com/pop-os/cosmic-text\"\nrust-version = \"1.89\"\n\n[package.metadata.docs.rs]\nfeatures = [\"vi\"]\n\n[dependencies]\nbitflags = \"2.10.0\"\nlog = \"0.4.29\"\nrangemap = \"1.7.1\"\nself_cell = \"1.2.2\"\nunicode-linebreak = \"0.1.5\"\nunicode-script = \"0.5.8\"\nunicode-segmentation = \"1.12.0\"\n\n[dependencies.core_maths]\nversion = \"0.1.1\"\noptional = true\n\n[dependencies.cosmic_undo_2]\nversion = \"0.2.0\"\noptional = true\n\n[dependencies.fontdb]\nversion = \"0.23\"\ndefault-features = false\n\n[dependencies.harfrust]\nversion = \"0.5.0\"\ndefault-features = false\n\n[dependencies.hashbrown]\nversion = \"0.17\"\noptional = true\ndefault-features = false\n\n[dependencies.libm]\nversion = \"0.2.16\"\noptional = true\n\n[dependencies.linebender_resource_handle]\nversion = \"0.1.1\"\ndefault-features = false\n\n[dependencies.modit]\nversion = \"0.1.5\"\noptional = true\n\n[dependencies.rustc-hash]\nversion = \"2.1.1\"\ndefault-features = false\n\n[dependencies.skrifa]\nversion = \"0.40.0\"\ndefault-features = false\n\n[dependencies.smol_str]\nversion = \"0.3.2\"\ndefault-features = false\n\n[dependencies.syntect]\nversion = \"5.3.0\"\noptional = true\n\n[dependencies.sys-locale]\nversion = \"0.3.2\"\noptional = true\n\n[dependencies.swash]\nversion = \"0.2.6\"\ndefault-features = false\nfeatures = [\"render\", \"scale\"]\noptional = true\n\n[dependencies.unicode-bidi]\nversion = \"0.3.18\"\ndefault-features = false\nfeatures = [\"hardcoded-data\"]\n\n[features]\ndefault = [\"std\", \"swash\", \"fontconfig\"]\nfontconfig = [\"fontdb/fontconfig\", \"std\"]\nmonospace_fallback = []\nno_std = [\"hashbrown\", \"dep:libm\", \"skrifa/libm\", \"core_maths\", \"swash?/libm\"]\npeniko = []\nshape-run-cache = []\nstd = [\"fontdb/memmap\", \"fontdb/std\", \"harfrust/std\", \"linebender_resource_handle/std\", \"skrifa/std\", \"swash?/std\", \"sys-locale\", \"unicode-bidi/std\"]\nvi = [\"modit\", \"syntect\", \"cosmic_undo_2\"]\nwasm-web = [\"sys-locale?/js\"]\nwarn_on_missing_glyphs = []\n\n[[bench]]\nname = \"layout\"\nharness = false\n\n[[bench]]\nname = \"text_shaping_benchmarks\"\nharness = false\n\n[workspace]\nmembers = [\"examples/*\"]\n\n[dev-dependencies]\ntiny-skia = \"0.11.4\"\n\n[dev-dependencies.criterion]\nversion = \"0.8.1\"\ndefault-features = false\nfeatures = [\"cargo_bench_support\"]\n\n[profile.test]\nopt-level = 1\n", - "dest": "cargo/vendor/cosmic-text", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cosmic-text", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/cosmic-theme\" \"cargo/vendor/cosmic-theme\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cosmic-theme\"\nversion = \"1.0.0\"\nedition = \"2024\"\n\n[package.metadata.docs.rs]\nfeatures = [\"test_all_features\"]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\n\n[features]\ndefault = [\"export\"]\nexport = [\"serde_json\"]\nno-default = []\n\n[dependencies]\nalmost = \"0.2\"\nron = \"0.12.0\"\nconfigparser = \"3.1.0\"\ndirs = \"6.0.0\"\nthiserror = \"2.0.18\"\n\n[dependencies.palette]\nversion = \"0.7.6\"\nfeatures = [\"serializing\"]\n\n[dependencies.serde]\nversion = \"1.0.228\"\nfeatures = [\"derive\"]\n\n[dependencies.serde_json]\nversion = \"1.0.149\"\noptional = true\nfeatures = [\"preserve_order\"]\n\n[dependencies.csscolorparser]\nversion = \"0.8.3\"\nfeatures = [\"serde\"]\n\n[dependencies.cosmic-config]\npath = \"../cosmic-config/\"\ndefault-features = false\nfeatures = [\"subscription\", \"macro\"]\n\n[dev-dependencies]\ninsta = \"1.47.2\"\n\n[profile.dev.package.insta]\nopt-level = 3\n\n[profile.dev.package.similar]\nopt-level = 3\n", - "dest": "cargo/vendor/cosmic-theme", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cosmic-theme", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/cpal-abc0cc2/.\" \"cargo/vendor/cpal\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cpal\"\nversion = \"0.18.0\"\ndescription = \"Low-level cross-platform audio I/O library in pure Rust.\"\nrepository = \"https://github.com/RustAudio/cpal\"\ndocumentation = \"https://docs.rs/cpal\"\nlicense = \"Apache-2.0\"\nkeywords = [\"audio\", \"sound\"]\nedition = \"2021\"\nrust-version = \"1.78\"\n\n[package.metadata.docs.rs]\nall-features = true\nrustdoc-args = [\"--cfg\", \"docsrs\"]\ntargets = [\"x86_64-unknown-linux-gnu\", \"x86_64-pc-windows-msvc\", \"x86_64-apple-darwin\", \"aarch64-apple-darwin\", \"aarch64-apple-ios\", \"wasm32-unknown-unknown\", \"aarch64-linux-android\", \"x86_64-unknown-freebsd\", \"x86_64-unknown-netbsd\", \"x86_64-unknown-dragonfly\"]\n\n[features]\naudio_thread_priority = [\"dep:audio_thread_priority\"]\nasio = [\"dep:asio-sys\", \"dep:num-traits\"]\naudioworklet = [\"wasm-bindgen\", \"web-sys/Blob\", \"web-sys/BlobPropertyBag\", \"web-sys/Url\", \"web-sys/AudioWorklet\", \"web-sys/AudioWorkletNode\", \"web-sys/AudioWorkletNodeOptions\"]\ncustom = []\njack = [\"dep:jack\"]\npipewire = [\"dep:pipewire\"]\npulseaudio = [\"dep:pulseaudio\", \"dep:futures\"]\nwasm-bindgen = [\"dep:wasm-bindgen\", \"dep:wasm-bindgen-futures\"]\n\n[dependencies]\ndasp_sample = \"0.11\"\n\n[dev-dependencies]\nanyhow = \"1.0\"\nhound = \"3.5\"\nringbuf = \"0.4\"\n\n[dev-dependencies.clap]\nversion = \">=4.0, <=4.5.57\"\nfeatures = [\"derive\"]\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.windows]\nversion = \">=0.59, <=0.62\"\nfeatures = [\"Win32_Media\", \"Win32_Media_Audio\", \"Win32_Foundation\", \"Win32_Devices_Properties\", \"Win32_Media_KernelStreaming\", \"Win32_System_Com_StructuredStorage\", \"Win32_System_Threading\", \"Win32_System_Performance\", \"Win32_Security\", \"Win32_System_SystemServices\", \"Win32_System_Variant\", \"Win32_Media_Multimedia\", \"Win32_UI_Shell_PropertiesSystem\"]\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.audio_thread_priority]\nversion = \"0.34\"\noptional = true\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.asio-sys]\nversion = \"0.3.0\"\npath = \"asio-sys\"\noptional = true\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.num-traits]\nversion = \"0.2\"\noptional = true\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.jack]\nversion = \"0.13\"\noptional = true\n\n[target.\"cfg(any(target_os = \\\"linux\\\", target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\".dependencies]\nalsa = \"0.11\"\nlibc = \"0.2\"\n\n[target.\"cfg(any(target_os = \\\"linux\\\", target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\".dependencies.audio_thread_priority]\nversion = \"0.34\"\noptional = true\n\n[target.\"cfg(any(target_os = \\\"linux\\\", target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\".dependencies.jack]\nversion = \"0.13\"\noptional = true\n\n[target.\"cfg(any(target_os = \\\"linux\\\", target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\".dependencies.pulseaudio]\nversion = \"0.3\"\noptional = true\n\n[target.\"cfg(any(target_os = \\\"linux\\\", target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\".dependencies.futures]\nversion = \"0.3\"\noptional = true\n\n[target.\"cfg(any(target_os = \\\"linux\\\", target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\".dependencies.pipewire]\nversion = \"0.9\"\noptional = true\nfeatures = [\"v0_3_53\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies]\nmach2 = \"0.5\"\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.coreaudio-rs]\nversion = \"0.14\"\ndefault-features = false\nfeatures = [\"core_audio\", \"audio_toolbox\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-core-audio]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"AudioHardware\", \"AudioHardwareDeprecated\", \"objc2\", \"objc2-foundation\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-audio-toolbox]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"AUComponent\", \"AudioUnitProperties\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-core-audio-types]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"CoreAudioBaseTypes\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-core-foundation]\nversion = \"0.3\"\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-foundation]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"NSArray\", \"NSString\", \"NSValue\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2]\nversion = \"0.6\"\n\n[target.\"cfg(target_os = \\\"macos\\\")\".dependencies.jack]\nversion = \"0.13\"\noptional = true\n\n[target.\"cfg(target_os = \\\"ios\\\")\".dependencies]\nblock2 = \"0.6\"\n\n[target.\"cfg(target_os = \\\"ios\\\")\".dependencies.objc2-foundation]\nversion = \"0.3\"\nfeatures = [\"block2\", \"NSDictionary\", \"NSNotification\", \"NSOperation\"]\n\n[target.\"cfg(target_os = \\\"ios\\\")\".dependencies.objc2-avf-audio]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"AVAudioSession\", \"AVAudioSessionTypes\"]\n\n[target.\"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"unknown\\\"))\".dependencies.wasm-bindgen]\nversion = \"0.2\"\noptional = true\n\n[target.\"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"unknown\\\"))\".dependencies.wasm-bindgen-futures]\nversion = \"0.4\"\noptional = true\n\n[target.\"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"unknown\\\"))\".dependencies.js-sys]\nversion = \"0.3\"\n\n[target.\"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"unknown\\\"))\".dependencies.web-sys]\nversion = \"0.3\"\nfeatures = [\"AudioContext\", \"AudioContextOptions\", \"AudioBuffer\", \"AudioBufferSourceNode\", \"AudioNode\", \"AudioDestinationNode\", \"Window\", \"AudioContextState\"]\n\n[target.\"cfg(target_os = \\\"android\\\")\".dependencies]\nndk-context = \"0.1\"\njni = \"0.21\"\nlibc = \"0.2\"\nnum-derive = \"0.4\"\nnum-traits = \"0.2\"\n\n[target.\"cfg(target_os = \\\"android\\\")\".dependencies.ndk]\nversion = \"0.9\"\ndefault-features = false\nfeatures = [\"audio\", \"api-level-26\"]\n\n[[example]]\nname = \"beep\"\n\n[[example]]\nname = \"enumerate\"\n\n[[example]]\nname = \"feedback\"\n\n[[example]]\nname = \"record_wav\"\n\n[[example]]\nname = \"synth_tones\"\n", - "dest": "cargo/vendor/cpal", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cpal", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cpufeatures/cpufeatures-0.2.17.crate", - "sha256": "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280", - "dest": "cargo/vendor/cpufeatures-0.2.17" - }, - { - "type": "inline", - "contents": "{\"package\": \"59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280\", \"files\": {}}", - "dest": "cargo/vendor/cpufeatures-0.2.17", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cpufeatures/cpufeatures-0.3.0.crate", - "sha256": "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201", - "dest": "cargo/vendor/cpufeatures-0.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201\", \"files\": {}}", - "dest": "cargo/vendor/cpufeatures-0.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crc/crc-3.4.0.crate", - "sha256": "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d", - "dest": "cargo/vendor/crc-3.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d\", \"files\": {}}", - "dest": "cargo/vendor/crc-3.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crc-catalog/crc-catalog-2.4.0.crate", - "sha256": "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5", - "dest": "cargo/vendor/crc-catalog-2.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5\", \"files\": {}}", - "dest": "cargo/vendor/crc-catalog-2.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crc32fast/crc32fast-1.5.0.crate", - "sha256": "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511", - "dest": "cargo/vendor/crc32fast-1.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511\", \"files\": {}}", - "dest": "cargo/vendor/crc32fast-1.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/crisp-3c7fba4/.\" \"cargo/vendor/crisp\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"crisp\"\nversion = \"0.1.3\"\nedition = \"2021\"\n\n[lib]\nname = \"crisp\"\npath = \"src/lib.rs\"\n\n[dependencies]\nlazy_static = \"1.5.0\"\npretty_assertions = \"1.4.1\"\nregex = \"1.11.0\"\nrustyline = \"14.0.0\"\n\n[dependencies.miette]\nversion = \"7.2.0\"\nfeatures = [\"fancy\"]\n", - "dest": "cargo/vendor/crisp", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/crisp", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crossbeam-deque/crossbeam-deque-0.8.6.crate", - "sha256": "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51", - "dest": "cargo/vendor/crossbeam-deque-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51\", \"files\": {}}", - "dest": "cargo/vendor/crossbeam-deque-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crossbeam-epoch/crossbeam-epoch-0.9.18.crate", - "sha256": "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e", - "dest": "cargo/vendor/crossbeam-epoch-0.9.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e\", \"files\": {}}", - "dest": "cargo/vendor/crossbeam-epoch-0.9.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crossbeam-queue/crossbeam-queue-0.3.12.crate", - "sha256": "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115", - "dest": "cargo/vendor/crossbeam-queue-0.3.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115\", \"files\": {}}", - "dest": "cargo/vendor/crossbeam-queue-0.3.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crossbeam-utils/crossbeam-utils-0.8.21.crate", - "sha256": "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28", - "dest": "cargo/vendor/crossbeam-utils-0.8.21" - }, - { - "type": "inline", - "contents": "{\"package\": \"d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28\", \"files\": {}}", - "dest": "cargo/vendor/crossbeam-utils-0.8.21", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crunchy/crunchy-0.2.4.crate", - "sha256": "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5", - "dest": "cargo/vendor/crunchy-0.2.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5\", \"files\": {}}", - "dest": "cargo/vendor/crunchy-0.2.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/glyphon-c49de15/.\" \"cargo/vendor/cryoglyph\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"cryoglyph\"\ndescription = \"Fast, simple 2D text rendering for wgpu. A fork of glyphon for iced.\"\nversion = \"0.1.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nrepository = \"https://github.com/iced-rs/cryoglyph\"\nlicense = \"MIT OR Apache-2.0 OR Zlib\"\n\n[dependencies]\netagere = \"0.2\"\nrustc-hash = \"2\"\n\n[dependencies.wgpu]\nversion = \"27\"\ndefault-features = false\nfeatures = [\"wgsl\"]\n\n[dependencies.cosmic-text]\ngit = \"https://github.com/pop-os/cosmic-text.git\"\n\n[dependencies.lru]\nversion = \"0.16\"\ndefault-features = false\n\n[dev-dependencies]\nwinit = \"0.30\"\npollster = \"0.4\"\n\n[dev-dependencies.criterion]\nversion = \"0.5\"\nfeatures = [\"html_reports\"]\n\n[[bench]]\nname = \"prepare\"\nharness = false\n", - "dest": "cargo/vendor/cryoglyph", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/cryoglyph", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/crypto-common/crypto-common-0.1.7.crate", - "sha256": "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a", - "dest": "cargo/vendor/crypto-common-0.1.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a\", \"files\": {}}", - "dest": "cargo/vendor/crypto-common-0.1.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/css-color/css-color-0.2.8.crate", - "sha256": "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a", - "dest": "cargo/vendor/css-color-0.2.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a\", \"files\": {}}", - "dest": "cargo/vendor/css-color-0.2.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/csscolorparser/csscolorparser-0.8.3.crate", - "sha256": "199f851bd3cb5004c09474252c7f74e7c047441ed0979bf3688a7106a13da952", - "dest": "cargo/vendor/csscolorparser-0.8.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"199f851bd3cb5004c09474252c7f74e7c047441ed0979bf3688a7106a13da952\", \"files\": {}}", - "dest": "cargo/vendor/csscolorparser-0.8.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cssparser/cssparser-0.36.0.crate", - "sha256": "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2", - "dest": "cargo/vendor/cssparser-0.36.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2\", \"files\": {}}", - "dest": "cargo/vendor/cssparser-0.36.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cssparser-macros/cssparser-macros-0.6.1.crate", - "sha256": "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331", - "dest": "cargo/vendor/cssparser-macros-0.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331\", \"files\": {}}", - "dest": "cargo/vendor/cssparser-macros-0.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ctor-lite/ctor-lite-0.1.2.crate", - "sha256": "e162d0c2e2068eb736b71e5597eff0b9944e6b973cd9f37b6a288ab9bf20e300", - "dest": "cargo/vendor/ctor-lite-0.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e162d0c2e2068eb736b71e5597eff0b9944e6b973cd9f37b6a288ab9bf20e300\", \"files\": {}}", - "dest": "cargo/vendor/ctor-lite-0.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/cursor-icon/cursor-icon-1.2.0.crate", - "sha256": "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f", - "dest": "cargo/vendor/cursor-icon-1.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f\", \"files\": {}}", - "dest": "cargo/vendor/cursor-icon-1.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/darling/darling-0.21.3.crate", - "sha256": "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0", - "dest": "cargo/vendor/darling-0.21.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0\", \"files\": {}}", - "dest": "cargo/vendor/darling-0.21.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/darling/darling-0.23.0.crate", - "sha256": "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d", - "dest": "cargo/vendor/darling-0.23.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d\", \"files\": {}}", - "dest": "cargo/vendor/darling-0.23.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/darling_core/darling_core-0.21.3.crate", - "sha256": "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4", - "dest": "cargo/vendor/darling_core-0.21.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4\", \"files\": {}}", - "dest": "cargo/vendor/darling_core-0.21.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/darling_core/darling_core-0.23.0.crate", - "sha256": "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0", - "dest": "cargo/vendor/darling_core-0.23.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0\", \"files\": {}}", - "dest": "cargo/vendor/darling_core-0.23.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/darling_macro/darling_macro-0.21.3.crate", - "sha256": "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81", - "dest": "cargo/vendor/darling_macro-0.21.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81\", \"files\": {}}", - "dest": "cargo/vendor/darling_macro-0.21.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/darling_macro/darling_macro-0.23.0.crate", - "sha256": "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d", - "dest": "cargo/vendor/darling_macro-0.23.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d\", \"files\": {}}", - "dest": "cargo/vendor/darling_macro-0.23.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dasp_sample/dasp_sample-0.11.0.crate", - "sha256": "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f", - "dest": "cargo/vendor/dasp_sample-0.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f\", \"files\": {}}", - "dest": "cargo/vendor/dasp_sample-0.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/data-encoding/data-encoding-2.10.0.crate", - "sha256": "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea", - "dest": "cargo/vendor/data-encoding-2.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea\", \"files\": {}}", - "dest": "cargo/vendor/data-encoding-2.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/data-url/data-url-0.3.2.crate", - "sha256": "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376", - "dest": "cargo/vendor/data-url-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376\", \"files\": {}}", - "dest": "cargo/vendor/data-url-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/der/der-0.7.10.crate", - "sha256": "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb", - "dest": "cargo/vendor/der-0.7.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb\", \"files\": {}}", - "dest": "cargo/vendor/der-0.7.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/deranged/deranged-0.5.8.crate", - "sha256": "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c", - "dest": "cargo/vendor/deranged-0.5.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c\", \"files\": {}}", - "dest": "cargo/vendor/deranged-0.5.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/derive_more/derive_more-2.1.1.crate", - "sha256": "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134", - "dest": "cargo/vendor/derive_more-2.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134\", \"files\": {}}", - "dest": "cargo/vendor/derive_more-2.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/derive_more-impl/derive_more-impl-2.1.1.crate", - "sha256": "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb", - "dest": "cargo/vendor/derive_more-impl-2.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb\", \"files\": {}}", - "dest": "cargo/vendor/derive_more-impl-2.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/derive_setters/derive_setters-0.1.9.crate", - "sha256": "b7e6f6fa1f03c14ae082120b84b3c7fbd7b8588d924cf2d7c3daf9afd49df8b9", - "dest": "cargo/vendor/derive_setters-0.1.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"b7e6f6fa1f03c14ae082120b84b3c7fbd7b8588d924cf2d7c3daf9afd49df8b9\", \"files\": {}}", - "dest": "cargo/vendor/derive_setters-0.1.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/derive_utils/derive_utils-0.15.1.crate", - "sha256": "362f47930db19fe7735f527e6595e4900316b893ebf6d48ad3d31be928d57dd6", - "dest": "cargo/vendor/derive_utils-0.15.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"362f47930db19fe7735f527e6595e4900316b893ebf6d48ad3d31be928d57dd6\", \"files\": {}}", - "dest": "cargo/vendor/derive_utils-0.15.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/diff/diff-0.1.13.crate", - "sha256": "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8", - "dest": "cargo/vendor/diff-0.1.13" - }, - { - "type": "inline", - "contents": "{\"package\": \"56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8\", \"files\": {}}", - "dest": "cargo/vendor/diff-0.1.13", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/digest/digest-0.10.7.crate", - "sha256": "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292", - "dest": "cargo/vendor/digest-0.10.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\", \"files\": {}}", - "dest": "cargo/vendor/digest-0.10.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dirs/dirs-6.0.0.crate", - "sha256": "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e", - "dest": "cargo/vendor/dirs-6.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e\", \"files\": {}}", - "dest": "cargo/vendor/dirs-6.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dirs-sys/dirs-sys-0.5.0.crate", - "sha256": "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab", - "dest": "cargo/vendor/dirs-sys-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab\", \"files\": {}}", - "dest": "cargo/vendor/dirs-sys-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dispatch2/dispatch2-0.3.1.crate", - "sha256": "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38", - "dest": "cargo/vendor/dispatch2-0.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\", \"files\": {}}", - "dest": "cargo/vendor/dispatch2-0.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/displaydoc/displaydoc-0.2.5.crate", - "sha256": "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0", - "dest": "cargo/vendor/displaydoc-0.2.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0\", \"files\": {}}", - "dest": "cargo/vendor/displaydoc-0.2.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dlib/dlib-0.5.3.crate", - "sha256": "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a", - "dest": "cargo/vendor/dlib-0.5.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a\", \"files\": {}}", - "dest": "cargo/vendor/dlib-0.5.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/window_clipboard-f68595e/dnd\" \"cargo/vendor/dnd\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"dnd\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[dependencies]\nbitflags = \"2.5.0\"\nraw-window-handle = \"0.6\"\n\n[dependencies.mime]\npath = \"../mime\"\n\n[target.\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\", target_os=\\\"ios\\\", target_os=\\\"redox\\\"))))\".dependencies.smithay-clipboard]\ngit = \"https://github.com/pop-os/smithay-clipboard\"\ntag = \"sctk-0.20\"\nfeatures = [\"dnd\"]\n\n[target.\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\", target_os=\\\"ios\\\", target_os=\\\"redox\\\"))))\".dependencies.sctk]\npackage = \"smithay-client-toolkit\"\nversion = \"0.20\"\ndefault-features = false\nfeatures = [\"calloop\"]\n", - "dest": "cargo/vendor/dnd", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/dnd", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/document-features/document-features-0.2.12.crate", - "sha256": "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61", - "dest": "cargo/vendor/document-features-0.2.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61\", \"files\": {}}", - "dest": "cargo/vendor/document-features-0.2.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dotenvy/dotenvy-0.15.7.crate", - "sha256": "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b", - "dest": "cargo/vendor/dotenvy-0.15.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b\", \"files\": {}}", - "dest": "cargo/vendor/dotenvy-0.15.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/downcast-rs/downcast-rs-1.2.1.crate", - "sha256": "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2", - "dest": "cargo/vendor/downcast-rs-1.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2\", \"files\": {}}", - "dest": "cargo/vendor/downcast-rs-1.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/dpi\" \"cargo/vendor/dpi\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ncategories = [\"gui\"]\ndescription = \"Types for handling UI scaling\"\nedition = \"2024\"\nkeywords = [\"DPI\", \"HiDPI\", \"scale-factor\"]\nlicense = \"Apache-2.0 AND MIT\"\nname = \"dpi\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.1.2\"\n\n[package.metadata.docs.rs]\nfeatures = [\"mint\", \"serde\"]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\ntargets = [\"i686-pc-windows-msvc\", \"x86_64-pc-windows-msvc\", \"aarch64-apple-darwin\", \"x86_64-apple-darwin\", \"i686-unknown-linux-gnu\", \"x86_64-unknown-linux-gnu\", \"aarch64-apple-ios\", \"aarch64-linux-android\", \"wasm32-unknown-unknown\"]\n\n[features]\ndefault = [\"std\"]\nmint = [\"dep:mint\"]\nserde = [\"dep:serde\"]\nstd = []\n\n[dependencies.mint]\noptional = true\nversion = \"0.5.6\"\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n", - "dest": "cargo/vendor/dpi", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/dpi", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/drm/drm-0.11.1.crate", - "sha256": "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde", - "dest": "cargo/vendor/drm-0.11.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde\", \"files\": {}}", - "dest": "cargo/vendor/drm-0.11.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/drm-ffi/drm-ffi-0.7.1.crate", - "sha256": "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6", - "dest": "cargo/vendor/drm-ffi-0.7.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6\", \"files\": {}}", - "dest": "cargo/vendor/drm-ffi-0.7.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/drm-fourcc/drm-fourcc-2.2.0.crate", - "sha256": "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4", - "dest": "cargo/vendor/drm-fourcc-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4\", \"files\": {}}", - "dest": "cargo/vendor/drm-fourcc-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/drm-sys/drm-sys-0.6.1.crate", - "sha256": "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176", - "dest": "cargo/vendor/drm-sys-0.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176\", \"files\": {}}", - "dest": "cargo/vendor/drm-sys-0.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dtoa/dtoa-1.0.11.crate", - "sha256": "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590", - "dest": "cargo/vendor/dtoa-1.0.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590\", \"files\": {}}", - "dest": "cargo/vendor/dtoa-1.0.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dtoa-short/dtoa-short-0.3.5.crate", - "sha256": "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87", - "dest": "cargo/vendor/dtoa-short-0.3.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87\", \"files\": {}}", - "dest": "cargo/vendor/dtoa-short-0.3.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dunce/dunce-1.0.5.crate", - "sha256": "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813", - "dest": "cargo/vendor/dunce-1.0.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813\", \"files\": {}}", - "dest": "cargo/vendor/dunce-1.0.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dwrote/dwrote-0.11.5.crate", - "sha256": "9e1b35532432acc8b19ceed096e35dfa088d3ea037fe4f3c085f1f97f33b4d02", - "dest": "cargo/vendor/dwrote-0.11.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"9e1b35532432acc8b19ceed096e35dfa088d3ea037fe4f3c085f1f97f33b4d02\", \"files\": {}}", - "dest": "cargo/vendor/dwrote-0.11.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/dyn-clone/dyn-clone-1.0.20.crate", - "sha256": "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555", - "dest": "cargo/vendor/dyn-clone-1.0.20" - }, - { - "type": "inline", - "contents": "{\"package\": \"d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555\", \"files\": {}}", - "dest": "cargo/vendor/dyn-clone-1.0.20", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ego-tree/ego-tree-0.10.0.crate", - "sha256": "b2972feb8dffe7bc8c5463b1dacda1b0dfbed3710e50f977d965429692d74cd8", - "dest": "cargo/vendor/ego-tree-0.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b2972feb8dffe7bc8c5463b1dacda1b0dfbed3710e50f977d965429692d74cd8\", \"files\": {}}", - "dest": "cargo/vendor/ego-tree-0.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/either/either-1.15.0.crate", - "sha256": "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719", - "dest": "cargo/vendor/either-1.15.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719\", \"files\": {}}", - "dest": "cargo/vendor/either-1.15.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/encoding_rs/encoding_rs-0.8.35.crate", - "sha256": "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3", - "dest": "cargo/vendor/encoding_rs-0.8.35" - }, - { - "type": "inline", - "contents": "{\"package\": \"75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3\", \"files\": {}}", - "dest": "cargo/vendor/encoding_rs-0.8.35", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/endi/endi-1.1.1.crate", - "sha256": "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099", - "dest": "cargo/vendor/endi-1.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099\", \"files\": {}}", - "dest": "cargo/vendor/endi-1.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/endian-type/endian-type-0.1.2.crate", - "sha256": "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d", - "dest": "cargo/vendor/endian-type-0.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d\", \"files\": {}}", - "dest": "cargo/vendor/endian-type-0.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/enumflags2/enumflags2-0.7.12.crate", - "sha256": "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef", - "dest": "cargo/vendor/enumflags2-0.7.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef\", \"files\": {}}", - "dest": "cargo/vendor/enumflags2-0.7.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/enumflags2_derive/enumflags2_derive-0.7.12.crate", - "sha256": "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827", - "dest": "cargo/vendor/enumflags2_derive-0.7.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827\", \"files\": {}}", - "dest": "cargo/vendor/enumflags2_derive-0.7.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/equator/equator-0.4.2.crate", - "sha256": "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc", - "dest": "cargo/vendor/equator-0.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc\", \"files\": {}}", - "dest": "cargo/vendor/equator-0.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/equator-macro/equator-macro-0.4.2.crate", - "sha256": "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3", - "dest": "cargo/vendor/equator-macro-0.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3\", \"files\": {}}", - "dest": "cargo/vendor/equator-macro-0.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/equivalent/equivalent-1.0.2.crate", - "sha256": "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f", - "dest": "cargo/vendor/equivalent-1.0.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\", \"files\": {}}", - "dest": "cargo/vendor/equivalent-1.0.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/errno/errno-0.3.14.crate", - "sha256": "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb", - "dest": "cargo/vendor/errno-0.3.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\", \"files\": {}}", - "dest": "cargo/vendor/errno-0.3.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/error-code/error-code-3.3.2.crate", - "sha256": "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59", - "dest": "cargo/vendor/error-code-3.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59\", \"files\": {}}", - "dest": "cargo/vendor/error-code-3.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/etagere/etagere-0.2.15.crate", - "sha256": "fc89bf99e5dc15954a60f707c1e09d7540e5cd9af85fa75caa0b510bc08c5342", - "dest": "cargo/vendor/etagere-0.2.15" - }, - { - "type": "inline", - "contents": "{\"package\": \"fc89bf99e5dc15954a60f707c1e09d7540e5cd9af85fa75caa0b510bc08c5342\", \"files\": {}}", - "dest": "cargo/vendor/etagere-0.2.15", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/etcetera/etcetera-0.8.0.crate", - "sha256": "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943", - "dest": "cargo/vendor/etcetera-0.8.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943\", \"files\": {}}", - "dest": "cargo/vendor/etcetera-0.8.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/euclid/euclid-0.22.14.crate", - "sha256": "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06", - "dest": "cargo/vendor/euclid-0.22.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06\", \"files\": {}}", - "dest": "cargo/vendor/euclid-0.22.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/event-listener/event-listener-5.4.1.crate", - "sha256": "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab", - "dest": "cargo/vendor/event-listener-5.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab\", \"files\": {}}", - "dest": "cargo/vendor/event-listener-5.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/event-listener-strategy/event-listener-strategy-0.5.4.crate", - "sha256": "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93", - "dest": "cargo/vendor/event-listener-strategy-0.5.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93\", \"files\": {}}", - "dest": "cargo/vendor/event-listener-strategy-0.5.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/exr/exr-1.74.0.crate", - "sha256": "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be", - "dest": "cargo/vendor/exr-1.74.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be\", \"files\": {}}", - "dest": "cargo/vendor/exr-1.74.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/extended/extended-0.1.0.crate", - "sha256": "af9673d8203fcb076b19dfd17e38b3d4ae9f44959416ea532ce72415a6020365", - "dest": "cargo/vendor/extended-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"af9673d8203fcb076b19dfd17e38b3d4ae9f44959416ea532ce72415a6020365\", \"files\": {}}", - "dest": "cargo/vendor/extended-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fast-srgb8/fast-srgb8-1.0.0.crate", - "sha256": "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1", - "dest": "cargo/vendor/fast-srgb8-1.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1\", \"files\": {}}", - "dest": "cargo/vendor/fast-srgb8-1.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fastrand/fastrand-2.4.1.crate", - "sha256": "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6", - "dest": "cargo/vendor/fastrand-2.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6\", \"files\": {}}", - "dest": "cargo/vendor/fastrand-2.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fax/fax-0.2.6.crate", - "sha256": "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab", - "dest": "cargo/vendor/fax-0.2.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab\", \"files\": {}}", - "dest": "cargo/vendor/fax-0.2.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fax_derive/fax_derive-0.2.0.crate", - "sha256": "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d", - "dest": "cargo/vendor/fax_derive-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d\", \"files\": {}}", - "dest": "cargo/vendor/fax_derive-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fd-lock/fd-lock-4.0.4.crate", - "sha256": "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78", - "dest": "cargo/vendor/fd-lock-4.0.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78\", \"files\": {}}", - "dest": "cargo/vendor/fd-lock-4.0.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fdeflate/fdeflate-0.3.7.crate", - "sha256": "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c", - "dest": "cargo/vendor/fdeflate-0.3.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c\", \"files\": {}}", - "dest": "cargo/vendor/fdeflate-0.3.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/filetime/filetime-0.2.27.crate", - "sha256": "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db", - "dest": "cargo/vendor/filetime-0.2.27" - }, - { - "type": "inline", - "contents": "{\"package\": \"f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db\", \"files\": {}}", - "dest": "cargo/vendor/filetime-0.2.27", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/find-crate/find-crate-0.6.3.crate", - "sha256": "59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2", - "dest": "cargo/vendor/find-crate-0.6.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2\", \"files\": {}}", - "dest": "cargo/vendor/find-crate-0.6.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/find-msvc-tools/find-msvc-tools-0.1.9.crate", - "sha256": "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582", - "dest": "cargo/vendor/find-msvc-tools-0.1.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582\", \"files\": {}}", - "dest": "cargo/vendor/find-msvc-tools-0.1.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/flate2/flate2-1.1.9.crate", - "sha256": "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c", - "dest": "cargo/vendor/flate2-1.1.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c\", \"files\": {}}", - "dest": "cargo/vendor/flate2-1.1.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/float-cmp/float-cmp-0.9.0.crate", - "sha256": "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4", - "dest": "cargo/vendor/float-cmp-0.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4\", \"files\": {}}", - "dest": "cargo/vendor/float-cmp-0.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/float-cmp/float-cmp-0.10.0.crate", - "sha256": "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8", - "dest": "cargo/vendor/float-cmp-0.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8\", \"files\": {}}", - "dest": "cargo/vendor/float-cmp-0.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/float-ord/float-ord-0.3.2.crate", - "sha256": "8ce81f49ae8a0482e4c55ea62ebbd7e5a686af544c00b9d090bba3ff9be97b3d", - "dest": "cargo/vendor/float-ord-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"8ce81f49ae8a0482e4c55ea62ebbd7e5a686af544c00b9d090bba3ff9be97b3d\", \"files\": {}}", - "dest": "cargo/vendor/float-ord-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/float_next_after/float_next_after-1.0.0.crate", - "sha256": "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8", - "dest": "cargo/vendor/float_next_after-1.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8\", \"files\": {}}", - "dest": "cargo/vendor/float_next_after-1.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fluent/fluent-0.17.0.crate", - "sha256": "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477", - "dest": "cargo/vendor/fluent-0.17.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477\", \"files\": {}}", - "dest": "cargo/vendor/fluent-0.17.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fluent-bundle/fluent-bundle-0.16.0.crate", - "sha256": "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4", - "dest": "cargo/vendor/fluent-bundle-0.16.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4\", \"files\": {}}", - "dest": "cargo/vendor/fluent-bundle-0.16.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fluent-langneg/fluent-langneg-0.13.1.crate", - "sha256": "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0", - "dest": "cargo/vendor/fluent-langneg-0.13.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0\", \"files\": {}}", - "dest": "cargo/vendor/fluent-langneg-0.13.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fluent-syntax/fluent-syntax-0.12.0.crate", - "sha256": "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198", - "dest": "cargo/vendor/fluent-syntax-0.12.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198\", \"files\": {}}", - "dest": "cargo/vendor/fluent-syntax-0.12.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/flume/flume-0.11.1.crate", - "sha256": "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095", - "dest": "cargo/vendor/flume-0.11.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095\", \"files\": {}}", - "dest": "cargo/vendor/flume-0.11.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fnv/fnv-1.0.7.crate", - "sha256": "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", - "dest": "cargo/vendor/fnv-1.0.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\", \"files\": {}}", - "dest": "cargo/vendor/fnv-1.0.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/foldhash/foldhash-0.1.5.crate", - "sha256": "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2", - "dest": "cargo/vendor/foldhash-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\", \"files\": {}}", - "dest": "cargo/vendor/foldhash-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/foldhash/foldhash-0.2.0.crate", - "sha256": "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb", - "dest": "cargo/vendor/foldhash-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\", \"files\": {}}", - "dest": "cargo/vendor/foldhash-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/font-kit/font-kit-0.14.3.crate", - "sha256": "2c7e611d49285d4c4b2e1727b72cf05353558885cc5252f93707b845dfcaf3d3", - "dest": "cargo/vendor/font-kit-0.14.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"2c7e611d49285d4c4b2e1727b72cf05353558885cc5252f93707b845dfcaf3d3\", \"files\": {}}", - "dest": "cargo/vendor/font-kit-0.14.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/font-types/font-types-0.11.2.crate", - "sha256": "2d9237c6d82152100c691fb77ea18037b402bcc7257d2c876a4ffac81bc22a1c", - "dest": "cargo/vendor/font-types-0.11.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"2d9237c6d82152100c691fb77ea18037b402bcc7257d2c876a4ffac81bc22a1c\", \"files\": {}}", - "dest": "cargo/vendor/font-types-0.11.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fontconfig-parser/fontconfig-parser-0.5.8.crate", - "sha256": "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646", - "dest": "cargo/vendor/fontconfig-parser-0.5.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646\", \"files\": {}}", - "dest": "cargo/vendor/fontconfig-parser-0.5.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fontdb/fontdb-0.23.0.crate", - "sha256": "457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905", - "dest": "cargo/vendor/fontdb-0.23.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905\", \"files\": {}}", - "dest": "cargo/vendor/fontdb-0.23.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/foreign-types/foreign-types-0.3.2.crate", - "sha256": "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1", - "dest": "cargo/vendor/foreign-types-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1\", \"files\": {}}", - "dest": "cargo/vendor/foreign-types-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/foreign-types/foreign-types-0.5.0.crate", - "sha256": "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965", - "dest": "cargo/vendor/foreign-types-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965\", \"files\": {}}", - "dest": "cargo/vendor/foreign-types-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/foreign-types-macros/foreign-types-macros-0.2.3.crate", - "sha256": "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742", - "dest": "cargo/vendor/foreign-types-macros-0.2.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742\", \"files\": {}}", - "dest": "cargo/vendor/foreign-types-macros-0.2.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/foreign-types-shared/foreign-types-shared-0.1.1.crate", - "sha256": "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b", - "dest": "cargo/vendor/foreign-types-shared-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b\", \"files\": {}}", - "dest": "cargo/vendor/foreign-types-shared-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/foreign-types-shared/foreign-types-shared-0.3.1.crate", - "sha256": "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b", - "dest": "cargo/vendor/foreign-types-shared-0.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b\", \"files\": {}}", - "dest": "cargo/vendor/foreign-types-shared-0.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/form_urlencoded/form_urlencoded-1.2.2.crate", - "sha256": "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf", - "dest": "cargo/vendor/form_urlencoded-1.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf\", \"files\": {}}", - "dest": "cargo/vendor/form_urlencoded-1.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/freetype-sys/freetype-sys-0.20.1.crate", - "sha256": "0e7edc5b9669349acfda99533e9e0bcf26a51862ab43b08ee7745c55d28eb134", - "dest": "cargo/vendor/freetype-sys-0.20.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"0e7edc5b9669349acfda99533e9e0bcf26a51862ab43b08ee7745c55d28eb134\", \"files\": {}}", - "dest": "cargo/vendor/freetype-sys-0.20.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fs_extra/fs_extra-1.3.0.crate", - "sha256": "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c", - "dest": "cargo/vendor/fs_extra-1.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c\", \"files\": {}}", - "dest": "cargo/vendor/fs_extra-1.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/fsevent-sys/fsevent-sys-4.1.0.crate", - "sha256": "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2", - "dest": "cargo/vendor/fsevent-sys-4.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2\", \"files\": {}}", - "dest": "cargo/vendor/fsevent-sys-4.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futf/futf-0.1.5.crate", - "sha256": "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843", - "dest": "cargo/vendor/futf-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843\", \"files\": {}}", - "dest": "cargo/vendor/futf-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures/futures-0.3.32.crate", - "sha256": "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d", - "dest": "cargo/vendor/futures-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d\", \"files\": {}}", - "dest": "cargo/vendor/futures-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-channel/futures-channel-0.3.32.crate", - "sha256": "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d", - "dest": "cargo/vendor/futures-channel-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d\", \"files\": {}}", - "dest": "cargo/vendor/futures-channel-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-core/futures-core-0.3.32.crate", - "sha256": "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d", - "dest": "cargo/vendor/futures-core-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d\", \"files\": {}}", - "dest": "cargo/vendor/futures-core-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-executor/futures-executor-0.3.32.crate", - "sha256": "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d", - "dest": "cargo/vendor/futures-executor-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d\", \"files\": {}}", - "dest": "cargo/vendor/futures-executor-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-intrusive/futures-intrusive-0.5.0.crate", - "sha256": "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f", - "dest": "cargo/vendor/futures-intrusive-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f\", \"files\": {}}", - "dest": "cargo/vendor/futures-intrusive-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-io/futures-io-0.3.32.crate", - "sha256": "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718", - "dest": "cargo/vendor/futures-io-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718\", \"files\": {}}", - "dest": "cargo/vendor/futures-io-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-lite/futures-lite-2.6.1.crate", - "sha256": "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad", - "dest": "cargo/vendor/futures-lite-2.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad\", \"files\": {}}", - "dest": "cargo/vendor/futures-lite-2.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-macro/futures-macro-0.3.32.crate", - "sha256": "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b", - "dest": "cargo/vendor/futures-macro-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b\", \"files\": {}}", - "dest": "cargo/vendor/futures-macro-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-sink/futures-sink-0.3.32.crate", - "sha256": "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893", - "dest": "cargo/vendor/futures-sink-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893\", \"files\": {}}", - "dest": "cargo/vendor/futures-sink-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-task/futures-task-0.3.32.crate", - "sha256": "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393", - "dest": "cargo/vendor/futures-task-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393\", \"files\": {}}", - "dest": "cargo/vendor/futures-task-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/futures-util/futures-util-0.3.32.crate", - "sha256": "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6", - "dest": "cargo/vendor/futures-util-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6\", \"files\": {}}", - "dest": "cargo/vendor/futures-util-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/generic-array/generic-array-0.14.7.crate", - "sha256": "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a", - "dest": "cargo/vendor/generic-array-0.14.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\", \"files\": {}}", - "dest": "cargo/vendor/generic-array-0.14.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gethostname/gethostname-1.1.0.crate", - "sha256": "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8", - "dest": "cargo/vendor/gethostname-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8\", \"files\": {}}", - "dest": "cargo/vendor/gethostname-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/getopts/getopts-0.2.24.crate", - "sha256": "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df", - "dest": "cargo/vendor/getopts-0.2.24" - }, - { - "type": "inline", - "contents": "{\"package\": \"cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df\", \"files\": {}}", - "dest": "cargo/vendor/getopts-0.2.24", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/getrandom/getrandom-0.2.17.crate", - "sha256": "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0", - "dest": "cargo/vendor/getrandom-0.2.17" - }, - { - "type": "inline", - "contents": "{\"package\": \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\", \"files\": {}}", - "dest": "cargo/vendor/getrandom-0.2.17", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/getrandom/getrandom-0.3.4.crate", - "sha256": "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd", - "dest": "cargo/vendor/getrandom-0.3.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\", \"files\": {}}", - "dest": "cargo/vendor/getrandom-0.3.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/getrandom/getrandom-0.4.2.crate", - "sha256": "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555", - "dest": "cargo/vendor/getrandom-0.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555\", \"files\": {}}", - "dest": "cargo/vendor/getrandom-0.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gif/gif-0.13.3.crate", - "sha256": "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b", - "dest": "cargo/vendor/gif-0.13.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b\", \"files\": {}}", - "dest": "cargo/vendor/gif-0.13.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gif/gif-0.14.2.crate", - "sha256": "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159", - "dest": "cargo/vendor/gif-0.14.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159\", \"files\": {}}", - "dest": "cargo/vendor/gif-0.14.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gimli/gimli-0.32.3.crate", - "sha256": "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7", - "dest": "cargo/vendor/gimli-0.32.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7\", \"files\": {}}", - "dest": "cargo/vendor/gimli-0.32.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gio-sys/gio-sys-0.20.10.crate", - "sha256": "521e93a7e56fc89e84aea9a52cfc9436816a4b363b030260b699950ff1336c83", - "dest": "cargo/vendor/gio-sys-0.20.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"521e93a7e56fc89e84aea9a52cfc9436816a4b363b030260b699950ff1336c83\", \"files\": {}}", - "dest": "cargo/vendor/gio-sys-0.20.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gl_generator/gl_generator-0.14.0.crate", - "sha256": "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d", - "dest": "cargo/vendor/gl_generator-0.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d\", \"files\": {}}", - "dest": "cargo/vendor/gl_generator-0.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/glam/glam-0.25.0.crate", - "sha256": "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3", - "dest": "cargo/vendor/glam-0.25.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3\", \"files\": {}}", - "dest": "cargo/vendor/glam-0.25.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/glib/glib-0.20.12.crate", - "sha256": "ffc4b6e352d4716d84d7dde562dd9aee2a7d48beb872dd9ece7f2d1515b2d683", - "dest": "cargo/vendor/glib-0.20.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"ffc4b6e352d4716d84d7dde562dd9aee2a7d48beb872dd9ece7f2d1515b2d683\", \"files\": {}}", - "dest": "cargo/vendor/glib-0.20.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/glib-macros/glib-macros-0.20.12.crate", - "sha256": "e8084af62f09475a3f529b1629c10c429d7600ee1398ae12dd3bf175d74e7145", - "dest": "cargo/vendor/glib-macros-0.20.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"e8084af62f09475a3f529b1629c10c429d7600ee1398ae12dd3bf175d74e7145\", \"files\": {}}", - "dest": "cargo/vendor/glib-macros-0.20.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/glib-sys/glib-sys-0.20.10.crate", - "sha256": "8ab79e1ed126803a8fb827e3de0e2ff95191912b8db65cee467edb56fc4cc215", - "dest": "cargo/vendor/glib-sys-0.20.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"8ab79e1ed126803a8fb827e3de0e2ff95191912b8db65cee467edb56fc4cc215\", \"files\": {}}", - "dest": "cargo/vendor/glib-sys-0.20.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/glob/glob-0.3.3.crate", - "sha256": "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280", - "dest": "cargo/vendor/glob-0.3.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280\", \"files\": {}}", - "dest": "cargo/vendor/glob-0.3.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/glow/glow-0.16.0.crate", - "sha256": "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08", - "dest": "cargo/vendor/glow-0.16.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08\", \"files\": {}}", - "dest": "cargo/vendor/glow-0.16.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/glutin_wgl_sys/glutin_wgl_sys-0.6.1.crate", - "sha256": "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e", - "dest": "cargo/vendor/glutin_wgl_sys-0.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e\", \"files\": {}}", - "dest": "cargo/vendor/glutin_wgl_sys-0.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gobject-sys/gobject-sys-0.20.10.crate", - "sha256": "ec9aca94bb73989e3cfdbf8f2e0f1f6da04db4d291c431f444838925c4c63eda", - "dest": "cargo/vendor/gobject-sys-0.20.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"ec9aca94bb73989e3cfdbf8f2e0f1f6da04db4d291c431f444838925c4c63eda\", \"files\": {}}", - "dest": "cargo/vendor/gobject-sys-0.20.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gpu-alloc/gpu-alloc-0.6.0.crate", - "sha256": "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171", - "dest": "cargo/vendor/gpu-alloc-0.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171\", \"files\": {}}", - "dest": "cargo/vendor/gpu-alloc-0.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gpu-alloc-types/gpu-alloc-types-0.3.0.crate", - "sha256": "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4", - "dest": "cargo/vendor/gpu-alloc-types-0.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4\", \"files\": {}}", - "dest": "cargo/vendor/gpu-alloc-types-0.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gpu-allocator/gpu-allocator-0.27.0.crate", - "sha256": "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd", - "dest": "cargo/vendor/gpu-allocator-0.27.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd\", \"files\": {}}", - "dest": "cargo/vendor/gpu-allocator-0.27.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gpu-descriptor/gpu-descriptor-0.3.2.crate", - "sha256": "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca", - "dest": "cargo/vendor/gpu-descriptor-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca\", \"files\": {}}", - "dest": "cargo/vendor/gpu-descriptor-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gpu-descriptor-types/gpu-descriptor-types-0.2.0.crate", - "sha256": "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91", - "dest": "cargo/vendor/gpu-descriptor-types-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91\", \"files\": {}}", - "dest": "cargo/vendor/gpu-descriptor-types-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/grid/grid-1.0.0.crate", - "sha256": "f9e2d4c0a8296178d8802098410ca05d86b17a10bb5ab559b3fb404c1f948220", - "dest": "cargo/vendor/grid-1.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f9e2d4c0a8296178d8802098410ca05d86b17a10bb5ab559b3fb404c1f948220\", \"files\": {}}", - "dest": "cargo/vendor/grid-1.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer/gstreamer-0.23.7.crate", - "sha256": "8757a87f3706560037a01a9f06a59fcc7bdb0864744dcf73546606e60c4316e1", - "dest": "cargo/vendor/gstreamer-0.23.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"8757a87f3706560037a01a9f06a59fcc7bdb0864744dcf73546606e60c4316e1\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-0.23.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-app/gstreamer-app-0.23.5.crate", - "sha256": "2e9a883eb21aebcf1289158225c05f7aea5da6ecf71fa7f0ff1ce4d25baf004e", - "dest": "cargo/vendor/gstreamer-app-0.23.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"2e9a883eb21aebcf1289158225c05f7aea5da6ecf71fa7f0ff1ce4d25baf004e\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-app-0.23.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-app-sys/gstreamer-app-sys-0.23.5.crate", - "sha256": "94f7ef838306fe51852d503a14dc79ac42de005a59008a05098de3ecdaf05455", - "dest": "cargo/vendor/gstreamer-app-sys-0.23.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"94f7ef838306fe51852d503a14dc79ac42de005a59008a05098de3ecdaf05455\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-app-sys-0.23.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-audio/gstreamer-audio-0.23.6.crate", - "sha256": "2e7ec7e0374298897e669db7c79544bc44df12011985e7dd5f38644edaf2caf4", - "dest": "cargo/vendor/gstreamer-audio-0.23.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"2e7ec7e0374298897e669db7c79544bc44df12011985e7dd5f38644edaf2caf4\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-audio-0.23.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-audio-sys/gstreamer-audio-sys-0.23.6.crate", - "sha256": "2b5f3e09e7c04ec91d78c2a6ca78d50b574b9ed49fdf5e72f3693adca4306a87", - "dest": "cargo/vendor/gstreamer-audio-sys-0.23.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"2b5f3e09e7c04ec91d78c2a6ca78d50b574b9ed49fdf5e72f3693adca4306a87\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-audio-sys-0.23.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-base/gstreamer-base-0.23.6.crate", - "sha256": "f19a74fd04ffdcb847dd322640f2cf520897129d00a7bcb92fd62a63f3e27404", - "dest": "cargo/vendor/gstreamer-base-0.23.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"f19a74fd04ffdcb847dd322640f2cf520897129d00a7bcb92fd62a63f3e27404\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-base-0.23.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-base-sys/gstreamer-base-sys-0.23.6.crate", - "sha256": "87f2fb0037b6d3c5b51f60dea11e667910f33be222308ca5a101450018a09840", - "dest": "cargo/vendor/gstreamer-base-sys-0.23.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"87f2fb0037b6d3c5b51f60dea11e667910f33be222308ca5a101450018a09840\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-base-sys-0.23.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-pbutils/gstreamer-pbutils-0.23.5.crate", - "sha256": "acf4bf5857fa22f910634e86a5bce33b5581a9e90caa4e32fd4a20bdd4c83ed0", - "dest": "cargo/vendor/gstreamer-pbutils-0.23.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"acf4bf5857fa22f910634e86a5bce33b5581a9e90caa4e32fd4a20bdd4c83ed0\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-pbutils-0.23.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-pbutils-sys/gstreamer-pbutils-sys-0.23.5.crate", - "sha256": "304101f5fccbbe41e0169536777ddb7680c2c837e18575c22b30fc20cedfb76f", - "dest": "cargo/vendor/gstreamer-pbutils-sys-0.23.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"304101f5fccbbe41e0169536777ddb7680c2c837e18575c22b30fc20cedfb76f\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-pbutils-sys-0.23.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-sys/gstreamer-sys-0.23.6.crate", - "sha256": "feea73b4d92dbf9c24a203c9cd0bcc740d584f6b5960d5faf359febf288919b2", - "dest": "cargo/vendor/gstreamer-sys-0.23.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"feea73b4d92dbf9c24a203c9cd0bcc740d584f6b5960d5faf359febf288919b2\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-sys-0.23.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-video/gstreamer-video-0.23.6.crate", - "sha256": "1318b599d77ca4f7702ecbdeac1672d6304cb16b7e5752fabb3ee8260449a666", - "dest": "cargo/vendor/gstreamer-video-0.23.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"1318b599d77ca4f7702ecbdeac1672d6304cb16b7e5752fabb3ee8260449a666\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-video-0.23.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/gstreamer-video-sys/gstreamer-video-sys-0.23.6.crate", - "sha256": "0a70f0947f12d253b9de9bc3fd92f981e4d025336c18389c7f08cdf388a99f5c", - "dest": "cargo/vendor/gstreamer-video-sys-0.23.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"0a70f0947f12d253b9de9bc3fd92f981e4d025336c18389c7f08cdf388a99f5c\", \"files\": {}}", - "dest": "cargo/vendor/gstreamer-video-sys-0.23.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/guillotiere/guillotiere-0.6.2.crate", - "sha256": "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782", - "dest": "cargo/vendor/guillotiere-0.6.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782\", \"files\": {}}", - "dest": "cargo/vendor/guillotiere-0.6.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/h2/h2-0.4.13.crate", - "sha256": "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54", - "dest": "cargo/vendor/h2-0.4.13" - }, - { - "type": "inline", - "contents": "{\"package\": \"2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54\", \"files\": {}}", - "dest": "cargo/vendor/h2-0.4.13", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/half/half-2.7.1.crate", - "sha256": "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b", - "dest": "cargo/vendor/half-2.7.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b\", \"files\": {}}", - "dest": "cargo/vendor/half-2.7.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/harfrust/harfrust-0.5.2.crate", - "sha256": "9da2e5ae821f6e96664977bf974d6d6a2d6682f9ccee23e62ec1d134246845f9", - "dest": "cargo/vendor/harfrust-0.5.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"9da2e5ae821f6e96664977bf974d6d6a2d6682f9ccee23e62ec1d134246845f9\", \"files\": {}}", - "dest": "cargo/vendor/harfrust-0.5.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hashbrown/hashbrown-0.12.3.crate", - "sha256": "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888", - "dest": "cargo/vendor/hashbrown-0.12.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888\", \"files\": {}}", - "dest": "cargo/vendor/hashbrown-0.12.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hashbrown/hashbrown-0.15.5.crate", - "sha256": "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1", - "dest": "cargo/vendor/hashbrown-0.15.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\", \"files\": {}}", - "dest": "cargo/vendor/hashbrown-0.15.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hashbrown/hashbrown-0.16.1.crate", - "sha256": "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100", - "dest": "cargo/vendor/hashbrown-0.16.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100\", \"files\": {}}", - "dest": "cargo/vendor/hashbrown-0.16.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hashbrown/hashbrown-0.17.0.crate", - "sha256": "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51", - "dest": "cargo/vendor/hashbrown-0.17.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51\", \"files\": {}}", - "dest": "cargo/vendor/hashbrown-0.17.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hashlink/hashlink-0.10.0.crate", - "sha256": "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1", - "dest": "cargo/vendor/hashlink-0.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1\", \"files\": {}}", - "dest": "cargo/vendor/hashlink-0.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/heck/heck-0.4.1.crate", - "sha256": "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8", - "dest": "cargo/vendor/heck-0.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\", \"files\": {}}", - "dest": "cargo/vendor/heck-0.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/heck/heck-0.5.0.crate", - "sha256": "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea", - "dest": "cargo/vendor/heck-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\", \"files\": {}}", - "dest": "cargo/vendor/heck-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hermit-abi/hermit-abi-0.5.2.crate", - "sha256": "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c", - "dest": "cargo/vendor/hermit-abi-0.5.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c\", \"files\": {}}", - "dest": "cargo/vendor/hermit-abi-0.5.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hex/hex-0.4.3.crate", - "sha256": "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70", - "dest": "cargo/vendor/hex-0.4.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70\", \"files\": {}}", - "dest": "cargo/vendor/hex-0.4.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hexf-parse/hexf-parse-0.2.1.crate", - "sha256": "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df", - "dest": "cargo/vendor/hexf-parse-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df\", \"files\": {}}", - "dest": "cargo/vendor/hexf-parse-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hkdf/hkdf-0.12.4.crate", - "sha256": "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7", - "dest": "cargo/vendor/hkdf-0.12.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7\", \"files\": {}}", - "dest": "cargo/vendor/hkdf-0.12.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hmac/hmac-0.12.1.crate", - "sha256": "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e", - "dest": "cargo/vendor/hmac-0.12.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\", \"files\": {}}", - "dest": "cargo/vendor/hmac-0.12.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/home/home-0.5.12.crate", - "sha256": "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d", - "dest": "cargo/vendor/home-0.5.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\", \"files\": {}}", - "dest": "cargo/vendor/home-0.5.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/html-escape/html-escape-0.2.13.crate", - "sha256": "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476", - "dest": "cargo/vendor/html-escape-0.2.13" - }, - { - "type": "inline", - "contents": "{\"package\": \"6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476\", \"files\": {}}", - "dest": "cargo/vendor/html-escape-0.2.13", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/html5ever/html5ever-0.36.1.crate", - "sha256": "6452c4751a24e1b99c3260d505eaeee76a050573e61f30ac2c924ddc7236f01e", - "dest": "cargo/vendor/html5ever-0.36.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6452c4751a24e1b99c3260d505eaeee76a050573e61f30ac2c924ddc7236f01e\", \"files\": {}}", - "dest": "cargo/vendor/html5ever-0.36.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/http/http-1.4.0.crate", - "sha256": "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a", - "dest": "cargo/vendor/http-1.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a\", \"files\": {}}", - "dest": "cargo/vendor/http-1.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/http-body/http-body-1.0.1.crate", - "sha256": "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184", - "dest": "cargo/vendor/http-body-1.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184\", \"files\": {}}", - "dest": "cargo/vendor/http-body-1.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/http-body-util/http-body-util-0.1.3.crate", - "sha256": "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a", - "dest": "cargo/vendor/http-body-util-0.1.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a\", \"files\": {}}", - "dest": "cargo/vendor/http-body-util-0.1.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/httparse/httparse-1.10.1.crate", - "sha256": "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87", - "dest": "cargo/vendor/httparse-1.10.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\", \"files\": {}}", - "dest": "cargo/vendor/httparse-1.10.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hyper/hyper-1.9.0.crate", - "sha256": "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca", - "dest": "cargo/vendor/hyper-1.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca\", \"files\": {}}", - "dest": "cargo/vendor/hyper-1.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hyper-rustls/hyper-rustls-0.27.7.crate", - "sha256": "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58", - "dest": "cargo/vendor/hyper-rustls-0.27.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58\", \"files\": {}}", - "dest": "cargo/vendor/hyper-rustls-0.27.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hyper-tls/hyper-tls-0.6.0.crate", - "sha256": "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0", - "dest": "cargo/vendor/hyper-tls-0.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0\", \"files\": {}}", - "dest": "cargo/vendor/hyper-tls-0.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/hyper-util/hyper-util-0.1.20.crate", - "sha256": "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0", - "dest": "cargo/vendor/hyper-util-0.1.20" - }, - { - "type": "inline", - "contents": "{\"package\": \"96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0\", \"files\": {}}", - "dest": "cargo/vendor/hyper-util-0.1.20", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/i18n-config/i18n-config-0.4.8.crate", - "sha256": "3e06b90c8a0d252e203c94344b21e35a30f3a3a85dc7db5af8f8df9f3e0c63ef", - "dest": "cargo/vendor/i18n-config-0.4.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"3e06b90c8a0d252e203c94344b21e35a30f3a3a85dc7db5af8f8df9f3e0c63ef\", \"files\": {}}", - "dest": "cargo/vendor/i18n-config-0.4.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/i18n-embed/i18n-embed-0.16.0.crate", - "sha256": "a217bbb075dcaefb292efa78897fc0678245ca67f265d12c351e42268fcb0305", - "dest": "cargo/vendor/i18n-embed-0.16.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"a217bbb075dcaefb292efa78897fc0678245ca67f265d12c351e42268fcb0305\", \"files\": {}}", - "dest": "cargo/vendor/i18n-embed-0.16.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/i18n-embed-fl/i18n-embed-fl-0.10.0.crate", - "sha256": "e598ed73b67db92f61e04672e599eef2991a262a40e1666735b8a86d2e7e9f30", - "dest": "cargo/vendor/i18n-embed-fl-0.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e598ed73b67db92f61e04672e599eef2991a262a40e1666735b8a86d2e7e9f30\", \"files\": {}}", - "dest": "cargo/vendor/i18n-embed-fl-0.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/i18n-embed-impl/i18n-embed-impl-0.8.4.crate", - "sha256": "0f2cc0e0523d1fe6fc2c6f66e5038624ea8091b3e7748b5e8e0c84b1698db6c2", - "dest": "cargo/vendor/i18n-embed-impl-0.8.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"0f2cc0e0523d1fe6fc2c6f66e5038624ea8091b3e7748b5e8e0c84b1698db6c2\", \"files\": {}}", - "dest": "cargo/vendor/i18n-embed-impl-0.8.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/iana-time-zone/iana-time-zone-0.1.65.crate", - "sha256": "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470", - "dest": "cargo/vendor/iana-time-zone-0.1.65" - }, - { - "type": "inline", - "contents": "{\"package\": \"e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470\", \"files\": {}}", - "dest": "cargo/vendor/iana-time-zone-0.1.65", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/iana-time-zone-haiku/iana-time-zone-haiku-0.1.2.crate", - "sha256": "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f", - "dest": "cargo/vendor/iana-time-zone-haiku-0.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f\", \"files\": {}}", - "dest": "cargo/vendor/iana-time-zone-haiku-0.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced\" \"cargo/vendor/iced\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced\"\ndescription = \"A cross-platform GUI library inspired by Elm\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\nrust-version = \"1.89\"\n\n[package.metadata.docs.rs]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\nall-features = true\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[badges.maintenance]\nstatus = \"actively-developed\"\n\n[features]\nwgpu = [\"wgpu-bare\", \"iced_renderer/wgpu\"]\nwgpu-bare = [\"iced_renderer/wgpu-bare\", \"iced_widget/wgpu\"]\ndefault = [\"a11y\", \"tiny-skia\", \"tokio\", \"wayland\", \"x11\"]\ntiny-skia = [\"iced_renderer/tiny-skia\"]\nimage = [\"image-without-codecs\", \"image/default\"]\nimage-without-codecs = [\"iced_widget/image\", \"dep:image\"]\nsvg = [\"iced_widget/svg\"]\ncanvas = [\"iced_widget/canvas\"]\nqr_code = [\"iced_widget/qr_code\"]\nlazy = [\"iced_widget/lazy\"]\nmarkdown = [\"iced_widget/markdown\"]\ndebug = [\"iced_winit/debug\", \"dep:iced_devtools\"]\ntime-travel = [\"debug\", \"iced_devtools/time-travel\"]\nhot = [\"debug\", \"iced_debug/hot\"]\ntester = [\"dep:iced_tester\"]\nthread-pool = [\"iced_futures/thread-pool\"]\ntokio = [\"iced_futures/tokio\", \"iced_accessibility?/tokio\"]\nasync-std = [\"iced_accessibility?/async-io\"]\nsmol = [\"iced_futures/smol\"]\nsysinfo = [\"iced_winit/sysinfo\"]\nweb-colors = [\"iced_renderer/web-colors\"]\ncrisp = [\"iced_core/crisp\", \"iced_widget/crisp\"]\nwebgl = [\"iced_renderer/webgl\"]\nhighlighter = [\"iced_highlighter\", \"iced_widget/highlighter\"]\nselector = [\"iced_runtime/selector\"]\nfira-sans = [\"iced_renderer/fira-sans\"]\nadvanced = [\"iced_core/advanced\", \"iced_widget/advanced\"]\nbasic-shaping = [\"iced_core/basic-shaping\"]\nadvanced-shaping = [\"iced_core/advanced-shaping\"]\nstrict-assertions = [\"iced_renderer/strict-assertions\"]\nunconditional-rendering = [\"iced_winit/unconditional-rendering\"]\nsipper = [\"iced_runtime/sipper\"]\nlinux-theme-detection = [\"iced_winit/linux-theme-detection\"]\nx11 = [\"iced_renderer/x11\", \"iced_winit/x11\"]\na11y = [\"iced_accessibility\", \"iced_core/a11y\", \"iced_widget/a11y\", \"iced_winit?/a11y\"]\nwinit = [\"iced_winit\", \"iced_accessibility?/accesskit_winit\", \"iced_program/winit\"]\nwayland = [\"iced_renderer/wayland\", \"iced_winit/wayland\"]\ncctk = [\"iced_winit/cctk\", \"iced_widget/cctk\", \"iced_core/cctk\", \"wayland\"]\n\n[dependencies]\nthiserror = \"2\"\n\n[dependencies.iced_devtools]\noptional = true\nversion = \"0.14.0\"\npath = \"devtools\"\n\n[dependencies.iced_debug]\nversion = \"0.14.0\"\npath = \"debug\"\n\n[dependencies.iced_program]\nversion = \"0.14.0\"\npath = \"program\"\n\n[dependencies.iced_core]\nversion = \"0.14.0\"\npath = \"core\"\n\n[dependencies.iced_futures]\nversion = \"0.14.0\"\npath = \"futures\"\n\n[dependencies.iced_renderer]\nversion = \"0.14.0\"\npath = \"renderer\"\n\n[dependencies.iced_runtime]\nversion = \"0.14.0\"\npath = \"runtime\"\n\n[dependencies.iced_widget]\nversion = \"0.14.0\"\npath = \"widget\"\n\n[dependencies.iced_winit]\noptional = true\nversion = \"0.14.0\"\npath = \"winit\"\ndefault-features = false\n\n[dependencies.iced_tester]\noptional = true\nversion = \"0.14.0\"\npath = \"tester\"\n\n[dependencies.iced_highlighter]\noptional = true\nversion = \"0.14.0\"\npath = \"highlighter\"\n\n[dependencies.iced_accessibility]\noptional = true\nversion = \"0.1\"\npath = \"accessibility\"\n\n[dependencies.window_clipboard]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.mime]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.dnd]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.image]\noptional = true\nversion = \"0.25\"\ndefault-features = false\n\n[dev-dependencies]\ncriterion = \"0.5\"\n\n[dev-dependencies.iced_wgpu]\nversion = \"0.14.0\"\npath = \"wgpu\"\ndefault-features = false\n\n[[bench]]\nname = \"wgpu\"\nharness = false\nrequired-features = [\"canvas\"]\n\n[profile.release-opt]\ninherits = \"release\"\ncodegen-units = 1\ndebug = false\nlto = true\nincremental = false\nopt-level = 3\noverflow-checks = false\nstrip = \"debuginfo\"\n\n[workspace]\nmembers = [\"beacon\", \"core\", \"debug\", \"devtools\", \"futures\", \"graphics\", \"highlighter\", \"program\", \"renderer\", \"runtime\", \"selector\", \"test\", \"tester\", \"tiny_skia\", \"wgpu\", \"widget\", \"winit\", \"examples/*\", \"accessibility\"]\nexclude = [\"examples/integration\"]\n\n[workspace.package]\nversion = \"0.14.0\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nedition = \"2024\"\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\nrust-version = \"1.89\"\n\n[workspace.dependencies]\nbincode = \"1.3\"\nglam = \"0.25\"\nasync-std = \"1.0\"\nbitflags = \"2.5\"\nbytes = \"1.6\"\ndark-light = \"1.0\"\nresvg = \"0.45\"\nweb-sys = \"0.3.69\"\nguillotiere = \"0.6\"\nhalf = \"2.2\"\nkamadak-exif = \"0.6\"\nkurbo = \"0.10\"\nlilt = \"0.8\"\nlog = \"0.4\"\nlyon = \"1.0\"\nlyon_path = \"1.0\"\nnom = \"8\"\nnum-traits = \"0.2\"\nouroboros = \"0.18\"\npng = \"0.18\"\npulldown-cmark = \"0.12\"\nraw-window-handle = \"0.6\"\nrfd = \"0.16\"\nrustc-hash = \"2.0\"\nsemver = \"1.0\"\nserde = \"1.0\"\nsha2 = \"0.10\"\nsipper = \"0.1\"\nsmol = \"2\"\nsmol_str = \"0.3\"\nsysinfo = \"0.33\"\nthiserror = \"2\"\nsyntect = \"5.2\"\ntokio = \"1.0\"\ntracing = \"0.1\"\nunicode-segmentation = \"1.0\"\nurl = \"2.5\"\nwasm-bindgen-futures = \"0.4\"\nwasmtimer = \"0.4.2\"\nweb-time = \"1.1\"\nwinapi = \"0.3\"\ncursor-icon = \"1.1.0\"\n\n[workspace.dependencies.iced]\nversion = \"0.14.0\"\npath = \".\"\n\n[workspace.dependencies.iced_beacon]\nversion = \"0.14.0\"\npath = \"beacon\"\n\n[workspace.dependencies.iced_core]\nversion = \"0.14.0\"\npath = \"core\"\n\n[workspace.dependencies.iced_debug]\nversion = \"0.14.0\"\npath = \"debug\"\n\n[workspace.dependencies.iced_devtools]\nversion = \"0.14.0\"\npath = \"devtools\"\n\n[workspace.dependencies.iced_futures]\nversion = \"0.14.0\"\npath = \"futures\"\n\n[workspace.dependencies.iced_graphics]\nversion = \"0.14.0\"\npath = \"graphics\"\n\n[workspace.dependencies.iced_highlighter]\nversion = \"0.14.0\"\npath = \"highlighter\"\n\n[workspace.dependencies.iced_program]\nversion = \"0.14.0\"\npath = \"program\"\n\n[workspace.dependencies.iced_renderer]\nversion = \"0.14.0\"\npath = \"renderer\"\n\n[workspace.dependencies.iced_runtime]\nversion = \"0.14.0\"\npath = \"runtime\"\n\n[workspace.dependencies.iced_selector]\nversion = \"0.14.0\"\npath = \"selector\"\n\n[workspace.dependencies.iced_test]\nversion = \"0.14.0\"\npath = \"test\"\n\n[workspace.dependencies.iced_tester]\nversion = \"0.14.0\"\npath = \"tester\"\n\n[workspace.dependencies.iced_tiny_skia]\nversion = \"0.14.0\"\npath = \"tiny_skia\"\ndefault-features = false\n\n[workspace.dependencies.iced_wgpu]\nversion = \"0.14.0\"\npath = \"wgpu\"\ndefault-features = false\n\n[workspace.dependencies.iced_widget]\nversion = \"0.14.0\"\npath = \"widget\"\n\n[workspace.dependencies.iced_winit]\nversion = \"0.14.0\"\npath = \"winit\"\ndefault-features = false\n\n[workspace.dependencies.cargo-hot]\nversion = \"0.1\"\npackage = \"cargo-hot-protocol\"\n\n[workspace.dependencies.futures]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"async-await\"]\n\n[workspace.dependencies.iced_accessibility]\nversion = \"0.1\"\npath = \"accessibility\"\n\n[workspace.dependencies.bytemuck]\nversion = \"1.0\"\nfeatures = [\"derive\"]\n\n[workspace.dependencies.cosmic-text]\ngit = \"https://github.com/pop-os/cosmic-text.git\"\n\n[workspace.dependencies.cryoglyph]\npackage = \"cryoglyph\"\ngit = \"https://github.com/pop-os/glyphon.git\"\ntag = \"cosmic-0.14\"\n\n[workspace.dependencies.image]\nversion = \"0.25\"\ndefault-features = false\n\n[workspace.dependencies.mundy]\nversion = \"0.2\"\ndefault-features = false\n\n[workspace.dependencies.qrcode]\nversion = \"0.13\"\ndefault-features = false\n\n[workspace.dependencies.tiny-skia]\nversion = \"0.11\"\ndefault-features = false\nfeatures = [\"std\", \"simd\"]\n\n[workspace.dependencies.cctk]\ngit = \"https://github.com/pop-os/cosmic-protocols\"\npackage = \"cosmic-client-toolkit\"\nrev = \"160b086\"\n\n[workspace.dependencies.softbuffer]\ngit = \"https://github.com/pop-os/softbuffer\"\ntag = \"cosmic-4.0\"\n\n[workspace.dependencies.two-face]\nversion = \"0.4\"\ndefault-features = false\nfeatures = [\"syntect-default-fancy\"]\n\n[workspace.dependencies.wgpu]\nversion = \"27.0\"\ndefault-features = false\nfeatures = [\"std\", \"wgsl\"]\n\n[workspace.dependencies.wayland-protocols]\nversion = \"0.32.1\"\nfeatures = [\"staging\"]\n\n[workspace.dependencies.wayland-client]\nversion = \"0.31.5\"\n\n[workspace.dependencies.window_clipboard]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[workspace.dependencies.dnd]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[workspace.dependencies.mime]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[workspace.dependencies.winit]\ngit = \"https://github.com/pop-os/winit.git\"\ntag = \"cosmic-0.14\"\n\n[workspace.dependencies.winit-core]\ngit = \"https://github.com/pop-os/winit.git\"\ntag = \"cosmic-0.14\"\n\n[workspace.lints.rust]\nunused_results = \"deny\"\n\n[workspace.lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[workspace.lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[workspace.lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n", - "dest": "cargo/vendor/iced", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/accessibility\" \"cargo/vendor/iced_accessibility\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_accessibility\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[features]\nasync-io = [\"accesskit_winit?/async-io\"]\ntokio = [\"accesskit_winit?/tokio\"]\n\n[dependencies.accesskit]\ngit = \"https://github.com/wash2/accesskit\"\ntag = \"cosmic-0.14\"\n\n[dependencies.accesskit_windows]\ngit = \"https://github.com/wash2/accesskit\"\ntag = \"cosmic-0.14\"\noptional = true\n\n[dependencies.accesskit_macos]\ngit = \"https://github.com/wash2/accesskit\"\ntag = \"cosmic-0.14\"\noptional = true\n\n[dependencies.accesskit_winit]\ngit = \"https://github.com/wash2/accesskit\"\ntag = \"cosmic-0.14\"\noptional = true\ndefault-features = false\nfeatures = [\"rwh_06\"]\n", - "dest": "cargo/vendor/iced_accessibility", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_accessibility", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/beacon\" \"cargo/vendor/iced_beacon\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_beacon\"\ndescription = \"A client/server protocol to monitor and supervise iced applications\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[dependencies]\nbincode = \"1.3\"\nlog = \"0.4\"\nthiserror = \"2\"\n\n[dependencies.iced_core]\nfeatures = [\"serde\"]\nversion = \"0.14.0\"\npath = \"core\"\n\n[dependencies.futures]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"async-await\"]\n\n[dependencies.tokio]\nfeatures = [\"rt\", \"rt-multi-thread\", \"net\", \"sync\", \"time\", \"io-util\", \"macros\"]\nversion = \"1.0\"\n\n[dependencies.serde]\nfeatures = [\"derive\"]\nversion = \"1.0\"\n\n[dependencies.semver]\nfeatures = [\"serde\"]\nversion = \"1.0\"\n", - "dest": "cargo/vendor/iced_beacon", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_beacon", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/core\" \"cargo/vendor/iced_core\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_core\"\ndescription = \"The essential ideas of iced\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\nadvanced = []\ncrisp = []\nbasic-shaping = []\nadvanced-shaping = []\na11y = [\"iced_accessibility\"]\n\n[dependencies]\npalette = \"0.7\"\nbitflags = \"2.5\"\nbytes = \"1.6\"\nglam = \"0.25\"\nlilt = \"0.8\"\nlog = \"0.4\"\nnum-traits = \"0.2\"\nrustc-hash = \"2.0\"\nsmol_str = \"0.3\"\nthiserror = \"2\"\nweb-time = \"1.1\"\n\n[dependencies.serde]\noptional = true\nfeatures = [\"derive\"]\nversion = \"1.0\"\n\n[dependencies.window_clipboard]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.dnd]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.mime]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.cctk]\noptional = true\ngit = \"https://github.com/pop-os/cosmic-protocols\"\npackage = \"cosmic-client-toolkit\"\nrev = \"160b086\"\n\n[dependencies.iced_accessibility]\nversion = \"0.1.0\"\npath = \"../accessibility\"\noptional = true\n\n[target.\"cfg(windows)\".dependencies]\nraw-window-handle = \"0.6\"\n\n[dev-dependencies]\napprox = \"0.5\"\n", - "dest": "cargo/vendor/iced_core", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_core", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/debug\" \"cargo/vendor/iced_debug\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_debug\"\ndescription = \"A pluggable API for debugging iced applications\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[features]\nenable = [\"dep:iced_beacon\"]\nhot = [\"enable\", \"dep:cargo-hot\"]\n\n[dependencies]\nlog = \"0.4\"\n\n[dependencies.iced_core]\nversion = \"0.14.0\"\npath = \"core\"\n\n[dependencies.iced_futures]\nversion = \"0.14.0\"\npath = \"futures\"\n\n[target.\"cfg(not(target_arch = \\\"wasm32\\\"))\".dependencies.iced_beacon]\noptional = true\nversion = \"0.14.0\"\npath = \"beacon\"\n\n[target.\"cfg(not(target_arch = \\\"wasm32\\\"))\".dependencies.cargo-hot]\noptional = true\nversion = \"0.1\"\npackage = \"cargo-hot-protocol\"\n", - "dest": "cargo/vendor/iced_debug", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_debug", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/devtools\" \"cargo/vendor/iced_devtools\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_devtools\"\ndescription = \"Attachable developer tools for any iced program\"\nversion = \"0.14.0\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nedition = \"2024\"\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\nrust-version = \"1.89\"\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\ntime-travel = [\"iced_program/time-travel\"]\n\n[dependencies]\nlog = \"0.4\"\n\n[dependencies.iced_debug]\nversion = \"0.14.0\"\npath = \"debug\"\n\n[dependencies.iced_widget]\nversion = \"0.14.0\"\npath = \"widget\"\n\n[dependencies.iced_program]\nfeatures = [\"debug\"]\nversion = \"0.14.0\"\npath = \"program\"\n", - "dest": "cargo/vendor/iced_devtools", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_devtools", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/futures\" \"cargo/vendor/iced_futures\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_futures\"\ndescription = \"Commands, subscriptions, and future executors for iced\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[package.metadata.docs.rs]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\nall-features = true\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\nthread-pool = [\"futures/thread-pool\"]\na11y = [\"iced_core/a11y\"]\n\n[dependencies]\nlog = \"0.4\"\nrustc-hash = \"2.0\"\n\n[dependencies.iced_core]\nversion = \"0.14.0\"\npath = \"core\"\n\n[dependencies.futures]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"async-await\"]\n\n[target.\"cfg(not(target_arch = \\\"wasm32\\\"))\".dependencies.smol]\noptional = true\nversion = \"2\"\n\n[target.\"cfg(not(target_arch = \\\"wasm32\\\"))\".dependencies.tokio]\noptional = true\nfeatures = [\"rt\", \"rt-multi-thread\", \"time\"]\nversion = \"1.0\"\n\n[target.\"cfg(target_arch = \\\"wasm32\\\")\".dependencies]\nwasm-bindgen-futures = \"0.4\"\nwasmtimer = \"0.4.2\"\n", - "dest": "cargo/vendor/iced_futures", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_futures", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/graphics\" \"cargo/vendor/iced_graphics\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_graphics\"\ndescription = \"A bunch of backend-agnostic types that can be leveraged to build a renderer for iced\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[package.metadata.docs.rs]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\nall-features = true\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\ngeometry = [\"lyon_path\"]\nimage = [\"dep:image\", \"kamadak-exif\"]\nsvg = []\nweb-colors = []\nfira-sans = []\n\n[dependencies]\nbitflags = \"2.5\"\nhalf = \"2.2\"\nlog = \"0.4\"\nraw-window-handle = \"0.6\"\nrustc-hash = \"2.0\"\nthiserror = \"2\"\nunicode-segmentation = \"1.0\"\n\n[dependencies.iced_core]\nversion = \"0.14.0\"\npath = \"core\"\n\n[dependencies.iced_futures]\nversion = \"0.14.0\"\npath = \"futures\"\n\n[dependencies.bytemuck]\nversion = \"1.0\"\nfeatures = [\"derive\"]\n\n[dependencies.cosmic-text]\ngit = \"https://github.com/pop-os/cosmic-text.git\"\n\n[dependencies.image]\noptional = true\nversion = \"0.25\"\ndefault-features = false\n\n[dependencies.kamadak-exif]\noptional = true\nversion = \"0.6\"\n\n[dependencies.lyon_path]\noptional = true\nversion = \"1.0\"\n", - "dest": "cargo/vendor/iced_graphics", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_graphics", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/program\" \"cargo/vendor/iced_program\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_program\"\ndescription = \"The definition of an iced program\"\nversion = \"0.14.0\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nedition = \"2024\"\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\nrust-version = \"1.89\"\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\nwinit = []\ndebug = []\ntime-travel = []\n\n[dependencies.iced_graphics]\nversion = \"0.14.0\"\npath = \"graphics\"\n\n[dependencies.iced_runtime]\nversion = \"0.14.0\"\npath = \"runtime\"\n", - "dest": "cargo/vendor/iced_program", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_program", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/renderer\" \"cargo/vendor/iced_renderer\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_renderer\"\ndescription = \"The official renderer for iced\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\nwgpu = [\"iced_wgpu/default\"]\nwgpu-bare = [\"iced_wgpu\"]\ntiny-skia = [\"iced_tiny_skia\"]\nimage = [\"iced_tiny_skia?/image\", \"iced_wgpu?/image\"]\nsvg = [\"iced_tiny_skia?/svg\", \"iced_wgpu?/svg\"]\ngeometry = [\"iced_graphics/geometry\", \"iced_tiny_skia?/geometry\", \"iced_wgpu?/geometry\"]\nweb-colors = [\"iced_wgpu?/web-colors\"]\nwebgl = [\"iced_wgpu?/webgl\"]\nfira-sans = [\"iced_graphics/fira-sans\"]\nstrict-assertions = [\"iced_wgpu?/strict-assertions\"]\nx11 = [\"iced_tiny_skia?/x11\"]\nwayland = [\"iced_tiny_skia?/wayland\"]\n\n[dependencies]\nlog = \"0.4\"\nthiserror = \"2\"\n\n[dependencies.iced_graphics]\nversion = \"0.14.0\"\npath = \"graphics\"\n\n[dependencies.iced_tiny_skia]\noptional = true\nversion = \"0.14.0\"\npath = \"tiny_skia\"\ndefault-features = false\n\n[dependencies.iced_wgpu]\noptional = true\nversion = \"0.14.0\"\npath = \"wgpu\"\ndefault-features = false\n", - "dest": "cargo/vendor/iced_renderer", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_renderer", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/runtime\" \"cargo/vendor/iced_runtime\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_runtime\"\ndescription = \"A renderer-agnostic runtime for iced\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\ndebug = []\nselector = [\"dep:iced_selector\"]\na11y = [\"iced_accessibility\", \"iced_core/a11y\"]\ncctk = [\"iced_core/cctk\", \"dep:cctk\"]\n\n[dependencies]\nbytes = \"1.6\"\nraw-window-handle = \"0.6\"\nthiserror = \"2\"\n\n[dependencies.iced_core]\nversion = \"0.14.0\"\npath = \"core\"\n\n[dependencies.iced_futures]\nfeatures = [\"thread-pool\"]\nversion = \"0.14.0\"\npath = \"futures\"\n\n[dependencies.sipper]\noptional = true\nversion = \"0.1\"\n\n[dependencies.iced_selector]\noptional = true\nversion = \"0.14.0\"\npath = \"selector\"\n\n[dependencies.cctk]\noptional = true\ngit = \"https://github.com/pop-os/cosmic-protocols\"\npackage = \"cosmic-client-toolkit\"\nrev = \"160b086\"\n\n[dependencies.iced_accessibility]\noptional = true\nversion = \"0.1\"\npath = \"accessibility\"\n\n[dependencies.window_clipboard]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.dnd]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n", - "dest": "cargo/vendor/iced_runtime", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_runtime", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/tiny_skia\" \"cargo/vendor/iced_tiny_skia\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_tiny_skia\"\ndescription = \"A software renderer for iced on top of tiny-skia\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\ndefault = [\"x11\", \"wayland\"]\nimage = [\"iced_graphics/image\"]\nsvg = [\"iced_graphics/svg\", \"resvg\"]\ngeometry = [\"iced_graphics/geometry\"]\nx11 = [\"softbuffer/x11\", \"softbuffer/x11-dlopen\"]\nwayland = [\"softbuffer/wayland\", \"softbuffer/wayland-dlopen\"]\n\n[dependencies]\nkurbo = \"0.10\"\nlog = \"0.4\"\nrustc-hash = \"2.0\"\n\n[dependencies.iced_debug]\nversion = \"0.14.0\"\npath = \"debug\"\n\n[dependencies.iced_graphics]\nversion = \"0.14.0\"\npath = \"graphics\"\n\n[dependencies.bytemuck]\nversion = \"1.0\"\nfeatures = [\"derive\"]\n\n[dependencies.cosmic-text]\ngit = \"https://github.com/pop-os/cosmic-text.git\"\n\n[dependencies.softbuffer]\ngit = \"https://github.com/pop-os/softbuffer\"\ntag = \"cosmic-4.0\"\n\n[dependencies.tiny-skia]\nversion = \"0.11\"\ndefault-features = false\nfeatures = [\"std\", \"simd\"]\n\n[dependencies.resvg]\noptional = true\nversion = \"0.45\"\n", - "dest": "cargo/vendor/iced_tiny_skia", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_tiny_skia", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/iced_video_player-8ba65f2/.\" \"cargo/vendor/iced_video_player\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_video_player\"\ndescription = \"A convenient video player widget for Iced\"\nhomepage = \"https://github.com/jazzfool/iced_video_player\"\nrepository = \"https://github.com/jazzfool/iced_video_player\"\nreadme = \"README.md\"\nkeywords = [\"gui\", \"iced\", \"video\"]\ncategories = [\"gui\", \"multimedia\"]\nversion = \"0.6.0\"\nauthors = [\"jazzfool\"]\nedition = \"2021\"\nresolver = \"2\"\nlicense = \"MIT OR Apache-2.0\"\nexclude = [\".media/test.mp4\"]\n\n[package.metadata.nix]\nsystems = [\"x86_64-linux\"]\napp = true\nbuild = true\nruntimeLibs = [\"vulkan-loader\", \"wayland\", \"wayland-protocols\", \"libxkbcommon\", \"xorg.libX11\", \"xorg.libXrandr\", \"xorg.libXi\", \"gst_all_1.gstreamer\", \"gst_all_1.gstreamermm\", \"gst_all_1.gst-plugins-bad\", \"gst_all_1.gst-plugins-ugly\", \"gst_all_1.gst-plugins-good\", \"gst_all_1.gst-plugins-base\"]\nbuildInputs = [\"libxkbcommon\", \"gst_all_1.gstreamer\", \"gst_all_1.gstreamermm\", \"gst_all_1.gst-plugins-bad\", \"gst_all_1.gst-plugins-ugly\", \"gst_all_1.gst-plugins-good\", \"gst_all_1.gst-plugins-base\"]\n\n[package.metadata.docs.rs]\nrustc-args = [\"--cfg\", \"docsrs\"]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\ntargets = [\"wasm32-unknown-unknown\"]\n\n[dependencies]\ngstreamer = \"0.23\"\ngstreamer-app = \"0.23\"\ngstreamer-base = \"0.23\"\ngstreamer-pbutils = \"0.23\"\nglib = \"0.20\"\nlog = \"0.4\"\nthiserror = \"1\"\nurl = \"2\"\nhtml-escape = \"0.2.13\"\n\n[dependencies.iced_wgpu]\ngit = \"https://github.com/pop-os/libcosmic\"\ndefault-features = false\noptional = true\n\n[dependencies.libcosmic]\ngit = \"https://github.com/pop-os/libcosmic.git\"\ndefault-features = false\nfeatures = [\"tokio\", \"winit\"]\n\n[dev-dependencies]\nenv_logger = \"0.11\"\n\n[features]\ndefault = [\"wgpu\"]\nwgpu = [\"libcosmic/wgpu\", \"iced_wgpu\"]\n\n[dev_dependencies.libcosmic]\ngit = \"https://github.com/pop-os/libcosmic\"\nfeatures = [\"wgpu\", \"wayland\"]\n", - "dest": "cargo/vendor/iced_video_player", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_video_player", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/wgpu\" \"cargo/vendor/iced_wgpu\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_wgpu\"\ndescription = \"A renderer for iced on top of wgpu\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[package.metadata.docs.rs]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\nall-features = true\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\ndefault = [\"wgpu/default\"]\ngeometry = [\"iced_graphics/geometry\", \"lyon\"]\nimage = [\"iced_graphics/image\"]\nsvg = [\"iced_graphics/svg\", \"resvg/text\"]\nweb-colors = [\"iced_graphics/web-colors\"]\nwebgl = [\"wgpu/webgl\"]\nstrict-assertions = []\n\n[dependencies]\nbitflags = \"2.5\"\nglam = \"0.25\"\nguillotiere = \"0.6\"\nlog = \"0.4\"\nrustc-hash = \"2.0\"\nthiserror = \"2\"\n\n[dependencies.iced_debug]\nversion = \"0.14.0\"\npath = \"debug\"\n\n[dependencies.iced_graphics]\nversion = \"0.14.0\"\npath = \"graphics\"\n\n[dependencies.bytemuck]\nversion = \"1.0\"\nfeatures = [\"derive\"]\n\n[dependencies.futures]\nversion = \"0.3\"\ndefault-features = false\nfeatures = [\"std\", \"async-await\"]\n\n[dependencies.cryoglyph]\npackage = \"cryoglyph\"\ngit = \"https://github.com/pop-os/glyphon.git\"\ntag = \"cosmic-0.14\"\n\n[dependencies.wgpu]\nversion = \"27.0\"\ndefault-features = false\nfeatures = [\"std\", \"wgsl\"]\n\n[dependencies.lyon]\noptional = true\nversion = \"1.0\"\n\n[dependencies.resvg]\noptional = true\nversion = \"0.45\"\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies]\nraw-window-handle = \"0.6\"\nas-raw-xcb-connection = \"1.0.1\"\ntiny-xlib = \"0.2.3\"\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies.rustix]\nversion = \"0.38\"\nfeatures = [\"fs\"]\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies.cctk]\noptional = true\ngit = \"https://github.com/pop-os/cosmic-protocols\"\npackage = \"cosmic-client-toolkit\"\nrev = \"160b086\"\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies.wayland-protocols]\nversion = \"0.32.1\"\nfeatures = [\"staging\"]\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies.wayland-backend]\nversion = \"0.3.3\"\nfeatures = [\"client_system\"]\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies.wayland-client]\nversion = \"0.31.2\"\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies.wayland-sys]\nversion = \"0.31.1\"\nfeatures = [\"dlopen\"]\n\n[target.\"cfg(all(unix, not(target_os = \\\"macos\\\"), not(target_os = \\\"redox\\\")))\".dependencies.x11rb]\nversion = \"0.13.1\"\nfeatures = [\"allow-unsafe-code\", \"dl-libxcb\", \"dri3\", \"randr\"]\n", - "dest": "cargo/vendor/iced_wgpu", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_wgpu", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/widget\" \"cargo/vendor/iced_widget\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_widget\"\ndescription = \"The built-in widgets for iced\"\nversion = \"0.14.2\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[package.metadata.docs.rs]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\nall-features = true\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\nlazy = [\"ouroboros\"]\nimage = [\"iced_renderer/image\"]\nsvg = [\"iced_renderer/svg\"]\ncanvas = [\"iced_renderer/geometry\"]\nqr_code = [\"canvas\", \"dep:qrcode\"]\nwgpu = [\"iced_renderer/wgpu-bare\"]\nmarkdown = [\"dep:pulldown-cmark\"]\nhighlighter = [\"dep:iced_highlighter\"]\nadvanced = []\ncrisp = []\na11y = [\"iced_accessibility\"]\ncctk = [\"iced_runtime/cctk\", \"dep:cctk\"]\n\n[dependencies]\nnum-traits = \"0.2\"\nlog = \"0.4\"\nrustc-hash = \"2.0\"\nthiserror = \"2\"\nunicode-segmentation = \"1.0\"\n\n[dependencies.iced_renderer]\nversion = \"0.14.0\"\npath = \"renderer\"\n\n[dependencies.iced_runtime]\nversion = \"0.14.0\"\npath = \"runtime\"\n\n[dependencies.iced_accessibility]\noptional = true\nversion = \"0.1\"\npath = \"accessibility\"\n\n[dependencies.cctk]\noptional = true\ngit = \"https://github.com/pop-os/cosmic-protocols\"\npackage = \"cosmic-client-toolkit\"\nrev = \"160b086\"\n\n[dependencies.window_clipboard]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.dnd]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.ouroboros]\noptional = true\nversion = \"0.18\"\n\n[dependencies.qrcode]\noptional = true\nversion = \"0.13\"\ndefault-features = false\n\n[dependencies.pulldown-cmark]\noptional = true\nversion = \"0.12\"\n\n[dependencies.iced_highlighter]\noptional = true\nversion = \"0.14.0\"\npath = \"highlighter\"\n", - "dest": "cargo/vendor/iced_widget", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_widget", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/iced/winit\" \"cargo/vendor/iced_winit\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"iced_winit\"\ndescription = \"A runtime for iced on top of winit\"\nversion = \"0.14.0\"\nedition = \"2024\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nlicense = \"MIT\"\nrepository = \"https://github.com/iced-rs/iced\"\nhomepage = \"https://iced.rs\"\ncategories = [\"gui\"]\nkeywords = [\"gui\", \"ui\", \"graphics\", \"interface\", \"widgets\"]\n\n[lints.rust]\nunused_results = \"deny\"\n\n[lints.rust.rust_2018_idioms]\nlevel = \"deny\"\npriority = -1\n\n[lints.clippy]\ntype-complexity = \"allow\"\nmap-entry = \"allow\"\nlarge-enum-variant = \"allow\"\nresult_large_err = \"allow\"\nsemicolon_if_nothing_returned = \"deny\"\ntrivially-copy-pass-by-ref = \"deny\"\ndefault_trait_access = \"deny\"\nmatch-wildcard-for-single-variants = \"deny\"\nredundant-closure-for-method-calls = \"deny\"\nfilter_map_next = \"deny\"\nmanual_let_else = \"deny\"\nunused_async = \"deny\"\nfrom_over_into = \"deny\"\nneedless_borrow = \"deny\"\nnew_without_default = \"deny\"\nuseless_conversion = \"deny\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"forbid\"\n\n[features]\nwayland = [\"winit/wayland\", \"wayland-csd-adwaita\"]\ndefault = [\"x11\", \"wayland-dlopen\"]\ndebug = [\"iced_debug/enable\"]\nsysinfo = [\"dep:sysinfo\"]\nunconditional-rendering = []\nlinux-theme-detection = [\"dep:mundy\", \"mundy/async-io\", \"mundy/color-scheme\"]\nx11 = [\"winit/x11\"]\nsystem = [\"sysinfo\"]\nprogram = []\nwayland-dlopen = [\"winit/wayland-dlopen\"]\nwayland-csd-adwaita = [\"winit/wayland-csd-adwaita\"]\na11y = [\"iced_accessibility\", \"iced_runtime/a11y\"]\ncctk = [\"wayland\", \"wayland-protocols\", \"raw-window-handle\", \"iced_runtime/cctk\", \"wayland-backend\", \"xkbcommon\", \"xkbcommon-dl\", \"xkeysym\", \"dep:cctk\"]\n\n[dependencies]\nlog = \"0.4\"\nrustc-hash = \"2.0\"\nthiserror = \"2\"\ncursor-icon = \"1.1.0\"\n\n[dependencies.iced_futures]\nversion = \"0.14.0\"\npath = \"futures\"\n\n[dependencies.iced_graphics]\nversion = \"0.14.0\"\npath = \"graphics\"\n\n[dependencies.iced_runtime]\nversion = \"0.14.0\"\npath = \"runtime\"\n\n[dependencies.iced_accessibility]\noptional = true\nfeatures = [\"accesskit_winit\"]\nversion = \"0.1\"\npath = \"accessibility\"\n\n[dependencies.window_clipboard]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.dnd]\ngit = \"https://github.com/pop-os/window_clipboard.git\"\ntag = \"sctk-0.20\"\n\n[dependencies.winit]\ngit = \"https://github.com/pop-os/winit.git\"\ntag = \"cosmic-0.14\"\n\n[dependencies.winit-core]\ngit = \"https://github.com/pop-os/winit.git\"\ntag = \"cosmic-0.14\"\n\n[dependencies.sysinfo]\noptional = true\nversion = \"0.33\"\n\n[dependencies.iced_debug]\nversion = \"0.14.0\"\npath = \"debug\"\n\n[dependencies.iced_program]\nversion = \"0.14.0\"\npath = \"program\"\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.mundy]\noptional = true\nversion = \"0.2\"\ndefault-features = false\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.raw-window-handle]\nversion = \"0.6\"\noptional = true\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.cctk]\noptional = true\ngit = \"https://github.com/pop-os/cosmic-protocols\"\npackage = \"cosmic-client-toolkit\"\nrev = \"160b086\"\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.wayland-protocols]\noptional = true\nversion = \"0.32.1\"\nfeatures = [\"staging\"]\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.wayland-client]\nversion = \"0.31.5\"\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.wayland-backend]\nversion = \"0.3.1\"\nfeatures = [\"client_system\"]\noptional = true\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.xkbcommon]\nversion = \"0.7\"\nfeatures = [\"wayland\"]\noptional = true\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.xkbcommon-dl]\nversion = \"0.4.1\"\noptional = true\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.xkeysym]\nversion = \"0.2.0\"\noptional = true\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.rustix]\nversion = \"0.38\"\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies]\nwinapi = \"0.3\"\n\n[target.\"cfg(target_arch = \\\"wasm32\\\")\".dependencies]\nwasm-bindgen-futures = \"0.4\"\n\n[target.\"cfg(target_arch = \\\"wasm32\\\")\".dependencies.web-sys]\nfeatures = [\"Document\", \"Window\", \"HtmlCanvasElement\"]\nversion = \"0.3.69\"\n", - "dest": "cargo/vendor/iced_winit", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/iced_winit", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/icu_collections/icu_collections-2.2.0.crate", - "sha256": "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c", - "dest": "cargo/vendor/icu_collections-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c\", \"files\": {}}", - "dest": "cargo/vendor/icu_collections-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/icu_locale_core/icu_locale_core-2.2.0.crate", - "sha256": "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29", - "dest": "cargo/vendor/icu_locale_core-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29\", \"files\": {}}", - "dest": "cargo/vendor/icu_locale_core-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/icu_normalizer/icu_normalizer-2.2.0.crate", - "sha256": "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4", - "dest": "cargo/vendor/icu_normalizer-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4\", \"files\": {}}", - "dest": "cargo/vendor/icu_normalizer-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/icu_normalizer_data/icu_normalizer_data-2.2.0.crate", - "sha256": "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38", - "dest": "cargo/vendor/icu_normalizer_data-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38\", \"files\": {}}", - "dest": "cargo/vendor/icu_normalizer_data-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/icu_properties/icu_properties-2.2.0.crate", - "sha256": "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de", - "dest": "cargo/vendor/icu_properties-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de\", \"files\": {}}", - "dest": "cargo/vendor/icu_properties-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/icu_properties_data/icu_properties_data-2.2.0.crate", - "sha256": "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14", - "dest": "cargo/vendor/icu_properties_data-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14\", \"files\": {}}", - "dest": "cargo/vendor/icu_properties_data-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/icu_provider/icu_provider-2.2.0.crate", - "sha256": "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421", - "dest": "cargo/vendor/icu_provider-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421\", \"files\": {}}", - "dest": "cargo/vendor/icu_provider-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/id-arena/id-arena-2.3.0.crate", - "sha256": "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954", - "dest": "cargo/vendor/id-arena-2.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954\", \"files\": {}}", - "dest": "cargo/vendor/id-arena-2.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ident_case/ident_case-1.0.1.crate", - "sha256": "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39", - "dest": "cargo/vendor/ident_case-1.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\", \"files\": {}}", - "dest": "cargo/vendor/ident_case-1.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/idna/idna-1.1.0.crate", - "sha256": "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de", - "dest": "cargo/vendor/idna-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de\", \"files\": {}}", - "dest": "cargo/vendor/idna-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/idna_adapter/idna_adapter-1.2.1.crate", - "sha256": "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344", - "dest": "cargo/vendor/idna_adapter-1.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344\", \"files\": {}}", - "dest": "cargo/vendor/idna_adapter-1.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/image/image-0.25.10.crate", - "sha256": "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104", - "dest": "cargo/vendor/image-0.25.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104\", \"files\": {}}", - "dest": "cargo/vendor/image-0.25.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/image-webp/image-webp-0.2.4.crate", - "sha256": "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3", - "dest": "cargo/vendor/image-webp-0.2.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3\", \"files\": {}}", - "dest": "cargo/vendor/image-webp-0.2.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/imagesize/imagesize-0.13.0.crate", - "sha256": "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285", - "dest": "cargo/vendor/imagesize-0.13.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285\", \"files\": {}}", - "dest": "cargo/vendor/imagesize-0.13.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/imagesize/imagesize-0.14.0.crate", - "sha256": "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c", - "dest": "cargo/vendor/imagesize-0.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c\", \"files\": {}}", - "dest": "cargo/vendor/imagesize-0.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/imgref/imgref-1.12.0.crate", - "sha256": "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8", - "dest": "cargo/vendor/imgref-1.12.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8\", \"files\": {}}", - "dest": "cargo/vendor/imgref-1.12.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/indexmap/indexmap-1.9.3.crate", - "sha256": "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99", - "dest": "cargo/vendor/indexmap-1.9.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99\", \"files\": {}}", - "dest": "cargo/vendor/indexmap-1.9.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/indexmap/indexmap-2.14.0.crate", - "sha256": "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9", - "dest": "cargo/vendor/indexmap-2.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9\", \"files\": {}}", - "dest": "cargo/vendor/indexmap-2.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/inotify/inotify-0.11.1.crate", - "sha256": "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199", - "dest": "cargo/vendor/inotify-0.11.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199\", \"files\": {}}", - "dest": "cargo/vendor/inotify-0.11.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/inotify-sys/inotify-sys-0.1.5.crate", - "sha256": "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb", - "dest": "cargo/vendor/inotify-sys-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb\", \"files\": {}}", - "dest": "cargo/vendor/inotify-sys-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/interpolate_name/interpolate_name-0.2.4.crate", - "sha256": "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60", - "dest": "cargo/vendor/interpolate_name-0.2.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60\", \"files\": {}}", - "dest": "cargo/vendor/interpolate_name-0.2.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/intl-memoizer/intl-memoizer-0.5.3.crate", - "sha256": "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f", - "dest": "cargo/vendor/intl-memoizer-0.5.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f\", \"files\": {}}", - "dest": "cargo/vendor/intl-memoizer-0.5.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/intl_pluralrules/intl_pluralrules-7.0.2.crate", - "sha256": "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972", - "dest": "cargo/vendor/intl_pluralrules-7.0.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972\", \"files\": {}}", - "dest": "cargo/vendor/intl_pluralrules-7.0.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ipnet/ipnet-2.12.0.crate", - "sha256": "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2", - "dest": "cargo/vendor/ipnet-2.12.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2\", \"files\": {}}", - "dest": "cargo/vendor/ipnet-2.12.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/iri-string/iri-string-0.7.12.crate", - "sha256": "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20", - "dest": "cargo/vendor/iri-string-0.7.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20\", \"files\": {}}", - "dest": "cargo/vendor/iri-string-0.7.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/is_ci/is_ci-1.2.0.crate", - "sha256": "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45", - "dest": "cargo/vendor/is_ci-1.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45\", \"files\": {}}", - "dest": "cargo/vendor/is_ci-1.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/is_terminal_polyfill/is_terminal_polyfill-1.70.2.crate", - "sha256": "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695", - "dest": "cargo/vendor/is_terminal_polyfill-1.70.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\", \"files\": {}}", - "dest": "cargo/vendor/is_terminal_polyfill-1.70.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/itertools/itertools-0.13.0.crate", - "sha256": "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186", - "dest": "cargo/vendor/itertools-0.13.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\", \"files\": {}}", - "dest": "cargo/vendor/itertools-0.13.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/itertools/itertools-0.14.0.crate", - "sha256": "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285", - "dest": "cargo/vendor/itertools-0.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\", \"files\": {}}", - "dest": "cargo/vendor/itertools-0.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/itoa/itoa-1.0.18.crate", - "sha256": "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682", - "dest": "cargo/vendor/itoa-1.0.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\", \"files\": {}}", - "dest": "cargo/vendor/itoa-1.0.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jiff/jiff-0.2.23.crate", - "sha256": "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359", - "dest": "cargo/vendor/jiff-0.2.23" - }, - { - "type": "inline", - "contents": "{\"package\": \"1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359\", \"files\": {}}", - "dest": "cargo/vendor/jiff-0.2.23", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jiff-static/jiff-static-0.2.23.crate", - "sha256": "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4", - "dest": "cargo/vendor/jiff-static-0.2.23" - }, - { - "type": "inline", - "contents": "{\"package\": \"2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4\", \"files\": {}}", - "dest": "cargo/vendor/jiff-static-0.2.23", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jiff-tzdb/jiff-tzdb-0.1.6.crate", - "sha256": "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076", - "dest": "cargo/vendor/jiff-tzdb-0.1.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076\", \"files\": {}}", - "dest": "cargo/vendor/jiff-tzdb-0.1.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jiff-tzdb-platform/jiff-tzdb-platform-0.1.3.crate", - "sha256": "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8", - "dest": "cargo/vendor/jiff-tzdb-platform-0.1.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8\", \"files\": {}}", - "dest": "cargo/vendor/jiff-tzdb-platform-0.1.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jni/jni-0.21.1.crate", - "sha256": "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97", - "dest": "cargo/vendor/jni-0.21.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97\", \"files\": {}}", - "dest": "cargo/vendor/jni-0.21.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jni/jni-0.22.4.crate", - "sha256": "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498", - "dest": "cargo/vendor/jni-0.22.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498\", \"files\": {}}", - "dest": "cargo/vendor/jni-0.22.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jni-macros/jni-macros-0.22.4.crate", - "sha256": "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3", - "dest": "cargo/vendor/jni-macros-0.22.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3\", \"files\": {}}", - "dest": "cargo/vendor/jni-macros-0.22.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jni-sys/jni-sys-0.3.1.crate", - "sha256": "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258", - "dest": "cargo/vendor/jni-sys-0.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258\", \"files\": {}}", - "dest": "cargo/vendor/jni-sys-0.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jni-sys/jni-sys-0.4.1.crate", - "sha256": "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2", - "dest": "cargo/vendor/jni-sys-0.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2\", \"files\": {}}", - "dest": "cargo/vendor/jni-sys-0.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jni-sys-macros/jni-sys-macros-0.4.1.crate", - "sha256": "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264", - "dest": "cargo/vendor/jni-sys-macros-0.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264\", \"files\": {}}", - "dest": "cargo/vendor/jni-sys-macros-0.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/jobserver/jobserver-0.1.34.crate", - "sha256": "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33", - "dest": "cargo/vendor/jobserver-0.1.34" - }, - { - "type": "inline", - "contents": "{\"package\": \"9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33\", \"files\": {}}", - "dest": "cargo/vendor/jobserver-0.1.34", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/js-sys/js-sys-0.3.95.crate", - "sha256": "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca", - "dest": "cargo/vendor/js-sys-0.3.95" - }, - { - "type": "inline", - "contents": "{\"package\": \"2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca\", \"files\": {}}", - "dest": "cargo/vendor/js-sys-0.3.95", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/kamadak-exif/kamadak-exif-0.6.1.crate", - "sha256": "1130d80c7374efad55a117d715a3af9368f0fa7a2c54573afc15a188cd984837", - "dest": "cargo/vendor/kamadak-exif-0.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1130d80c7374efad55a117d715a3af9368f0fa7a2c54573afc15a188cd984837\", \"files\": {}}", - "dest": "cargo/vendor/kamadak-exif-0.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/keyboard-types/keyboard-types-0.8.3.crate", - "sha256": "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d", - "dest": "cargo/vendor/keyboard-types-0.8.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d\", \"files\": {}}", - "dest": "cargo/vendor/keyboard-types-0.8.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/khronos-egl/khronos-egl-6.0.0.crate", - "sha256": "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76", - "dest": "cargo/vendor/khronos-egl-6.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76\", \"files\": {}}", - "dest": "cargo/vendor/khronos-egl-6.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/khronos_api/khronos_api-3.1.0.crate", - "sha256": "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc", - "dest": "cargo/vendor/khronos_api-3.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc\", \"files\": {}}", - "dest": "cargo/vendor/khronos_api-3.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/known-folders/known-folders-1.4.2.crate", - "sha256": "7a1886916523694cd6ea3d175f03a1e5010699a2a4cc13696d83d7bea1d80638", - "dest": "cargo/vendor/known-folders-1.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"7a1886916523694cd6ea3d175f03a1e5010699a2a4cc13696d83d7bea1d80638\", \"files\": {}}", - "dest": "cargo/vendor/known-folders-1.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/kqueue/kqueue-1.1.1.crate", - "sha256": "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a", - "dest": "cargo/vendor/kqueue-1.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a\", \"files\": {}}", - "dest": "cargo/vendor/kqueue-1.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/kqueue-sys/kqueue-sys-1.0.4.crate", - "sha256": "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b", - "dest": "cargo/vendor/kqueue-sys-1.0.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b\", \"files\": {}}", - "dest": "cargo/vendor/kqueue-sys-1.0.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/kurbo/kurbo-0.10.4.crate", - "sha256": "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440", - "dest": "cargo/vendor/kurbo-0.10.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440\", \"files\": {}}", - "dest": "cargo/vendor/kurbo-0.10.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/kurbo/kurbo-0.11.3.crate", - "sha256": "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62", - "dest": "cargo/vendor/kurbo-0.11.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62\", \"files\": {}}", - "dest": "cargo/vendor/kurbo-0.11.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/kurbo/kurbo-0.13.0.crate", - "sha256": "7564e90fe3c0d5771e1f0bc95322b21baaeaa0d9213fa6a0b61c99f8b17b3bfb", - "dest": "cargo/vendor/kurbo-0.13.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7564e90fe3c0d5771e1f0bc95322b21baaeaa0d9213fa6a0b61c99f8b17b3bfb\", \"files\": {}}", - "dest": "cargo/vendor/kurbo-0.13.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lazy_static/lazy_static-1.5.0.crate", - "sha256": "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe", - "dest": "cargo/vendor/lazy_static-1.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe\", \"files\": {}}", - "dest": "cargo/vendor/lazy_static-1.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/leb128fmt/leb128fmt-0.1.0.crate", - "sha256": "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2", - "dest": "cargo/vendor/leb128fmt-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2\", \"files\": {}}", - "dest": "cargo/vendor/leb128fmt-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lebe/lebe-0.5.3.crate", - "sha256": "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8", - "dest": "cargo/vendor/lebe-0.5.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8\", \"files\": {}}", - "dest": "cargo/vendor/lebe-0.5.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/libc/libc-0.2.184.crate", - "sha256": "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af", - "dest": "cargo/vendor/libc-0.2.184" - }, - { - "type": "inline", - "contents": "{\"package\": \"48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af\", \"files\": {}}", - "dest": "cargo/vendor/libc-0.2.184", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/libcosmic-1d7113a/.\" \"cargo/vendor/libcosmic\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"libcosmic\"\nversion = \"1.0.0\"\nedition = \"2024\"\nrust-version = \"1.90\"\n\n[lib]\nname = \"cosmic\"\n\n[features]\ndefault = [\"winit\", \"tokio\", \"a11y\", \"dbus-config\", \"x11\", \"iced-wayland\", \"multi-window\"]\nadvanced-shaping = [\"iced/advanced-shaping\"]\na11y = [\"iced/a11y\", \"iced_accessibility\"]\nabout = []\nanimated-image = [\"dep:async-fs\", \"image/gif\", \"image/webp\", \"image/png\", \"tokio?/io-util\", \"tokio?/fs\"]\nautosize = []\napplet = [\"autosize\", \"winit\", \"wayland\", \"tokio\", \"cosmic-panel-config\", \"ron\", \"multi-window\"]\napplet-token = [\"applet\"]\ndbus-config = []\ndebug = [\"iced/debug\"]\npipewire = [\"ashpd?/pipewire\"]\nprocess = [\"dep:libc\", \"dep:rustix\"]\nrfd = [\"dep:rfd\"]\ndesktop = [\"process\", \"dep:cosmic-settings-config\", \"dep:freedesktop-desktop-entry\", \"dep:mime\", \"dep:shlex\", \"tokio?/io-util\", \"tokio?/net\"]\ndesktop-systemd-scope = [\"desktop\", \"dep:zbus\"]\nserde-keycode = [\"iced_core/serde\"]\nsingle-instance = [\"zbus/blocking-api\", \"ron\"]\nsmol = [\"dep:smol\", \"iced/smol\", \"zbus?/async-io\", \"rfd?/async-std\"]\ntokio = [\"dep:tokio\", \"ashpd?/tokio\", \"iced/tokio\", \"rfd?/tokio\", \"zbus?/tokio\", \"cosmic-config/tokio\"]\niced-wayland = [\"ashpd?/wayland\", \"autosize\", \"iced/wayland\", \"iced_winit/wayland\", \"surface-message\"]\nwayland = [\"iced-wayland\", \"iced_runtime/cctk\", \"iced_winit/cctk\", \"iced_wgpu/cctk\", \"iced/cctk\", \"dep:cctk\"]\nsurface-message = []\nmulti-window = []\nwgpu = [\"iced/wgpu\", \"iced_wgpu\"]\nwinit = [\"iced/winit\", \"iced_winit\"]\nwinit_debug = [\"winit\", \"debug\"]\nwinit_tokio = [\"winit\", \"tokio\"]\nwinit_wgpu = [\"winit\", \"wgpu\"]\nxdg-portal = [\"ashpd\"]\nqr_code = [\"iced/qr_code\"]\nmarkdown = [\"iced/markdown\"]\nhighlighter = [\"iced/highlighter\"]\nasync-std = [\"dep:async-std\", \"ashpd?/async-std\", \"rfd?/async-std\", \"zbus?/async-io\", \"iced/async-std\"]\nx11 = [\"iced/x11\", \"iced_winit/x11\"]\n\n[dependencies]\napply = \"0.3.0\"\nauto_enums = \"0.8.8\"\njiff = \"0.2\"\ni18n-embed-fl = \"0.10\"\nrust-embed = \"8.11.0\"\ncss-color = \"0.2.8\"\nderive_setters = \"0.1.9\"\nfutures = \"0.3\"\nlog = \"0.4\"\npalette = \"0.7.6\"\nslotmap = \"1.1.1\"\nthiserror = \"2.0.18\"\ntracing = \"0.1.44\"\nunicode-segmentation = \"1.12\"\nurl = \"2.5.8\"\nfloat-cmp = \"0.10.0\"\n\n[dependencies.ashpd]\nversion = \"0.12.3\"\ndefault-features = false\noptional = true\n\n[dependencies.async-fs]\nversion = \"2.2\"\noptional = true\n\n[dependencies.async-std]\nversion = \"1.13\"\noptional = true\n\n[dependencies.cctk]\ngit = \"https://github.com/pop-os/cosmic-protocols\"\npackage = \"cosmic-client-toolkit\"\nrev = \"160b086\"\noptional = true\n\n[dependencies.cosmic-config]\npath = \"cosmic-config\"\n\n[dependencies.cosmic-settings-config]\ngit = \"https://github.com/pop-os/cosmic-settings-daemon\"\noptional = true\n\n[dependencies.i18n-embed]\nversion = \"0.16.0\"\nfeatures = [\"fluent-system\", \"desktop-requester\"]\n\n[dependencies.image]\nversion = \"0.25.10\"\ndefault-features = false\nfeatures = [\"jpeg\", \"png\"]\n\n[dependencies.libc]\nversion = \"0.2.183\"\noptional = true\n\n[dependencies.mime]\nversion = \"0.3.17\"\noptional = true\n\n[dependencies.rfd]\nversion = \"0.16.0\"\ndefault-features = false\nfeatures = [\"xdg-portal\"]\noptional = true\n\n[dependencies.rustix]\nversion = \"1.1\"\nfeatures = [\"pipe\", \"process\"]\noptional = true\n\n[dependencies.serde]\nversion = \"1.0.228\"\nfeatures = [\"derive\"]\n\n[dependencies.smol]\nversion = \"2.0.2\"\noptional = true\n\n[dependencies.taffy]\nversion = \"0.9.2\"\nfeatures = [\"grid\"]\n\n[dependencies.tokio]\nversion = \"1.50.0\"\noptional = true\n\n[dependencies.zbus]\nversion = \"5.14.0\"\ndefault-features = false\noptional = true\n\n[dependencies.cosmic-theme]\npath = \"cosmic-theme\"\n\n[dependencies.iced]\npath = \"./iced\"\ndefault-features = false\nfeatures = [\"advanced\", \"image-without-codecs\", \"lazy\", \"svg\", \"web-colors\", \"tiny-skia\"]\n\n[dependencies.iced_runtime]\npath = \"./iced/runtime\"\n\n[dependencies.iced_renderer]\npath = \"./iced/renderer\"\n\n[dependencies.iced_core]\npath = \"./iced/core\"\nfeatures = [\"serde\"]\n\n[dependencies.iced_widget]\npath = \"./iced/widget\"\nfeatures = [\"canvas\"]\n\n[dependencies.iced_futures]\npath = \"./iced/futures\"\n\n[dependencies.iced_accessibility]\npath = \"./iced/accessibility\"\noptional = true\n\n[dependencies.iced_tiny_skia]\npath = \"./iced/tiny_skia\"\n\n[dependencies.iced_winit]\npath = \"./iced/winit\"\noptional = true\n\n[dependencies.iced_wgpu]\npath = \"./iced/wgpu\"\noptional = true\n\n[dependencies.cosmic-panel-config]\ngit = \"https://github.com/pop-os/cosmic-panel\"\noptional = true\n\n[dependencies.ron]\nversion = \"0.12\"\noptional = true\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.cosmic-config]\npath = \"cosmic-config\"\nfeatures = [\"dbus\"]\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.cosmic-settings-daemon]\ngit = \"https://github.com/pop-os/dbus-settings-bindings\"\n\n[target.\"cfg(target_os = \\\"linux\\\")\".dependencies.zbus]\nversion = \"5.14.0\"\ndefault-features = false\n\n[target.\"cfg(unix)\".dependencies.freedesktop-icons]\npackage = \"cosmic-freedesktop-icons\"\ngit = \"https://github.com/pop-os/freedesktop-icons\"\n\n[target.\"cfg(unix)\".dependencies.freedesktop-desktop-entry]\nversion = \"0.8.1\"\noptional = true\n\n[target.\"cfg(unix)\".dependencies.shlex]\nversion = \"1.3.0\"\noptional = true\n\n[target.\"cfg(not(unix))\".dependencies.phf]\nversion = \"0.13.1\"\nfeatures = [\"macros\"]\n\n[workspace]\nmembers = [\"cosmic-config\", \"cosmic-config-derive\", \"cosmic-theme\", \"examples/*\"]\nexclude = [\"iced\"]\n\n[workspace.dependencies]\ndirs = \"6.0.0\"\n\n[dev-dependencies]\ntempfile = \"3.27.0\"\n", - "dest": "cargo/vendor/libcosmic", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/libcosmic", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/libfuzzer-sys/libfuzzer-sys-0.4.12.crate", - "sha256": "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d", - "dest": "cargo/vendor/libfuzzer-sys-0.4.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d\", \"files\": {}}", - "dest": "cargo/vendor/libfuzzer-sys-0.4.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/libloading/libloading-0.8.9.crate", - "sha256": "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55", - "dest": "cargo/vendor/libloading-0.8.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\", \"files\": {}}", - "dest": "cargo/vendor/libloading-0.8.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/libm/libm-0.2.16.crate", - "sha256": "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981", - "dest": "cargo/vendor/libm-0.2.16" - }, - { - "type": "inline", - "contents": "{\"package\": \"b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981\", \"files\": {}}", - "dest": "cargo/vendor/libm-0.2.16", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/libredox/libredox-0.1.16.crate", - "sha256": "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c", - "dest": "cargo/vendor/libredox-0.1.16" - }, - { - "type": "inline", - "contents": "{\"package\": \"e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c\", \"files\": {}}", - "dest": "cargo/vendor/libredox-0.1.16", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/libsqlite3-sys/libsqlite3-sys-0.30.1.crate", - "sha256": "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149", - "dest": "cargo/vendor/libsqlite3-sys-0.30.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149\", \"files\": {}}", - "dest": "cargo/vendor/libsqlite3-sys-0.30.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lilt/lilt-0.8.1.crate", - "sha256": "f67562e5eff6b20553fa9be1c503356768420994e28f67e3eafe6f41910e57ad", - "dest": "cargo/vendor/lilt-0.8.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f67562e5eff6b20553fa9be1c503356768420994e28f67e3eafe6f41910e57ad\", \"files\": {}}", - "dest": "cargo/vendor/lilt-0.8.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/linebender_resource_handle/linebender_resource_handle-0.1.1.crate", - "sha256": "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4", - "dest": "cargo/vendor/linebender_resource_handle-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4\", \"files\": {}}", - "dest": "cargo/vendor/linebender_resource_handle-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/linux-raw-sys/linux-raw-sys-0.4.15.crate", - "sha256": "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab", - "dest": "cargo/vendor/linux-raw-sys-0.4.15" - }, - { - "type": "inline", - "contents": "{\"package\": \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\", \"files\": {}}", - "dest": "cargo/vendor/linux-raw-sys-0.4.15", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/linux-raw-sys/linux-raw-sys-0.6.5.crate", - "sha256": "2a385b1be4e5c3e362ad2ffa73c392e53f031eaa5b7d648e64cd87f27f6063d7", - "dest": "cargo/vendor/linux-raw-sys-0.6.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"2a385b1be4e5c3e362ad2ffa73c392e53f031eaa5b7d648e64cd87f27f6063d7\", \"files\": {}}", - "dest": "cargo/vendor/linux-raw-sys-0.6.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/linux-raw-sys/linux-raw-sys-0.12.1.crate", - "sha256": "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53", - "dest": "cargo/vendor/linux-raw-sys-0.12.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\", \"files\": {}}", - "dest": "cargo/vendor/linux-raw-sys-0.12.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/litemap/litemap-0.8.2.crate", - "sha256": "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0", - "dest": "cargo/vendor/litemap-0.8.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0\", \"files\": {}}", - "dest": "cargo/vendor/litemap-0.8.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/litrs/litrs-1.0.0.crate", - "sha256": "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092", - "dest": "cargo/vendor/litrs-1.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092\", \"files\": {}}", - "dest": "cargo/vendor/litrs-1.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lock_api/lock_api-0.4.14.crate", - "sha256": "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965", - "dest": "cargo/vendor/lock_api-0.4.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\", \"files\": {}}", - "dest": "cargo/vendor/lock_api-0.4.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/log/log-0.4.29.crate", - "sha256": "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897", - "dest": "cargo/vendor/log-0.4.29" - }, - { - "type": "inline", - "contents": "{\"package\": \"5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897\", \"files\": {}}", - "dest": "cargo/vendor/log-0.4.29", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/loop9/loop9-0.1.5.crate", - "sha256": "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062", - "dest": "cargo/vendor/loop9-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062\", \"files\": {}}", - "dest": "cargo/vendor/loop9-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lru/lru-0.16.3.crate", - "sha256": "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593", - "dest": "cargo/vendor/lru-0.16.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593\", \"files\": {}}", - "dest": "cargo/vendor/lru-0.16.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lru-slab/lru-slab-0.1.2.crate", - "sha256": "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154", - "dest": "cargo/vendor/lru-slab-0.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154\", \"files\": {}}", - "dest": "cargo/vendor/lru-slab-0.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lyon/lyon-1.0.19.crate", - "sha256": "bd0578bdecb7d6d88987b8b2b1e3a4e2f81df9d0ece1078623324a567904e7b7", - "dest": "cargo/vendor/lyon-1.0.19" - }, - { - "type": "inline", - "contents": "{\"package\": \"bd0578bdecb7d6d88987b8b2b1e3a4e2f81df9d0ece1078623324a567904e7b7\", \"files\": {}}", - "dest": "cargo/vendor/lyon-1.0.19", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lyon_algorithms/lyon_algorithms-1.0.19.crate", - "sha256": "9815fac08e6fd96733a11dce4f9d15a3f338e96a2e2311ee21e1b738efc2bc0f", - "dest": "cargo/vendor/lyon_algorithms-1.0.19" - }, - { - "type": "inline", - "contents": "{\"package\": \"9815fac08e6fd96733a11dce4f9d15a3f338e96a2e2311ee21e1b738efc2bc0f\", \"files\": {}}", - "dest": "cargo/vendor/lyon_algorithms-1.0.19", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lyon_geom/lyon_geom-1.0.19.crate", - "sha256": "4336502e29e32af93cf2dad2214ed6003c17ceb5bd499df77b1de663b9042b92", - "dest": "cargo/vendor/lyon_geom-1.0.19" - }, - { - "type": "inline", - "contents": "{\"package\": \"4336502e29e32af93cf2dad2214ed6003c17ceb5bd499df77b1de663b9042b92\", \"files\": {}}", - "dest": "cargo/vendor/lyon_geom-1.0.19", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lyon_path/lyon_path-1.0.19.crate", - "sha256": "5c463f9c428b7fc5ec885dcd39ce4aa61e29111d0e33483f6f98c74e89d8621e", - "dest": "cargo/vendor/lyon_path-1.0.19" - }, - { - "type": "inline", - "contents": "{\"package\": \"5c463f9c428b7fc5ec885dcd39ce4aa61e29111d0e33483f6f98c74e89d8621e\", \"files\": {}}", - "dest": "cargo/vendor/lyon_path-1.0.19", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/lyon_tessellation/lyon_tessellation-1.0.20.crate", - "sha256": "8e43b7e44161571868f5c931d12583592c223c5583eef86b08aa02b7048a3552", - "dest": "cargo/vendor/lyon_tessellation-1.0.20" - }, - { - "type": "inline", - "contents": "{\"package\": \"8e43b7e44161571868f5c931d12583592c223c5583eef86b08aa02b7048a3552\", \"files\": {}}", - "dest": "cargo/vendor/lyon_tessellation-1.0.20", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/mac/mac-0.1.1.crate", - "sha256": "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4", - "dest": "cargo/vendor/mac-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4\", \"files\": {}}", - "dest": "cargo/vendor/mac-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/mach2/mach2-0.5.0.crate", - "sha256": "6a1b95cd5421ec55b445b5ae102f5ea0e768de1f82bd3001e11f426c269c3aea", - "dest": "cargo/vendor/mach2-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6a1b95cd5421ec55b445b5ae102f5ea0e768de1f82bd3001e11f426c269c3aea\", \"files\": {}}", - "dest": "cargo/vendor/mach2-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/malloc_buf/malloc_buf-0.0.6.crate", - "sha256": "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb", - "dest": "cargo/vendor/malloc_buf-0.0.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb\", \"files\": {}}", - "dest": "cargo/vendor/malloc_buf-0.0.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/markup5ever/markup5ever-0.36.1.crate", - "sha256": "6c3294c4d74d0742910f8c7b466f44dda9eb2d5742c1e430138df290a1e8451c", - "dest": "cargo/vendor/markup5ever-0.36.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6c3294c4d74d0742910f8c7b466f44dda9eb2d5742c1e430138df290a1e8451c\", \"files\": {}}", - "dest": "cargo/vendor/markup5ever-0.36.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/matchers/matchers-0.2.0.crate", - "sha256": "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9", - "dest": "cargo/vendor/matchers-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\", \"files\": {}}", - "dest": "cargo/vendor/matchers-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/maybe-rayon/maybe-rayon-0.1.1.crate", - "sha256": "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519", - "dest": "cargo/vendor/maybe-rayon-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519\", \"files\": {}}", - "dest": "cargo/vendor/maybe-rayon-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/md-5/md-5-0.10.6.crate", - "sha256": "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf", - "dest": "cargo/vendor/md-5-0.10.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf\", \"files\": {}}", - "dest": "cargo/vendor/md-5-0.10.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/memchr/memchr-2.8.0.crate", - "sha256": "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79", - "dest": "cargo/vendor/memchr-2.8.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79\", \"files\": {}}", - "dest": "cargo/vendor/memchr-2.8.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/memmap2/memmap2-0.9.10.crate", - "sha256": "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3", - "dest": "cargo/vendor/memmap2-0.9.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3\", \"files\": {}}", - "dest": "cargo/vendor/memmap2-0.9.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/memoffset/memoffset-0.9.1.crate", - "sha256": "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a", - "dest": "cargo/vendor/memoffset-0.9.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a\", \"files\": {}}", - "dest": "cargo/vendor/memoffset-0.9.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/metal/metal-0.32.0.crate", - "sha256": "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605", - "dest": "cargo/vendor/metal-0.32.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605\", \"files\": {}}", - "dest": "cargo/vendor/metal-0.32.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/miette/miette-7.6.0.crate", - "sha256": "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7", - "dest": "cargo/vendor/miette-7.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7\", \"files\": {}}", - "dest": "cargo/vendor/miette-7.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/miette-derive/miette-derive-7.6.0.crate", - "sha256": "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b", - "dest": "cargo/vendor/miette-derive-7.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b\", \"files\": {}}", - "dest": "cargo/vendor/miette-derive-7.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/window_clipboard-f68595e/mime\" \"cargo/vendor/mime\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"mime\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[target.\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\", target_os=\\\"ios\\\", target_os=\\\"redox\\\"))))\".dependencies.smithay-clipboard]\ngit = \"https://github.com/pop-os/smithay-clipboard\"\ntag = \"sctk-0.20\"\n", - "dest": "cargo/vendor/mime", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/mime", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/mime/mime-0.3.17.crate", - "sha256": "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a", - "dest": "cargo/vendor/mime-0.3.17" - }, - { - "type": "inline", - "contents": "{\"package\": \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\", \"files\": {}}", - "dest": "cargo/vendor/mime-0.3.17", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/minimal-lexical/minimal-lexical-0.2.1.crate", - "sha256": "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a", - "dest": "cargo/vendor/minimal-lexical-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\", \"files\": {}}", - "dest": "cargo/vendor/minimal-lexical-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/miniz_oxide/miniz_oxide-0.8.9.crate", - "sha256": "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316", - "dest": "cargo/vendor/miniz_oxide-0.8.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316\", \"files\": {}}", - "dest": "cargo/vendor/miniz_oxide-0.8.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/mio/mio-1.2.0.crate", - "sha256": "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1", - "dest": "cargo/vendor/mio-1.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1\", \"files\": {}}", - "dest": "cargo/vendor/mio-1.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/moxcms/moxcms-0.8.1.crate", - "sha256": "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b", - "dest": "cargo/vendor/moxcms-0.8.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b\", \"files\": {}}", - "dest": "cargo/vendor/moxcms-0.8.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/muldiv/muldiv-1.0.1.crate", - "sha256": "956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0", - "dest": "cargo/vendor/muldiv-1.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0\", \"files\": {}}", - "dest": "cargo/vendor/muldiv-1.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/mupdf-rs-5bbe215/.\" \"cargo/vendor/mupdf\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"mupdf\"\nversion = \"0.6.0\"\nedition = \"2021\"\ndescription = \"Safe Rust wrapper to MuPDF\"\nkeywords = [\"pdf\", \"mupdf\"]\nlicense = \"AGPL-3.0\"\nreadme = \"README.md\"\nrepository = \"https://github.com/messense/mupdf-rs\"\n\n[features]\ndefault = [\"js\", \"xps\", \"svg\", \"cbz\", \"img\", \"html\", \"epub\", \"system-fonts\", \"tesseract\"]\nsys-lib = [\"mupdf-sys/sys-lib\"]\nsys-lib-freetype = [\"mupdf-sys/sys-lib-freetype\"]\nsys-lib-gumbo = [\"mupdf-sys/sys-lib-gumbo\"]\nsys-lib-harfbuzz = [\"mupdf-sys/sys-lib-harfbuzz\"]\nsys-lib-jpegxr = [\"mupdf-sys/sys-lib-jpegxr\"]\nsys-lib-jbig2dec = [\"mupdf-sys/sys-lib-jbig2dec\"]\nsys-lib-lcms2 = [\"mupdf-sys/sys-lib-lcms2\"]\nsys-lib-libjpeg = [\"mupdf-sys/sys-lib-libjpeg\"]\nsys-lib-openjpeg = [\"mupdf-sys/sys-lib-openjpeg\"]\nsys-lib-zlib = [\"mupdf-sys/sys-lib-zlib\"]\nsys-lib-leptonica = [\"mupdf-sys/sys-lib-leptonica\"]\nsys-lib-tesseract = [\"mupdf-sys/sys-lib-tesseract\"]\nsys-lib-zxingcpp = [\"mupdf-sys/sys-lib-zxingcpp\"]\nsys-lib-brotli = [\"mupdf-sys/sys-lib-brotli\"]\nall-fonts = [\"mupdf-sys/all-fonts\"]\nsystem-fonts = [\"font-kit\"]\njs = [\"mupdf-sys/js\"]\nxps = [\"mupdf-sys/xps\"]\nsvg = [\"mupdf-sys/svg\"]\ncbz = [\"mupdf-sys/cbz\"]\nimg = [\"mupdf-sys/img\"]\nhtml = [\"mupdf-sys/html\"]\nepub = [\"mupdf-sys/epub\"]\ntesseract = [\"mupdf-sys/tesseract\"]\nzxingcpp = [\"mupdf-sys/zxingcpp\"]\nlibarchive = [\"mupdf-sys/libarchive\"]\nserde = [\"dep:serde\"]\n\n[dependencies]\nonce_cell = \"1.3.1\"\nbitflags = \"2.0.2\"\npercent-encoding = \"2.3.1\"\n\n[dependencies.mupdf-sys]\nversion = \"0.6.0\"\npath = \"mupdf-sys\"\nfeatures = [\"zerocopy\"]\n\n[dependencies.serde]\nversion = \"1.0.201\"\nfeatures = [\"derive\"]\noptional = true\n\n[dependencies.zerocopy]\nversion = \"0.8.17\"\nfeatures = [\"derive\"]\n\n[target.\"cfg(not(target_arch = \\\"wasm32\\\"))\".dependencies.font-kit]\nversion = \"0.14.1\"\noptional = true\n\n[workspace]\nmembers = [\".\", \"mupdf-sys\"]\n\n[workspace.package]\nversion = \"0.6.0\"\nedition = \"2021\"\n\n[lints.rustdoc]\nbroken_intra_doc_links = \"deny\"\n\n[dev-dependencies]\ncrossbeam-utils = \"0.8.1\"\nserde_json = \"1.0.117\"\n\n[[example]]\nname = \"extract_stext\"\npath = \"examples/extract_stext.rs\"\nrequired-features = [\"serde\"]\n", - "dest": "cargo/vendor/mupdf", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/mupdf", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/mupdf-rs-5bbe215/mupdf-sys\" \"cargo/vendor/mupdf-sys\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"mupdf-sys\"\nversion = \"0.6.0\"\nedition = \"2021\"\ninclude = [\"COPYING*\", \"LICENSE*\", \"AUTHORS*\", \"*.rs\", \"wrapper/*\", \"androidfonts.c\", \"mupdf/resources/hyphen/hyph-all.zip\", \"mupdf/resources/hyphen/hyph-std.zip\", \"mupdf/generated/resources/hyphen/*.c\", \"mupdf/resources/fonts/urw/*.cff\", \"mupdf/generated/resources/fonts/urw/*.c\", \"mupdf/Make*\", \"mupdf/platform/win32/*\", \"mupdf/scripts/*.c\", \"mupdf/source/helpers/pkcs7/*.c\", \"mupdf/include/mupdf/*.h\", \"mupdf/include/mupdf/helpers/*.h\", \"mupdf/source/fitz/*.h\", \"mupdf/source/fitz/*.c\", \"mupdf/source/fitz/*.cpp\", \"mupdf/source/fitz/icc/*.icc.h\", \"mupdf/include/mupdf/fitz/*.h\", \"mupdf/source/pdf/*.c\", \"mupdf/source/pdf/*.h\", \"mupdf/source/pdf/cmaps/*.h\", \"mupdf/source/pdf/js/*.h\", \"mupdf/include/mupdf/pdf/*.h\", \"mupdf/source/xps/*.c\", \"mupdf/source/xps/*.h\", \"mupdf/source/svg/*.c\", \"mupdf/source/svg/*.h\", \"mupdf/source/html/*.c\", \"mupdf/source/html/*.h\", \"mupdf/source/reflow/*.c\", \"mupdf/source/cbz/*.c\", \"mupdf/thirdparty/brotli/c/include/brotli/*.h\", \"mupdf/thirdparty/brotli/c/common/*.c\", \"mupdf/thirdparty/brotli/c/common/*.h\", \"mupdf/thirdparty/brotli/c/dec/*.c\", \"mupdf/thirdparty/brotli/c/dec/*.h\", \"mupdf/thirdparty/brotli/c/enc/*.c\", \"mupdf/thirdparty/brotli/c/enc/*.h\", \"mupdf/thirdparty/freetype/*.c\", \"mupdf/thirdparty/freetype/src/base/*.c\", \"mupdf/thirdparty/freetype/src/base/*.h\", \"mupdf/thirdparty/freetype/src/cff/*.c\", \"mupdf/thirdparty/freetype/src/cff/*.h\", \"mupdf/thirdparty/freetype/src/cid/*.c\", \"mupdf/thirdparty/freetype/src/cid/*.h\", \"mupdf/thirdparty/freetype/src/psaux/*.c\", \"mupdf/thirdparty/freetype/src/psaux/*.h\", \"mupdf/thirdparty/freetype/src/pshinter/*.c\", \"mupdf/thirdparty/freetype/src/pshinter/*.h\", \"mupdf/thirdparty/freetype/src/psnames/*.c\", \"mupdf/thirdparty/freetype/src/psnames/*.h\", \"mupdf/thirdparty/freetype/src/raster/*.c\", \"mupdf/thirdparty/freetype/src/raster/*.h\", \"mupdf/thirdparty/freetype/src/sfnt/*.c\", \"mupdf/thirdparty/freetype/src/sfnt/*.h\", \"mupdf/thirdparty/freetype/src/smooth/*.c\", \"mupdf/thirdparty/freetype/src/smooth/*.h\", \"mupdf/thirdparty/freetype/src/truetype/*.c\", \"mupdf/thirdparty/freetype/src/truetype/*.h\", \"mupdf/thirdparty/freetype/src/type1/*.c\", \"mupdf/thirdparty/freetype/src/type1/*.h\", \"mupdf/thirdparty/freetype/include\", \"mupdf/scripts/freetype/*.h\", \"mupdf/thirdparty/gumbo-parser/src/*.c\", \"mupdf/thirdparty/gumbo-parser/src/*.h\", \"mupdf/thirdparty/gumbo-parser/visualc/include/*.h\", \"mupdf/thirdparty/harfbuzz/src/*.cc\", \"mupdf/thirdparty/harfbuzz/src/*.h\", \"mupdf/thirdparty/harfbuzz/src/*.hh\", \"mupdf/thirdparty/harfbuzz/src/graph/gsubgpos-context.cc\", \"mupdf/thirdparty/harfbuzz/src/graph/*.hh\", \"mupdf/thirdparty/harfbuzz/src/OT\", \"mupdf/thirdparty/libjpeg/*.c\", \"mupdf/thirdparty/libjpeg/*.h\", \"mupdf/scripts/libjpeg/*.h\", \"mupdf/thirdparty/lcms2/src/*.c\", \"mupdf/thirdparty/lcms2/src/*.h\", \"mupdf/thirdparty/lcms2/include/*.h\", \"mupdf/thirdparty/mujs/*.c\", \"mupdf/thirdparty/mujs/*.h\", \"mupdf/thirdparty/zlib/*.c\", \"mupdf/thirdparty/zlib/*.h\", \"mupdf/thirdparty/jbig2dec/*.c\", \"mupdf/thirdparty/jbig2dec/*.h\", \"mupdf/thirdparty/openjpeg/src/lib/openjp2/*.c\", \"mupdf/thirdparty/openjpeg/src/lib/openjp2/*.h\", \"mupdf/thirdparty/leptonica/src/*.c\", \"mupdf/thirdparty/leptonica/src/*.h\", \"mupdf/thirdparty/tesseract/src/*.cpp\", \"mupdf/thirdparty/tesseract/src/api/*.cpp\", \"mupdf/thirdparty/tesseract/src/api/*.h\", \"mupdf/thirdparty/tesseract/src/arch/*.cpp\", \"mupdf/thirdparty/tesseract/src/arch/*.h\", \"mupdf/thirdparty/tesseract/src/ccmain/*.cpp\", \"mupdf/thirdparty/tesseract/src/ccmain/*.h\", \"mupdf/thirdparty/tesseract/src/ccstruct/*.cpp\", \"mupdf/thirdparty/tesseract/src/ccstruct/*.h\", \"mupdf/thirdparty/tesseract/src/ccutil/*.cpp\", \"mupdf/thirdparty/tesseract/src/ccutil/*.h\", \"mupdf/thirdparty/tesseract/src/classify/*.cpp\", \"mupdf/thirdparty/tesseract/src/classify/*.h\", \"mupdf/thirdparty/tesseract/src/dict/*.cpp\", \"mupdf/thirdparty/tesseract/src/dict/*.h\", \"mupdf/thirdparty/tesseract/src/lstm/*.cpp\", \"mupdf/thirdparty/tesseract/src/lstm/*.h\", \"mupdf/thirdparty/tesseract/src/textord/*.cpp\", \"mupdf/thirdparty/tesseract/src/textord/*.h\", \"mupdf/thirdparty/tesseract/src/viewer/*.cpp\", \"mupdf/thirdparty/tesseract/src/viewer/*.h\", \"mupdf/thirdparty/tesseract/src/wordrec/*.cpp\", \"mupdf/thirdparty/tesseract/src/wordrec/*.h\", \"mupdf/thirdparty/tesseract/src/cutil/*.cpp\", \"mupdf/thirdparty/tesseract/src/cutil/*.h\", \"mupdf/thirdparty/tesseract/include/tesseract/*.h\", \"mupdf/scripts/tesseract/*.h\", \"mupdf/scripts/tesseract/tesseract/*.h\", \"mupdf/thirdparty/extract/src/*.c\", \"mupdf/thirdparty/extract/src/*.h\", \"mupdf/thirdparty/extract/include/extract/*.h\", \"mupdf/thirdparty/extract/src/template.docx\", \"mupdf/thirdparty/extract/src/template.odt\", \"mupdf/thirdparty/extract/src/docx_template_build.py\", \"mupdf/thirdparty/zxing-cpp/core/src/*.cpp\", \"mupdf/thirdparty/zxing-cpp/core/src/*.h\", \"mupdf/thirdparty/zxing-cpp/core/src/aztec/*.cpp\", \"mupdf/thirdparty/zxing-cpp/core/src/aztec/*.h\", \"mupdf/thirdparty/zxing-cpp/core/src/datamatrix/*.cpp\", \"mupdf/thirdparty/zxing-cpp/core/src/datamatrix/*.h\", \"mupdf/thirdparty/zxing-cpp/core/src/maxicode/*.cpp\", \"mupdf/thirdparty/zxing-cpp/core/src/maxicode/*.h\", \"mupdf/thirdparty/zxing-cpp/core/src/oned/*.cpp\", \"mupdf/thirdparty/zxing-cpp/core/src/oned/*.h\", \"mupdf/thirdparty/zxing-cpp/core/src/pdf417/*.cpp\", \"mupdf/thirdparty/zxing-cpp/core/src/pdf417/*.h\", \"mupdf/thirdparty/zxing-cpp/core/src/qrcode/*.cpp\", \"mupdf/thirdparty/zxing-cpp/core/src/qrcode/*.h\", \"mupdf/scripts/zxing-cpp/*.cpp\", \"mupdf/scripts/zxing-cpp/*.h\", \"mupdf/thirdparty/zxing-cpp/core/src/libzueci/*.c\", \"mupdf/thirdparty/zxing-cpp/core/src/libzueci/*.h\", \"mupdf/thirdparty/zint/backend/*.c\", \"mupdf/thirdparty/zint/backend/*.h\", \"mupdf/thirdparty/zint/backend/fonts/*.h\"]\ndescription = \"Rust FFI binding to MuPDF\"\nkeywords = [\"pdf\", \"mupdf\"]\nlicense = \"AGPL-3.0\"\nlinks = \"mupdf-wrapper\"\nrepository = \"https://github.com/messense/mupdf-rs\"\n\n[features]\nsys-lib = []\nsys-lib-freetype = []\nsys-lib-gumbo = []\nsys-lib-harfbuzz = []\nsys-lib-jbig2dec = []\nsys-lib-jpegxr = []\nsys-lib-lcms2 = []\nsys-lib-libjpeg = []\nsys-lib-openjpeg = []\nsys-lib-zlib = []\nsys-lib-leptonica = []\nsys-lib-tesseract = []\nsys-lib-zxingcpp = []\nsys-lib-brotli = []\nall-fonts = []\njs = []\nxps = []\nsvg = []\ncbz = []\nimg = []\nhtml = []\nepub = []\ntesseract = []\nzxingcpp = []\nlibarchive = []\nzerocopy = [\"dep:zerocopy\"]\n\n[build-dependencies]\ncc = \"1.0.50\"\npkg-config = \"0.3\"\nregex = \"1.11\"\n\n[build-dependencies.bindgen]\nversion = \"0.72\"\ndefault-features = false\nfeatures = [\"runtime\"]\n\n[dependencies.zerocopy]\nversion = \"0.8.17\"\nfeatures = [\"derive\"]\noptional = true\n", - "dest": "cargo/vendor/mupdf-sys", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/mupdf-sys", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/mutate_once/mutate_once-0.1.2.crate", - "sha256": "13d2233c9842d08cfe13f9eac96e207ca6a2ea10b80259ebe8ad0268be27d2af", - "dest": "cargo/vendor/mutate_once-0.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"13d2233c9842d08cfe13f9eac96e207ca6a2ea10b80259ebe8ad0268be27d2af\", \"files\": {}}", - "dest": "cargo/vendor/mutate_once-0.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/naga/naga-27.0.3.crate", - "sha256": "066cf25f0e8b11ee0df221219010f213ad429855f57c494f995590c861a9a7d8", - "dest": "cargo/vendor/naga-27.0.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"066cf25f0e8b11ee0df221219010f213ad429855f57c494f995590c861a9a7d8\", \"files\": {}}", - "dest": "cargo/vendor/naga-27.0.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/native-tls/native-tls-0.2.18.crate", - "sha256": "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2", - "dest": "cargo/vendor/native-tls-0.2.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2\", \"files\": {}}", - "dest": "cargo/vendor/native-tls-0.2.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ndk/ndk-0.9.0.crate", - "sha256": "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4", - "dest": "cargo/vendor/ndk-0.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4\", \"files\": {}}", - "dest": "cargo/vendor/ndk-0.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ndk-context/ndk-context-0.1.1.crate", - "sha256": "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b", - "dest": "cargo/vendor/ndk-context-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b\", \"files\": {}}", - "dest": "cargo/vendor/ndk-context-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ndk-sys/ndk-sys-0.6.0+11769913.crate", - "sha256": "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873", - "dest": "cargo/vendor/ndk-sys-0.6.0+11769913" - }, - { - "type": "inline", - "contents": "{\"package\": \"ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873\", \"files\": {}}", - "dest": "cargo/vendor/ndk-sys-0.6.0+11769913", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/new_debug_unreachable/new_debug_unreachable-1.0.6.crate", - "sha256": "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086", - "dest": "cargo/vendor/new_debug_unreachable-1.0.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086\", \"files\": {}}", - "dest": "cargo/vendor/new_debug_unreachable-1.0.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/nibble_vec/nibble_vec-0.1.0.crate", - "sha256": "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43", - "dest": "cargo/vendor/nibble_vec-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43\", \"files\": {}}", - "dest": "cargo/vendor/nibble_vec-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/nix/nix-0.28.0.crate", - "sha256": "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4", - "dest": "cargo/vendor/nix-0.28.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4\", \"files\": {}}", - "dest": "cargo/vendor/nix-0.28.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/nom/nom-7.1.3.crate", - "sha256": "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a", - "dest": "cargo/vendor/nom-7.1.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\", \"files\": {}}", - "dest": "cargo/vendor/nom-7.1.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/nom/nom-8.0.0.crate", - "sha256": "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405", - "dest": "cargo/vendor/nom-8.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405\", \"files\": {}}", - "dest": "cargo/vendor/nom-8.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/noop_proc_macro/noop_proc_macro-0.3.0.crate", - "sha256": "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8", - "dest": "cargo/vendor/noop_proc_macro-0.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8\", \"files\": {}}", - "dest": "cargo/vendor/noop_proc_macro-0.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/notify/notify-8.2.0.crate", - "sha256": "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3", - "dest": "cargo/vendor/notify-8.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3\", \"files\": {}}", - "dest": "cargo/vendor/notify-8.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/notify-types/notify-types-2.1.0.crate", - "sha256": "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a", - "dest": "cargo/vendor/notify-types-2.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a\", \"files\": {}}", - "dest": "cargo/vendor/notify-types-2.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/nu-ansi-term/nu-ansi-term-0.50.3.crate", - "sha256": "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5", - "dest": "cargo/vendor/nu-ansi-term-0.50.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\", \"files\": {}}", - "dest": "cargo/vendor/nu-ansi-term-0.50.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-bigint/num-bigint-0.4.6.crate", - "sha256": "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9", - "dest": "cargo/vendor/num-bigint-0.4.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9\", \"files\": {}}", - "dest": "cargo/vendor/num-bigint-0.4.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-bigint-dig/num-bigint-dig-0.8.6.crate", - "sha256": "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7", - "dest": "cargo/vendor/num-bigint-dig-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7\", \"files\": {}}", - "dest": "cargo/vendor/num-bigint-dig-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-conv/num-conv-0.2.1.crate", - "sha256": "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967", - "dest": "cargo/vendor/num-conv-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967\", \"files\": {}}", - "dest": "cargo/vendor/num-conv-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-derive/num-derive-0.4.2.crate", - "sha256": "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202", - "dest": "cargo/vendor/num-derive-0.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202\", \"files\": {}}", - "dest": "cargo/vendor/num-derive-0.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-integer/num-integer-0.1.46.crate", - "sha256": "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f", - "dest": "cargo/vendor/num-integer-0.1.46" - }, - { - "type": "inline", - "contents": "{\"package\": \"7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f\", \"files\": {}}", - "dest": "cargo/vendor/num-integer-0.1.46", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-iter/num-iter-0.1.45.crate", - "sha256": "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf", - "dest": "cargo/vendor/num-iter-0.1.45" - }, - { - "type": "inline", - "contents": "{\"package\": \"1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf\", \"files\": {}}", - "dest": "cargo/vendor/num-iter-0.1.45", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-rational/num-rational-0.4.2.crate", - "sha256": "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824", - "dest": "cargo/vendor/num-rational-0.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824\", \"files\": {}}", - "dest": "cargo/vendor/num-rational-0.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num-traits/num-traits-0.2.19.crate", - "sha256": "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841", - "dest": "cargo/vendor/num-traits-0.2.19" - }, - { - "type": "inline", - "contents": "{\"package\": \"071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841\", \"files\": {}}", - "dest": "cargo/vendor/num-traits-0.2.19", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num_enum/num_enum-0.7.6.crate", - "sha256": "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26", - "dest": "cargo/vendor/num_enum-0.7.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26\", \"files\": {}}", - "dest": "cargo/vendor/num_enum-0.7.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num_enum_derive/num_enum_derive-0.7.6.crate", - "sha256": "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8", - "dest": "cargo/vendor/num_enum_derive-0.7.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8\", \"files\": {}}", - "dest": "cargo/vendor/num_enum_derive-0.7.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/num_threads/num_threads-0.1.7.crate", - "sha256": "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9", - "dest": "cargo/vendor/num_threads-0.1.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9\", \"files\": {}}", - "dest": "cargo/vendor/num_threads-0.1.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc/objc-0.2.7.crate", - "sha256": "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1", - "dest": "cargo/vendor/objc-0.2.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1\", \"files\": {}}", - "dest": "cargo/vendor/objc-0.2.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc-foundation/objc-foundation-0.1.1.crate", - "sha256": "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9", - "dest": "cargo/vendor/objc-foundation-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9\", \"files\": {}}", - "dest": "cargo/vendor/objc-foundation-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc-sys/objc-sys-0.3.5.crate", - "sha256": "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310", - "dest": "cargo/vendor/objc-sys-0.3.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310\", \"files\": {}}", - "dest": "cargo/vendor/objc-sys-0.3.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2/objc2-0.5.2.crate", - "sha256": "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804", - "dest": "cargo/vendor/objc2-0.5.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804\", \"files\": {}}", - "dest": "cargo/vendor/objc2-0.5.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2/objc2-0.6.4.crate", - "sha256": "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f", - "dest": "cargo/vendor/objc2-0.6.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f\", \"files\": {}}", - "dest": "cargo/vendor/objc2-0.6.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-app-kit/objc2-app-kit-0.2.2.crate", - "sha256": "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff", - "dest": "cargo/vendor/objc2-app-kit-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff\", \"files\": {}}", - "dest": "cargo/vendor/objc2-app-kit-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-app-kit/objc2-app-kit-0.3.2.crate", - "sha256": "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c", - "dest": "cargo/vendor/objc2-app-kit-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c\", \"files\": {}}", - "dest": "cargo/vendor/objc2-app-kit-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-audio-toolbox/objc2-audio-toolbox-0.3.2.crate", - "sha256": "6948501a91121d6399b79abaa33a8aa4ea7857fe019f341b8c23ad6e81b79b08", - "dest": "cargo/vendor/objc2-audio-toolbox-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"6948501a91121d6399b79abaa33a8aa4ea7857fe019f341b8c23ad6e81b79b08\", \"files\": {}}", - "dest": "cargo/vendor/objc2-audio-toolbox-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-avf-audio/objc2-avf-audio-0.3.2.crate", - "sha256": "13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be", - "dest": "cargo/vendor/objc2-avf-audio-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be\", \"files\": {}}", - "dest": "cargo/vendor/objc2-avf-audio-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-core-audio/objc2-core-audio-0.3.2.crate", - "sha256": "e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2", - "dest": "cargo/vendor/objc2-core-audio-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2\", \"files\": {}}", - "dest": "cargo/vendor/objc2-core-audio-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-core-audio-types/objc2-core-audio-types-0.3.2.crate", - "sha256": "5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c", - "dest": "cargo/vendor/objc2-core-audio-types-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c\", \"files\": {}}", - "dest": "cargo/vendor/objc2-core-audio-types-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-core-data/objc2-core-data-0.2.2.crate", - "sha256": "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef", - "dest": "cargo/vendor/objc2-core-data-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef\", \"files\": {}}", - "dest": "cargo/vendor/objc2-core-data-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-core-foundation/objc2-core-foundation-0.3.2.crate", - "sha256": "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536", - "dest": "cargo/vendor/objc2-core-foundation-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536\", \"files\": {}}", - "dest": "cargo/vendor/objc2-core-foundation-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-core-graphics/objc2-core-graphics-0.3.2.crate", - "sha256": "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807", - "dest": "cargo/vendor/objc2-core-graphics-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807\", \"files\": {}}", - "dest": "cargo/vendor/objc2-core-graphics-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-core-image/objc2-core-image-0.2.2.crate", - "sha256": "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80", - "dest": "cargo/vendor/objc2-core-image-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80\", \"files\": {}}", - "dest": "cargo/vendor/objc2-core-image-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-core-video/objc2-core-video-0.3.2.crate", - "sha256": "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6", - "dest": "cargo/vendor/objc2-core-video-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6\", \"files\": {}}", - "dest": "cargo/vendor/objc2-core-video-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-encode/objc2-encode-4.1.0.crate", - "sha256": "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33", - "dest": "cargo/vendor/objc2-encode-4.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\", \"files\": {}}", - "dest": "cargo/vendor/objc2-encode-4.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-foundation/objc2-foundation-0.2.2.crate", - "sha256": "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8", - "dest": "cargo/vendor/objc2-foundation-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8\", \"files\": {}}", - "dest": "cargo/vendor/objc2-foundation-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-foundation/objc2-foundation-0.3.2.crate", - "sha256": "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272", - "dest": "cargo/vendor/objc2-foundation-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272\", \"files\": {}}", - "dest": "cargo/vendor/objc2-foundation-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-metal/objc2-metal-0.2.2.crate", - "sha256": "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6", - "dest": "cargo/vendor/objc2-metal-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6\", \"files\": {}}", - "dest": "cargo/vendor/objc2-metal-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-quartz-core/objc2-quartz-core-0.2.2.crate", - "sha256": "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a", - "dest": "cargo/vendor/objc2-quartz-core-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a\", \"files\": {}}", - "dest": "cargo/vendor/objc2-quartz-core-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc2-ui-kit/objc2-ui-kit-0.3.2.crate", - "sha256": "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22", - "dest": "cargo/vendor/objc2-ui-kit-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22\", \"files\": {}}", - "dest": "cargo/vendor/objc2-ui-kit-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/objc_id/objc_id-0.1.1.crate", - "sha256": "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b", - "dest": "cargo/vendor/objc_id-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b\", \"files\": {}}", - "dest": "cargo/vendor/objc_id-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/object/object-0.37.3.crate", - "sha256": "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe", - "dest": "cargo/vendor/object-0.37.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe\", \"files\": {}}", - "dest": "cargo/vendor/object-0.37.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/obws/obws-0.14.0.crate", - "sha256": "245cd220b1d4edd6ba01b30ef79d22dafb8b7acb4b00335297357053ba2c6c6e", - "dest": "cargo/vendor/obws-0.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"245cd220b1d4edd6ba01b30ef79d22dafb8b7acb4b00335297357053ba2c6c6e\", \"files\": {}}", - "dest": "cargo/vendor/obws-0.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/once_cell/once_cell-1.21.4.crate", - "sha256": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50", - "dest": "cargo/vendor/once_cell-1.21.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\", \"files\": {}}", - "dest": "cargo/vendor/once_cell-1.21.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/once_cell_polyfill/once_cell_polyfill-1.70.2.crate", - "sha256": "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe", - "dest": "cargo/vendor/once_cell_polyfill-1.70.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\", \"files\": {}}", - "dest": "cargo/vendor/once_cell_polyfill-1.70.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/openssl/openssl-0.10.76.crate", - "sha256": "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf", - "dest": "cargo/vendor/openssl-0.10.76" - }, - { - "type": "inline", - "contents": "{\"package\": \"951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf\", \"files\": {}}", - "dest": "cargo/vendor/openssl-0.10.76", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/openssl-macros/openssl-macros-0.1.1.crate", - "sha256": "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c", - "dest": "cargo/vendor/openssl-macros-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c\", \"files\": {}}", - "dest": "cargo/vendor/openssl-macros-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/openssl-probe/openssl-probe-0.2.1.crate", - "sha256": "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe", - "dest": "cargo/vendor/openssl-probe-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe\", \"files\": {}}", - "dest": "cargo/vendor/openssl-probe-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/openssl-sys/openssl-sys-0.9.112.crate", - "sha256": "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb", - "dest": "cargo/vendor/openssl-sys-0.9.112" - }, - { - "type": "inline", - "contents": "{\"package\": \"57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb\", \"files\": {}}", - "dest": "cargo/vendor/openssl-sys-0.9.112", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/option-ext/option-ext-0.2.0.crate", - "sha256": "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d", - "dest": "cargo/vendor/option-ext-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d\", \"files\": {}}", - "dest": "cargo/vendor/option-ext-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/option-operations/option-operations-0.5.0.crate", - "sha256": "7c26d27bb1aeab65138e4bf7666045169d1717febcc9ff870166be8348b223d0", - "dest": "cargo/vendor/option-operations-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7c26d27bb1aeab65138e4bf7666045169d1717febcc9ff870166be8348b223d0\", \"files\": {}}", - "dest": "cargo/vendor/option-operations-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/opusic-sys/opusic-sys-0.6.0.crate", - "sha256": "dc3280fe5b6f97ac1a35a0ac003e2fb0b92f8e4bdf2b2057e1bf9b87acca5696", - "dest": "cargo/vendor/opusic-sys-0.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"dc3280fe5b6f97ac1a35a0ac003e2fb0b92f8e4bdf2b2057e1bf9b87acca5696\", \"files\": {}}", - "dest": "cargo/vendor/opusic-sys-0.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/orbclient/orbclient-0.3.51.crate", - "sha256": "59aed3b33578edcfa1bc96a321d590d31832b6ad55a26f0313362ce687e9abd6", - "dest": "cargo/vendor/orbclient-0.3.51" - }, - { - "type": "inline", - "contents": "{\"package\": \"59aed3b33578edcfa1bc96a321d590d31832b6ad55a26f0313362ce687e9abd6\", \"files\": {}}", - "dest": "cargo/vendor/orbclient-0.3.51", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ordered-float/ordered-float-5.3.0.crate", - "sha256": "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e", - "dest": "cargo/vendor/ordered-float-5.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e\", \"files\": {}}", - "dest": "cargo/vendor/ordered-float-5.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ordered-stream/ordered-stream-0.2.0.crate", - "sha256": "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50", - "dest": "cargo/vendor/ordered-stream-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50\", \"files\": {}}", - "dest": "cargo/vendor/ordered-stream-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ouroboros/ouroboros-0.18.5.crate", - "sha256": "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59", - "dest": "cargo/vendor/ouroboros-0.18.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\", \"files\": {}}", - "dest": "cargo/vendor/ouroboros-0.18.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ouroboros_macro/ouroboros_macro-0.18.5.crate", - "sha256": "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0", - "dest": "cargo/vendor/ouroboros_macro-0.18.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\", \"files\": {}}", - "dest": "cargo/vendor/ouroboros_macro-0.18.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/owned_ttf_parser/owned_ttf_parser-0.25.1.crate", - "sha256": "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b", - "dest": "cargo/vendor/owned_ttf_parser-0.25.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b\", \"files\": {}}", - "dest": "cargo/vendor/owned_ttf_parser-0.25.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/owo-colors/owo-colors-4.3.0.crate", - "sha256": "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d", - "dest": "cargo/vendor/owo-colors-4.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d\", \"files\": {}}", - "dest": "cargo/vendor/owo-colors-4.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/palette/palette-0.7.6.crate", - "sha256": "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6", - "dest": "cargo/vendor/palette-0.7.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6\", \"files\": {}}", - "dest": "cargo/vendor/palette-0.7.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/palette_derive/palette_derive-0.7.6.crate", - "sha256": "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30", - "dest": "cargo/vendor/palette_derive-0.7.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30\", \"files\": {}}", - "dest": "cargo/vendor/palette_derive-0.7.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/parking/parking-2.2.1.crate", - "sha256": "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba", - "dest": "cargo/vendor/parking-2.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba\", \"files\": {}}", - "dest": "cargo/vendor/parking-2.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/parking_lot/parking_lot-0.12.5.crate", - "sha256": "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a", - "dest": "cargo/vendor/parking_lot-0.12.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a\", \"files\": {}}", - "dest": "cargo/vendor/parking_lot-0.12.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/parking_lot_core/parking_lot_core-0.9.12.crate", - "sha256": "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1", - "dest": "cargo/vendor/parking_lot_core-0.9.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1\", \"files\": {}}", - "dest": "cargo/vendor/parking_lot_core-0.9.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/paste/paste-1.0.15.crate", - "sha256": "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a", - "dest": "cargo/vendor/paste-1.0.15" - }, - { - "type": "inline", - "contents": "{\"package\": \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\", \"files\": {}}", - "dest": "cargo/vendor/paste-1.0.15", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pastey/pastey-0.1.1.crate", - "sha256": "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec", - "dest": "cargo/vendor/pastey-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec\", \"files\": {}}", - "dest": "cargo/vendor/pastey-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pathfinder_geometry/pathfinder_geometry-0.5.1.crate", - "sha256": "0b7b7e7b4ea703700ce73ebf128e1450eb69c3a8329199ffbfb9b2a0418e5ad3", - "dest": "cargo/vendor/pathfinder_geometry-0.5.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"0b7b7e7b4ea703700ce73ebf128e1450eb69c3a8329199ffbfb9b2a0418e5ad3\", \"files\": {}}", - "dest": "cargo/vendor/pathfinder_geometry-0.5.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pathfinder_simd/pathfinder_simd-0.5.5.crate", - "sha256": "bf9027960355bf3afff9841918474a81a5f972ac6d226d518060bba758b5ad57", - "dest": "cargo/vendor/pathfinder_simd-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"bf9027960355bf3afff9841918474a81a5f972ac6d226d518060bba758b5ad57\", \"files\": {}}", - "dest": "cargo/vendor/pathfinder_simd-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pem-rfc7468/pem-rfc7468-0.7.0.crate", - "sha256": "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412", - "dest": "cargo/vendor/pem-rfc7468-0.7.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412\", \"files\": {}}", - "dest": "cargo/vendor/pem-rfc7468-0.7.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/percent-encoding/percent-encoding-2.3.2.crate", - "sha256": "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220", - "dest": "cargo/vendor/percent-encoding-2.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\", \"files\": {}}", - "dest": "cargo/vendor/percent-encoding-2.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf/phf-0.11.3.crate", - "sha256": "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078", - "dest": "cargo/vendor/phf-0.11.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078\", \"files\": {}}", - "dest": "cargo/vendor/phf-0.11.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf/phf-0.13.1.crate", - "sha256": "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf", - "dest": "cargo/vendor/phf-0.13.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf\", \"files\": {}}", - "dest": "cargo/vendor/phf-0.13.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf_codegen/phf_codegen-0.13.1.crate", - "sha256": "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1", - "dest": "cargo/vendor/phf_codegen-0.13.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1\", \"files\": {}}", - "dest": "cargo/vendor/phf_codegen-0.13.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf_generator/phf_generator-0.11.3.crate", - "sha256": "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d", - "dest": "cargo/vendor/phf_generator-0.11.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d\", \"files\": {}}", - "dest": "cargo/vendor/phf_generator-0.11.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf_generator/phf_generator-0.13.1.crate", - "sha256": "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737", - "dest": "cargo/vendor/phf_generator-0.13.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737\", \"files\": {}}", - "dest": "cargo/vendor/phf_generator-0.13.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf_macros/phf_macros-0.11.3.crate", - "sha256": "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216", - "dest": "cargo/vendor/phf_macros-0.11.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216\", \"files\": {}}", - "dest": "cargo/vendor/phf_macros-0.11.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf_macros/phf_macros-0.13.1.crate", - "sha256": "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef", - "dest": "cargo/vendor/phf_macros-0.13.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef\", \"files\": {}}", - "dest": "cargo/vendor/phf_macros-0.13.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf_shared/phf_shared-0.11.3.crate", - "sha256": "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5", - "dest": "cargo/vendor/phf_shared-0.11.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5\", \"files\": {}}", - "dest": "cargo/vendor/phf_shared-0.11.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/phf_shared/phf_shared-0.13.1.crate", - "sha256": "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266", - "dest": "cargo/vendor/phf_shared-0.13.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266\", \"files\": {}}", - "dest": "cargo/vendor/phf_shared-0.13.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pico-args/pico-args-0.5.0.crate", - "sha256": "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315", - "dest": "cargo/vendor/pico-args-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\", \"files\": {}}", - "dest": "cargo/vendor/pico-args-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pin-project/pin-project-1.1.11.crate", - "sha256": "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517", - "dest": "cargo/vendor/pin-project-1.1.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517\", \"files\": {}}", - "dest": "cargo/vendor/pin-project-1.1.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pin-project-internal/pin-project-internal-1.1.11.crate", - "sha256": "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6", - "dest": "cargo/vendor/pin-project-internal-1.1.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6\", \"files\": {}}", - "dest": "cargo/vendor/pin-project-internal-1.1.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pin-project-lite/pin-project-lite-0.2.17.crate", - "sha256": "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd", - "dest": "cargo/vendor/pin-project-lite-0.2.17" - }, - { - "type": "inline", - "contents": "{\"package\": \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\", \"files\": {}}", - "dest": "cargo/vendor/pin-project-lite-0.2.17", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pin-utils/pin-utils-0.1.0.crate", - "sha256": "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184", - "dest": "cargo/vendor/pin-utils-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184\", \"files\": {}}", - "dest": "cargo/vendor/pin-utils-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/piper/piper-0.2.5.crate", - "sha256": "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1", - "dest": "cargo/vendor/piper-0.2.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1\", \"files\": {}}", - "dest": "cargo/vendor/piper-0.2.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pkcs1/pkcs1-0.7.5.crate", - "sha256": "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f", - "dest": "cargo/vendor/pkcs1-0.7.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f\", \"files\": {}}", - "dest": "cargo/vendor/pkcs1-0.7.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pkcs8/pkcs8-0.10.2.crate", - "sha256": "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7", - "dest": "cargo/vendor/pkcs8-0.10.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7\", \"files\": {}}", - "dest": "cargo/vendor/pkcs8-0.10.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pkg-config/pkg-config-0.3.32.crate", - "sha256": "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c", - "dest": "cargo/vendor/pkg-config-0.3.32" - }, - { - "type": "inline", - "contents": "{\"package\": \"7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c\", \"files\": {}}", - "dest": "cargo/vendor/pkg-config-0.3.32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/plain/plain-0.2.3.crate", - "sha256": "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6", - "dest": "cargo/vendor/plain-0.2.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6\", \"files\": {}}", - "dest": "cargo/vendor/plain-0.2.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/png/png-0.17.16.crate", - "sha256": "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526", - "dest": "cargo/vendor/png-0.17.16" - }, - { - "type": "inline", - "contents": "{\"package\": \"82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526\", \"files\": {}}", - "dest": "cargo/vendor/png-0.17.16", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/png/png-0.18.1.crate", - "sha256": "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61", - "dest": "cargo/vendor/png-0.18.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61\", \"files\": {}}", - "dest": "cargo/vendor/png-0.18.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/polling/polling-3.11.0.crate", - "sha256": "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218", - "dest": "cargo/vendor/polling-3.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218\", \"files\": {}}", - "dest": "cargo/vendor/polling-3.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pollster/pollster-0.4.0.crate", - "sha256": "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3", - "dest": "cargo/vendor/pollster-0.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3\", \"files\": {}}", - "dest": "cargo/vendor/pollster-0.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/portable-atomic/portable-atomic-1.13.1.crate", - "sha256": "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49", - "dest": "cargo/vendor/portable-atomic-1.13.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49\", \"files\": {}}", - "dest": "cargo/vendor/portable-atomic-1.13.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/portable-atomic-util/portable-atomic-util-0.2.6.crate", - "sha256": "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3", - "dest": "cargo/vendor/portable-atomic-util-0.2.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3\", \"files\": {}}", - "dest": "cargo/vendor/portable-atomic-util-0.2.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/potential_utf/potential_utf-0.1.5.crate", - "sha256": "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564", - "dest": "cargo/vendor/potential_utf-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564\", \"files\": {}}", - "dest": "cargo/vendor/potential_utf-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/powerfmt/powerfmt-0.2.0.crate", - "sha256": "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391", - "dest": "cargo/vendor/powerfmt-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391\", \"files\": {}}", - "dest": "cargo/vendor/powerfmt-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ppv-lite86/ppv-lite86-0.2.21.crate", - "sha256": "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9", - "dest": "cargo/vendor/ppv-lite86-0.2.21" - }, - { - "type": "inline", - "contents": "{\"package\": \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\", \"files\": {}}", - "dest": "cargo/vendor/ppv-lite86-0.2.21", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/precomputed-hash/precomputed-hash-0.1.1.crate", - "sha256": "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c", - "dest": "cargo/vendor/precomputed-hash-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c\", \"files\": {}}", - "dest": "cargo/vendor/precomputed-hash-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/presser/presser-0.3.1.crate", - "sha256": "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa", - "dest": "cargo/vendor/presser-0.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa\", \"files\": {}}", - "dest": "cargo/vendor/presser-0.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pretty_assertions/pretty_assertions-1.4.1.crate", - "sha256": "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d", - "dest": "cargo/vendor/pretty_assertions-1.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d\", \"files\": {}}", - "dest": "cargo/vendor/pretty_assertions-1.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/prettyplease/prettyplease-0.2.37.crate", - "sha256": "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b", - "dest": "cargo/vendor/prettyplease-0.2.37" - }, - { - "type": "inline", - "contents": "{\"package\": \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\", \"files\": {}}", - "dest": "cargo/vendor/prettyplease-0.2.37", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/proc-macro-crate/proc-macro-crate-3.5.0.crate", - "sha256": "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f", - "dest": "cargo/vendor/proc-macro-crate-3.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f\", \"files\": {}}", - "dest": "cargo/vendor/proc-macro-crate-3.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/proc-macro-error-attr2/proc-macro-error-attr2-2.0.0.crate", - "sha256": "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5", - "dest": "cargo/vendor/proc-macro-error-attr2-2.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5\", \"files\": {}}", - "dest": "cargo/vendor/proc-macro-error-attr2-2.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/proc-macro-error2/proc-macro-error2-2.0.1.crate", - "sha256": "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802", - "dest": "cargo/vendor/proc-macro-error2-2.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802\", \"files\": {}}", - "dest": "cargo/vendor/proc-macro-error2-2.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/proc-macro2/proc-macro2-1.0.106.crate", - "sha256": "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934", - "dest": "cargo/vendor/proc-macro2-1.0.106" - }, - { - "type": "inline", - "contents": "{\"package\": \"8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934\", \"files\": {}}", - "dest": "cargo/vendor/proc-macro2-1.0.106", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/proc-macro2-diagnostics/proc-macro2-diagnostics-0.10.1.crate", - "sha256": "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8", - "dest": "cargo/vendor/proc-macro2-diagnostics-0.10.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\", \"files\": {}}", - "dest": "cargo/vendor/proc-macro2-diagnostics-0.10.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/profiling/profiling-1.0.17.crate", - "sha256": "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773", - "dest": "cargo/vendor/profiling-1.0.17" - }, - { - "type": "inline", - "contents": "{\"package\": \"3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773\", \"files\": {}}", - "dest": "cargo/vendor/profiling-1.0.17", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/profiling-procmacros/profiling-procmacros-1.0.17.crate", - "sha256": "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b", - "dest": "cargo/vendor/profiling-procmacros-1.0.17" - }, - { - "type": "inline", - "contents": "{\"package\": \"52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b\", \"files\": {}}", - "dest": "cargo/vendor/profiling-procmacros-1.0.17", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/pxfm/pxfm-0.1.28.crate", - "sha256": "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d", - "dest": "cargo/vendor/pxfm-0.1.28" - }, - { - "type": "inline", - "contents": "{\"package\": \"b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d\", \"files\": {}}", - "dest": "cargo/vendor/pxfm-0.1.28", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/qoi/qoi-0.4.1.crate", - "sha256": "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001", - "dest": "cargo/vendor/qoi-0.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001\", \"files\": {}}", - "dest": "cargo/vendor/qoi-0.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/quick-error/quick-error-2.0.1.crate", - "sha256": "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3", - "dest": "cargo/vendor/quick-error-2.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3\", \"files\": {}}", - "dest": "cargo/vendor/quick-error-2.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/quick-xml/quick-xml-0.38.4.crate", - "sha256": "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c", - "dest": "cargo/vendor/quick-xml-0.38.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c\", \"files\": {}}", - "dest": "cargo/vendor/quick-xml-0.38.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/quick-xml/quick-xml-0.39.2.crate", - "sha256": "958f21e8e7ceb5a1aa7fa87fab28e7c75976e0bfe7e23ff069e0a260f894067d", - "dest": "cargo/vendor/quick-xml-0.39.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"958f21e8e7ceb5a1aa7fa87fab28e7c75976e0bfe7e23ff069e0a260f894067d\", \"files\": {}}", - "dest": "cargo/vendor/quick-xml-0.39.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/quinn/quinn-0.11.9.crate", - "sha256": "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20", - "dest": "cargo/vendor/quinn-0.11.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20\", \"files\": {}}", - "dest": "cargo/vendor/quinn-0.11.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/quinn-proto/quinn-proto-0.11.14.crate", - "sha256": "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098", - "dest": "cargo/vendor/quinn-proto-0.11.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098\", \"files\": {}}", - "dest": "cargo/vendor/quinn-proto-0.11.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/quinn-udp/quinn-udp-0.5.14.crate", - "sha256": "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd", - "dest": "cargo/vendor/quinn-udp-0.5.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd\", \"files\": {}}", - "dest": "cargo/vendor/quinn-udp-0.5.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/quote/quote-1.0.45.crate", - "sha256": "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924", - "dest": "cargo/vendor/quote-1.0.45" - }, - { - "type": "inline", - "contents": "{\"package\": \"41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924\", \"files\": {}}", - "dest": "cargo/vendor/quote-1.0.45", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/r-efi/r-efi-5.3.0.crate", - "sha256": "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f", - "dest": "cargo/vendor/r-efi-5.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\", \"files\": {}}", - "dest": "cargo/vendor/r-efi-5.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/r-efi/r-efi-6.0.0.crate", - "sha256": "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf", - "dest": "cargo/vendor/r-efi-6.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\", \"files\": {}}", - "dest": "cargo/vendor/r-efi-6.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/radix_trie/radix_trie-0.2.1.crate", - "sha256": "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd", - "dest": "cargo/vendor/radix_trie-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd\", \"files\": {}}", - "dest": "cargo/vendor/radix_trie-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand/rand-0.8.5.crate", - "sha256": "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404", - "dest": "cargo/vendor/rand-0.8.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404\", \"files\": {}}", - "dest": "cargo/vendor/rand-0.8.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand/rand-0.9.3.crate", - "sha256": "7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166", - "dest": "cargo/vendor/rand-0.9.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166\", \"files\": {}}", - "dest": "cargo/vendor/rand-0.9.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand/rand-0.10.1.crate", - "sha256": "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207", - "dest": "cargo/vendor/rand-0.10.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207\", \"files\": {}}", - "dest": "cargo/vendor/rand-0.10.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand_chacha/rand_chacha-0.3.1.crate", - "sha256": "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88", - "dest": "cargo/vendor/rand_chacha-0.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88\", \"files\": {}}", - "dest": "cargo/vendor/rand_chacha-0.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand_chacha/rand_chacha-0.9.0.crate", - "sha256": "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb", - "dest": "cargo/vendor/rand_chacha-0.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\", \"files\": {}}", - "dest": "cargo/vendor/rand_chacha-0.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand_core/rand_core-0.6.4.crate", - "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c", - "dest": "cargo/vendor/rand_core-0.6.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\", \"files\": {}}", - "dest": "cargo/vendor/rand_core-0.6.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand_core/rand_core-0.9.5.crate", - "sha256": "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c", - "dest": "cargo/vendor/rand_core-0.9.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\", \"files\": {}}", - "dest": "cargo/vendor/rand_core-0.9.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand_core/rand_core-0.10.1.crate", - "sha256": "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69", - "dest": "cargo/vendor/rand_core-0.10.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69\", \"files\": {}}", - "dest": "cargo/vendor/rand_core-0.10.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rand_distr/rand_distr-0.6.0.crate", - "sha256": "4d431c2703ccf129de4d45253c03f49ebb22b97d6ad79ee3ecfc7e3f4862c1d8", - "dest": "cargo/vendor/rand_distr-0.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"4d431c2703ccf129de4d45253c03f49ebb22b97d6ad79ee3ecfc7e3f4862c1d8\", \"files\": {}}", - "dest": "cargo/vendor/rand_distr-0.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/range-alloc/range-alloc-0.1.5.crate", - "sha256": "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08", - "dest": "cargo/vendor/range-alloc-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08\", \"files\": {}}", - "dest": "cargo/vendor/range-alloc-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rangemap/rangemap-1.7.1.crate", - "sha256": "973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68", - "dest": "cargo/vendor/rangemap-1.7.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68\", \"files\": {}}", - "dest": "cargo/vendor/rangemap-1.7.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rapidfuzz/rapidfuzz-0.5.0.crate", - "sha256": "270e04e5ea61d40841942bb15e451c29ee1618637bcf97fc7ede5dd4a9b1601b", - "dest": "cargo/vendor/rapidfuzz-0.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"270e04e5ea61d40841942bb15e451c29ee1618637bcf97fc7ede5dd4a9b1601b\", \"files\": {}}", - "dest": "cargo/vendor/rapidfuzz-0.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rapidhash/rapidhash-4.4.1.crate", - "sha256": "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59", - "dest": "cargo/vendor/rapidhash-4.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59\", \"files\": {}}", - "dest": "cargo/vendor/rapidhash-4.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rav1e/rav1e-0.8.1.crate", - "sha256": "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b", - "dest": "cargo/vendor/rav1e-0.8.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b\", \"files\": {}}", - "dest": "cargo/vendor/rav1e-0.8.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ravif/ravif-0.13.0.crate", - "sha256": "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45", - "dest": "cargo/vendor/ravif-0.13.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45\", \"files\": {}}", - "dest": "cargo/vendor/ravif-0.13.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/raw-window-handle/raw-window-handle-0.6.2.crate", - "sha256": "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539", - "dest": "cargo/vendor/raw-window-handle-0.6.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539\", \"files\": {}}", - "dest": "cargo/vendor/raw-window-handle-0.6.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rayon/rayon-1.11.0.crate", - "sha256": "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f", - "dest": "cargo/vendor/rayon-1.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f\", \"files\": {}}", - "dest": "cargo/vendor/rayon-1.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rayon-core/rayon-core-1.13.0.crate", - "sha256": "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91", - "dest": "cargo/vendor/rayon-core-1.13.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91\", \"files\": {}}", - "dest": "cargo/vendor/rayon-core-1.13.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/read-fonts/read-fonts-0.37.0.crate", - "sha256": "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5", - "dest": "cargo/vendor/read-fonts-0.37.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5\", \"files\": {}}", - "dest": "cargo/vendor/read-fonts-0.37.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/redox_syscall/redox_syscall-0.5.18.crate", - "sha256": "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d", - "dest": "cargo/vendor/redox_syscall-0.5.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d\", \"files\": {}}", - "dest": "cargo/vendor/redox_syscall-0.5.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/redox_syscall/redox_syscall-0.7.4.crate", - "sha256": "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a", - "dest": "cargo/vendor/redox_syscall-0.7.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a\", \"files\": {}}", - "dest": "cargo/vendor/redox_syscall-0.7.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/redox_users/redox_users-0.5.2.crate", - "sha256": "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac", - "dest": "cargo/vendor/redox_users-0.5.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac\", \"files\": {}}", - "dest": "cargo/vendor/redox_users-0.5.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ref-cast/ref-cast-1.0.25.crate", - "sha256": "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d", - "dest": "cargo/vendor/ref-cast-1.0.25" - }, - { - "type": "inline", - "contents": "{\"package\": \"f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d\", \"files\": {}}", - "dest": "cargo/vendor/ref-cast-1.0.25", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ref-cast-impl/ref-cast-impl-1.0.25.crate", - "sha256": "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da", - "dest": "cargo/vendor/ref-cast-impl-1.0.25" - }, - { - "type": "inline", - "contents": "{\"package\": \"b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da\", \"files\": {}}", - "dest": "cargo/vendor/ref-cast-impl-1.0.25", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/regex/regex-1.12.3.crate", - "sha256": "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276", - "dest": "cargo/vendor/regex-1.12.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276\", \"files\": {}}", - "dest": "cargo/vendor/regex-1.12.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/regex-automata/regex-automata-0.4.14.crate", - "sha256": "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f", - "dest": "cargo/vendor/regex-automata-0.4.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f\", \"files\": {}}", - "dest": "cargo/vendor/regex-automata-0.4.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/regex-syntax/regex-syntax-0.8.10.crate", - "sha256": "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a", - "dest": "cargo/vendor/regex-syntax-0.8.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a\", \"files\": {}}", - "dest": "cargo/vendor/regex-syntax-0.8.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/renderdoc-sys/renderdoc-sys-1.1.0.crate", - "sha256": "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832", - "dest": "cargo/vendor/renderdoc-sys-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832\", \"files\": {}}", - "dest": "cargo/vendor/renderdoc-sys-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/reqwest/reqwest-0.12.28.crate", - "sha256": "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147", - "dest": "cargo/vendor/reqwest-0.12.28" - }, - { - "type": "inline", - "contents": "{\"package\": \"eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147\", \"files\": {}}", - "dest": "cargo/vendor/reqwest-0.12.28", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/reqwest/reqwest-0.13.2.crate", - "sha256": "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801", - "dest": "cargo/vendor/reqwest-0.13.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801\", \"files\": {}}", - "dest": "cargo/vendor/reqwest-0.13.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/resvg/resvg-0.45.1.crate", - "sha256": "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43", - "dest": "cargo/vendor/resvg-0.45.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43\", \"files\": {}}", - "dest": "cargo/vendor/resvg-0.45.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/resvg_exposed/resvg_exposed-0.47.0.crate", - "sha256": "d8c277391f859a3b3b0f01389297832f37b4f6f632181cfea1c98ad41e7ba55e", - "dest": "cargo/vendor/resvg_exposed-0.47.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d8c277391f859a3b3b0f01389297832f37b4f6f632181cfea1c98ad41e7ba55e\", \"files\": {}}", - "dest": "cargo/vendor/resvg_exposed-0.47.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rfd/rfd-0.16.0.crate", - "sha256": "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672", - "dest": "cargo/vendor/rfd-0.16.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672\", \"files\": {}}", - "dest": "cargo/vendor/rfd-0.16.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rgb/rgb-0.8.53.crate", - "sha256": "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4", - "dest": "cargo/vendor/rgb-0.8.53" - }, - { - "type": "inline", - "contents": "{\"package\": \"47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4\", \"files\": {}}", - "dest": "cargo/vendor/rgb-0.8.53", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ring/ring-0.17.14.crate", - "sha256": "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7", - "dest": "cargo/vendor/ring-0.17.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7\", \"files\": {}}", - "dest": "cargo/vendor/ring-0.17.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/rodio-8ca8cd0/.\" \"cargo/vendor/rodio\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"rodio\"\nversion = \"0.22.2\"\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"Audio playback and recording library\"\nkeywords = [\"audio\", \"playback\", \"recording\", \"gamedev\"]\nrepository = \"https://github.com/RustAudio/rodio\"\ndocumentation = \"https://docs.rs/rodio\"\nexclude = [\"assets/**\", \"tests/**\"]\nedition = \"2021\"\nrust-version = \"1.89\"\n\n[package.metadata.docs.rs]\nall-features = true\nrustdoc-args = [\"--cfg\", \"docsrs\"]\ncargo-args = [\"-Zunstable-options\"]\n\n[features]\ndefault = [\"playback\", \"recording\", \"flac\", \"mp3\", \"mp4\", \"vorbis\", \"wav\", \"dither\"]\nplayback = [\"dep:cpal\"]\nrecording = [\"dep:cpal\", \"dep:rtrb\"]\nwav_output = [\"dep:hound\"]\ntracing = [\"dep:tracing\"]\nexperimental = [\"dep:atomic_float\"]\n64bit = []\ndither = [\"noise\"]\nnoise = [\"rand\", \"rand_distr\"]\nwasm-bindgen = [\"cpal/wasm-bindgen\"]\nsymphonia = [\"dep:symphonia\"]\nflac = [\"symphonia-flac\"]\nmp3 = [\"symphonia-mp3\"]\nmp4 = [\"symphonia-isomp4\", \"symphonia-aac\"]\nvorbis = [\"symphonia-ogg\", \"symphonia-vorbis\"]\nwav = [\"symphonia-wav\", \"symphonia-pcm\"]\nsymphonia-all = [\"symphonia/all-formats\", \"symphonia/all-codecs\"]\nsymphonia-flac = [\"symphonia/flac\"]\nsymphonia-mp1 = [\"symphonia/mp1\"]\nsymphonia-mp2 = [\"symphonia/mp2\"]\nsymphonia-mp3 = [\"symphonia/mp3\"]\nsymphonia-mpa = [\"symphonia/mpa\"]\nsymphonia-aiff = [\"symphonia/aiff\"]\nsymphonia-caf = [\"symphonia/caf\"]\nsymphonia-isomp4 = [\"symphonia/isomp4\"]\nsymphonia-mkv = [\"symphonia/mkv\"]\nsymphonia-ogg = [\"symphonia/ogg\"]\nsymphonia-aac = [\"symphonia/aac\"]\nsymphonia-adpcm = [\"symphonia/adpcm\"]\nsymphonia-alac = [\"symphonia/alac\"]\nsymphonia-pcm = [\"symphonia/pcm\"]\nsymphonia-vorbis = [\"symphonia/vorbis\"]\nsymphonia-wav = [\"symphonia/wav\"]\nsymphonia-simd = [\"symphonia/opt-simd\"]\nsymphonia-libopus = [\"symphonia\", \"dep:symphonia-adapter-libopus\"]\nclaxon = [\"dep:claxon\"]\nhound = [\"dep:hound\"]\nminimp3 = [\"dep:minimp3_fixed\"]\nlewton = [\"dep:lewton\"]\n\n[dependencies]\ndasp_sample = \"0.11\"\nthiserror = \"2\"\nnum-rational = \"0.4.2\"\n\n[dependencies.cpal]\ngit = \"https://github.com/RustAudio/cpal\"\noptional = true\n\n[dependencies.claxon]\nversion = \"0.4\"\noptional = true\n\n[dependencies.hound]\nversion = \"3.5\"\noptional = true\n\n[dependencies.lewton]\nversion = \"0.10\"\noptional = true\n\n[dependencies.minimp3_fixed]\nversion = \"0.5.4\"\noptional = true\n\n[dependencies.symphonia]\nversion = \"0.5.5\"\noptional = true\ndefault-features = false\n\n[dependencies.crossbeam-channel]\nversion = \"0.5.15\"\noptional = true\n\n[dependencies.rand]\nversion = \"0.10\"\noptional = true\n\n[dependencies.rand_distr]\nversion = \"0.6\"\noptional = true\n\n[dependencies.tracing]\nversion = \"0.1.40\"\noptional = true\n\n[dependencies.atomic_float]\nversion = \"1.1.0\"\noptional = true\n\n[dependencies.rtrb]\nversion = \"0.3.2\"\noptional = true\n\n[dependencies.symphonia-adapter-libopus]\nversion = \"0.2\"\noptional = true\n\n[dev-dependencies]\nquickcheck = \"1\"\nrstest = \"0.26\"\nrstest_reuse = \"0.7\"\napprox = \"0.5.1\"\ndivan = \"0.1.14\"\ninquire = \"0.9.3\"\nsymphonia-adapter-fdk-aac = \"0.1\"\n\n[[bench]]\nname = \"effects\"\nharness = false\nrequired-features = [\"wav\"]\n\n[[bench]]\nname = \"conversions\"\nharness = false\nrequired-features = [\"wav\"]\n\n[[bench]]\nname = \"resampler\"\nharness = false\nrequired-features = [\"wav\"]\n\n[[bench]]\nname = \"pipeline\"\nharness = false\nrequired-features = [\"wav\"]\n\n[[example]]\nname = \"automatic_gain_control\"\nrequired-features = [\"playback\", \"flac\"]\n\n[[example]]\nname = \"basic\"\nrequired-features = [\"playback\", \"vorbis\"]\n\n[[example]]\nname = \"callback_on_end\"\nrequired-features = [\"playback\", \"wav\"]\n\n[[example]]\nname = \"custom_config\"\nrequired-features = [\"playback\", \"wav\"]\n\n[[example]]\nname = \"distortion\"\nrequired-features = [\"playback\"]\n\n[[example]]\nname = \"distortion_mp3\"\nrequired-features = [\"playback\", \"mp3\"]\n\n[[example]]\nname = \"distortion_wav\"\nrequired-features = [\"playback\", \"wav\"]\n\n[[example]]\nname = \"distortion_wav_alternate\"\nrequired-features = [\"playback\", \"wav\"]\n\n[[example]]\nname = \"error_callback\"\nrequired-features = [\"playback\"]\n\n[[example]]\nname = \"into_file\"\nrequired-features = [\"mp3\", \"wav_output\"]\n\n[[example]]\nname = \"limit_wav\"\nrequired-features = [\"playback\", \"wav\"]\n\n[[example]]\nname = \"low_pass\"\nrequired-features = [\"playback\", \"wav\"]\n\n[[example]]\nname = \"microphone\"\nrequired-features = [\"playback\", \"recording\", \"wav_output\"]\n\n[[example]]\nname = \"mix_multiple_sources\"\nrequired-features = [\"playback\"]\n\n[[example]]\nname = \"music_flac\"\nrequired-features = [\"playback\", \"flac\"]\n\n[[example]]\nname = \"music_m4a\"\nrequired-features = [\"playback\", \"mp4\"]\n\n[[example]]\nname = \"music_mp3\"\nrequired-features = [\"playback\", \"mp3\"]\n\n[[example]]\nname = \"music_ogg\"\nrequired-features = [\"playback\", \"vorbis\"]\n\n[[example]]\nname = \"music_wav\"\nrequired-features = [\"playback\", \"wav\"]\n\n[[example]]\nname = \"music_opus\"\nrequired-features = [\"playback\", \"symphonia-libopus\"]\n\n[[example]]\nname = \"noise_generator\"\nrequired-features = [\"playback\", \"noise\"]\n\n[[example]]\nname = \"reverb\"\nrequired-features = [\"playback\", \"vorbis\"]\n\n[[example]]\nname = \"seek_mp3\"\nrequired-features = [\"playback\", \"mp3\"]\n\n[[example]]\nname = \"signal_generator\"\nrequired-features = [\"playback\"]\n\n[[example]]\nname = \"spatial\"\nrequired-features = [\"playback\", \"vorbis\"]\n\n[[example]]\nname = \"stereo\"\nrequired-features = [\"playback\", \"vorbis\"]\n\n[[example]]\nname = \"third_party_codec\"\nrequired-features = [\"playback\", \"symphonia\", \"symphonia-isomp4\"]\n", - "dest": "cargo/vendor/rodio", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/rodio", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ron/ron-0.8.1.crate", - "sha256": "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94", - "dest": "cargo/vendor/ron-0.8.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94\", \"files\": {}}", - "dest": "cargo/vendor/ron-0.8.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ron/ron-0.12.1.crate", - "sha256": "4147b952f3f819eca0e99527022f7d6a8d05f111aeb0a62960c74eb283bec8fc", - "dest": "cargo/vendor/ron-0.12.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"4147b952f3f819eca0e99527022f7d6a8d05f111aeb0a62960c74eb283bec8fc\", \"files\": {}}", - "dest": "cargo/vendor/ron-0.12.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/roxmltree/roxmltree-0.20.0.crate", - "sha256": "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97", - "dest": "cargo/vendor/roxmltree-0.20.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97\", \"files\": {}}", - "dest": "cargo/vendor/roxmltree-0.20.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/roxmltree/roxmltree-0.21.1.crate", - "sha256": "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb", - "dest": "cargo/vendor/roxmltree-0.21.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb\", \"files\": {}}", - "dest": "cargo/vendor/roxmltree-0.21.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rsa/rsa-0.9.10.crate", - "sha256": "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d", - "dest": "cargo/vendor/rsa-0.9.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d\", \"files\": {}}", - "dest": "cargo/vendor/rsa-0.9.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rtrb/rtrb-0.3.3.crate", - "sha256": "7204ed6420f698836b76d4d5c2ec5dec7585fd5c3a788fd1cde855d1de598239", - "dest": "cargo/vendor/rtrb-0.3.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"7204ed6420f698836b76d4d5c2ec5dec7585fd5c3a788fd1cde855d1de598239\", \"files\": {}}", - "dest": "cargo/vendor/rtrb-0.3.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rust-embed/rust-embed-8.11.0.crate", - "sha256": "04113cb9355a377d83f06ef1f0a45b8ab8cd7d8b1288160717d66df5c7988d27", - "dest": "cargo/vendor/rust-embed-8.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"04113cb9355a377d83f06ef1f0a45b8ab8cd7d8b1288160717d66df5c7988d27\", \"files\": {}}", - "dest": "cargo/vendor/rust-embed-8.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rust-embed-impl/rust-embed-impl-8.11.0.crate", - "sha256": "da0902e4c7c8e997159ab384e6d0fc91c221375f6894346ae107f47dd0f3ccaa", - "dest": "cargo/vendor/rust-embed-impl-8.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"da0902e4c7c8e997159ab384e6d0fc91c221375f6894346ae107f47dd0f3ccaa\", \"files\": {}}", - "dest": "cargo/vendor/rust-embed-impl-8.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rust-embed-utils/rust-embed-utils-8.11.0.crate", - "sha256": "5bcdef0be6fe7f6fa333b1073c949729274b05f123a0ad7efcb8efd878e5c3b1", - "dest": "cargo/vendor/rust-embed-utils-8.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5bcdef0be6fe7f6fa333b1073c949729274b05f123a0ad7efcb8efd878e5c3b1\", \"files\": {}}", - "dest": "cargo/vendor/rust-embed-utils-8.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustc-demangle/rustc-demangle-0.1.27.crate", - "sha256": "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d", - "dest": "cargo/vendor/rustc-demangle-0.1.27" - }, - { - "type": "inline", - "contents": "{\"package\": \"b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d\", \"files\": {}}", - "dest": "cargo/vendor/rustc-demangle-0.1.27", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustc-hash/rustc-hash-1.1.0.crate", - "sha256": "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2", - "dest": "cargo/vendor/rustc-hash-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\", \"files\": {}}", - "dest": "cargo/vendor/rustc-hash-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustc-hash/rustc-hash-2.1.2.crate", - "sha256": "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe", - "dest": "cargo/vendor/rustc-hash-2.1.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe\", \"files\": {}}", - "dest": "cargo/vendor/rustc-hash-2.1.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustc_version/rustc_version-0.4.1.crate", - "sha256": "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92", - "dest": "cargo/vendor/rustc_version-0.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\", \"files\": {}}", - "dest": "cargo/vendor/rustc_version-0.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustix/rustix-0.38.44.crate", - "sha256": "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154", - "dest": "cargo/vendor/rustix-0.38.44" - }, - { - "type": "inline", - "contents": "{\"package\": \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\", \"files\": {}}", - "dest": "cargo/vendor/rustix-0.38.44", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustix/rustix-1.1.4.crate", - "sha256": "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190", - "dest": "cargo/vendor/rustix-1.1.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190\", \"files\": {}}", - "dest": "cargo/vendor/rustix-1.1.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustls/rustls-0.23.37.crate", - "sha256": "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4", - "dest": "cargo/vendor/rustls-0.23.37" - }, - { - "type": "inline", - "contents": "{\"package\": \"758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4\", \"files\": {}}", - "dest": "cargo/vendor/rustls-0.23.37", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustls-native-certs/rustls-native-certs-0.8.3.crate", - "sha256": "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63", - "dest": "cargo/vendor/rustls-native-certs-0.8.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63\", \"files\": {}}", - "dest": "cargo/vendor/rustls-native-certs-0.8.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustls-pki-types/rustls-pki-types-1.14.0.crate", - "sha256": "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd", - "dest": "cargo/vendor/rustls-pki-types-1.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd\", \"files\": {}}", - "dest": "cargo/vendor/rustls-pki-types-1.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustls-platform-verifier/rustls-platform-verifier-0.6.2.crate", - "sha256": "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784", - "dest": "cargo/vendor/rustls-platform-verifier-0.6.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784\", \"files\": {}}", - "dest": "cargo/vendor/rustls-platform-verifier-0.6.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustls-platform-verifier-android/rustls-platform-verifier-android-0.1.1.crate", - "sha256": "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f", - "dest": "cargo/vendor/rustls-platform-verifier-android-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f\", \"files\": {}}", - "dest": "cargo/vendor/rustls-platform-verifier-android-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustls-webpki/rustls-webpki-0.103.11.crate", - "sha256": "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4", - "dest": "cargo/vendor/rustls-webpki-0.103.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4\", \"files\": {}}", - "dest": "cargo/vendor/rustls-webpki-0.103.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustversion/rustversion-1.0.22.crate", - "sha256": "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d", - "dest": "cargo/vendor/rustversion-1.0.22" - }, - { - "type": "inline", - "contents": "{\"package\": \"b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d\", \"files\": {}}", - "dest": "cargo/vendor/rustversion-1.0.22", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustybuzz/rustybuzz-0.20.1.crate", - "sha256": "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702", - "dest": "cargo/vendor/rustybuzz-0.20.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702\", \"files\": {}}", - "dest": "cargo/vendor/rustybuzz-0.20.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/rustyline/rustyline-14.0.0.crate", - "sha256": "7803e8936da37efd9b6d4478277f4b2b9bb5cdb37a113e8d63222e58da647e63", - "dest": "cargo/vendor/rustyline-14.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7803e8936da37efd9b6d4478277f4b2b9bb5cdb37a113e8d63222e58da647e63\", \"files\": {}}", - "dest": "cargo/vendor/rustyline-14.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ryu/ryu-1.0.23.crate", - "sha256": "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f", - "dest": "cargo/vendor/ryu-1.0.23" - }, - { - "type": "inline", - "contents": "{\"package\": \"9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f\", \"files\": {}}", - "dest": "cargo/vendor/ryu-1.0.23", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/same-file/same-file-1.0.6.crate", - "sha256": "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502", - "dest": "cargo/vendor/same-file-1.0.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502\", \"files\": {}}", - "dest": "cargo/vendor/same-file-1.0.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/schannel/schannel-0.1.29.crate", - "sha256": "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939", - "dest": "cargo/vendor/schannel-0.1.29" - }, - { - "type": "inline", - "contents": "{\"package\": \"91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939\", \"files\": {}}", - "dest": "cargo/vendor/schannel-0.1.29", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/schemars/schemars-0.9.0.crate", - "sha256": "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f", - "dest": "cargo/vendor/schemars-0.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f\", \"files\": {}}", - "dest": "cargo/vendor/schemars-0.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/schemars/schemars-1.2.1.crate", - "sha256": "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc", - "dest": "cargo/vendor/schemars-1.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc\", \"files\": {}}", - "dest": "cargo/vendor/schemars-1.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/scoped-tls/scoped-tls-1.0.1.crate", - "sha256": "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294", - "dest": "cargo/vendor/scoped-tls-1.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\", \"files\": {}}", - "dest": "cargo/vendor/scoped-tls-1.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/scopeguard/scopeguard-1.2.0.crate", - "sha256": "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49", - "dest": "cargo/vendor/scopeguard-1.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\", \"files\": {}}", - "dest": "cargo/vendor/scopeguard-1.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/scraper/scraper-0.25.0.crate", - "sha256": "93cecd86d6259499c844440546d02f55f3e17bd286e529e48d1f9f67e92315cb", - "dest": "cargo/vendor/scraper-0.25.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"93cecd86d6259499c844440546d02f55f3e17bd286e529e48d1f9f67e92315cb\", \"files\": {}}", - "dest": "cargo/vendor/scraper-0.25.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sctk-adwaita/sctk-adwaita-0.11.0.crate", - "sha256": "1dd3accc0f3f4bbaf2c9e1957a030dc582028130c67660d44c0a0345a22ca69b", - "dest": "cargo/vendor/sctk-adwaita-0.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1dd3accc0f3f4bbaf2c9e1957a030dc582028130c67660d44c0a0345a22ca69b\", \"files\": {}}", - "dest": "cargo/vendor/sctk-adwaita-0.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/security-framework/security-framework-3.7.0.crate", - "sha256": "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d", - "dest": "cargo/vendor/security-framework-3.7.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d\", \"files\": {}}", - "dest": "cargo/vendor/security-framework-3.7.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/security-framework-sys/security-framework-sys-2.17.0.crate", - "sha256": "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3", - "dest": "cargo/vendor/security-framework-sys-2.17.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3\", \"files\": {}}", - "dest": "cargo/vendor/security-framework-sys-2.17.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/selectors/selectors-0.33.0.crate", - "sha256": "feef350c36147532e1b79ea5c1f3791373e61cbd9a6a2615413b3807bb164fb7", - "dest": "cargo/vendor/selectors-0.33.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"feef350c36147532e1b79ea5c1f3791373e61cbd9a6a2615413b3807bb164fb7\", \"files\": {}}", - "dest": "cargo/vendor/selectors-0.33.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/self_cell/self_cell-1.2.2.crate", - "sha256": "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89", - "dest": "cargo/vendor/self_cell-1.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89\", \"files\": {}}", - "dest": "cargo/vendor/self_cell-1.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/semver/semver-1.0.28.crate", - "sha256": "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd", - "dest": "cargo/vendor/semver-1.0.28" - }, - { - "type": "inline", - "contents": "{\"package\": \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\", \"files\": {}}", - "dest": "cargo/vendor/semver-1.0.28", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde/serde-1.0.228.crate", - "sha256": "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e", - "dest": "cargo/vendor/serde-1.0.228" - }, - { - "type": "inline", - "contents": "{\"package\": \"9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e\", \"files\": {}}", - "dest": "cargo/vendor/serde-1.0.228", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_core/serde_core-1.0.228.crate", - "sha256": "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad", - "dest": "cargo/vendor/serde_core-1.0.228" - }, - { - "type": "inline", - "contents": "{\"package\": \"41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad\", \"files\": {}}", - "dest": "cargo/vendor/serde_core-1.0.228", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_derive/serde_derive-1.0.228.crate", - "sha256": "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79", - "dest": "cargo/vendor/serde_derive-1.0.228" - }, - { - "type": "inline", - "contents": "{\"package\": \"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79\", \"files\": {}}", - "dest": "cargo/vendor/serde_derive-1.0.228", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_json/serde_json-1.0.149.crate", - "sha256": "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86", - "dest": "cargo/vendor/serde_json-1.0.149" - }, - { - "type": "inline", - "contents": "{\"package\": \"83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86\", \"files\": {}}", - "dest": "cargo/vendor/serde_json-1.0.149", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_repr/serde_repr-0.1.20.crate", - "sha256": "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c", - "dest": "cargo/vendor/serde_repr-0.1.20" - }, - { - "type": "inline", - "contents": "{\"package\": \"175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c\", \"files\": {}}", - "dest": "cargo/vendor/serde_repr-0.1.20", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_spanned/serde_spanned-1.1.1.crate", - "sha256": "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26", - "dest": "cargo/vendor/serde_spanned-1.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26\", \"files\": {}}", - "dest": "cargo/vendor/serde_spanned-1.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_urlencoded/serde_urlencoded-0.7.1.crate", - "sha256": "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd", - "dest": "cargo/vendor/serde_urlencoded-0.7.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd\", \"files\": {}}", - "dest": "cargo/vendor/serde_urlencoded-0.7.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_with/serde_with-3.18.0.crate", - "sha256": "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f", - "dest": "cargo/vendor/serde_with-3.18.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f\", \"files\": {}}", - "dest": "cargo/vendor/serde_with-3.18.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/serde_with_macros/serde_with_macros-3.18.0.crate", - "sha256": "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65", - "dest": "cargo/vendor/serde_with_macros-3.18.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65\", \"files\": {}}", - "dest": "cargo/vendor/serde_with_macros-3.18.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/servo_arc/servo_arc-0.4.3.crate", - "sha256": "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930", - "dest": "cargo/vendor/servo_arc-0.4.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930\", \"files\": {}}", - "dest": "cargo/vendor/servo_arc-0.4.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sha1/sha1-0.10.6.crate", - "sha256": "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba", - "dest": "cargo/vendor/sha1-0.10.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba\", \"files\": {}}", - "dest": "cargo/vendor/sha1-0.10.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sha2/sha2-0.10.9.crate", - "sha256": "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283", - "dest": "cargo/vendor/sha2-0.10.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283\", \"files\": {}}", - "dest": "cargo/vendor/sha2-0.10.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sharded-slab/sharded-slab-0.1.7.crate", - "sha256": "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6", - "dest": "cargo/vendor/sharded-slab-0.1.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\", \"files\": {}}", - "dest": "cargo/vendor/sharded-slab-0.1.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/shlex/shlex-1.3.0.crate", - "sha256": "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64", - "dest": "cargo/vendor/shlex-1.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\", \"files\": {}}", - "dest": "cargo/vendor/shlex-1.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/signal-hook-registry/signal-hook-registry-1.4.8.crate", - "sha256": "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b", - "dest": "cargo/vendor/signal-hook-registry-1.4.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\", \"files\": {}}", - "dest": "cargo/vendor/signal-hook-registry-1.4.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/signature/signature-2.2.0.crate", - "sha256": "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de", - "dest": "cargo/vendor/signature-2.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de\", \"files\": {}}", - "dest": "cargo/vendor/signature-2.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/simd-adler32/simd-adler32-0.3.9.crate", - "sha256": "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214", - "dest": "cargo/vendor/simd-adler32-0.3.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214\", \"files\": {}}", - "dest": "cargo/vendor/simd-adler32-0.3.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/simd_cesu8/simd_cesu8-1.1.1.crate", - "sha256": "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33", - "dest": "cargo/vendor/simd_cesu8-1.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33\", \"files\": {}}", - "dest": "cargo/vendor/simd_cesu8-1.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/simd_helpers/simd_helpers-0.1.0.crate", - "sha256": "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6", - "dest": "cargo/vendor/simd_helpers-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6\", \"files\": {}}", - "dest": "cargo/vendor/simd_helpers-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/simdutf8/simdutf8-0.1.5.crate", - "sha256": "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e", - "dest": "cargo/vendor/simdutf8-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e\", \"files\": {}}", - "dest": "cargo/vendor/simdutf8-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/simplecss/simplecss-0.2.2.crate", - "sha256": "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c", - "dest": "cargo/vendor/simplecss-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c\", \"files\": {}}", - "dest": "cargo/vendor/simplecss-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/siphasher/siphasher-1.0.2.crate", - "sha256": "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e", - "dest": "cargo/vendor/siphasher-1.0.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e\", \"files\": {}}", - "dest": "cargo/vendor/siphasher-1.0.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/skrifa/skrifa-0.40.0.crate", - "sha256": "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac", - "dest": "cargo/vendor/skrifa-0.40.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac\", \"files\": {}}", - "dest": "cargo/vendor/skrifa-0.40.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/slab/slab-0.4.12.crate", - "sha256": "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5", - "dest": "cargo/vendor/slab-0.4.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\", \"files\": {}}", - "dest": "cargo/vendor/slab-0.4.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/slotmap/slotmap-1.1.1.crate", - "sha256": "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038", - "dest": "cargo/vendor/slotmap-1.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038\", \"files\": {}}", - "dest": "cargo/vendor/slotmap-1.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/smallvec/smallvec-1.15.1.crate", - "sha256": "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03", - "dest": "cargo/vendor/smallvec-1.15.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03\", \"files\": {}}", - "dest": "cargo/vendor/smallvec-1.15.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/smithay-client-toolkit/smithay-client-toolkit-0.20.0.crate", - "sha256": "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0", - "dest": "cargo/vendor/smithay-client-toolkit-0.20.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0\", \"files\": {}}", - "dest": "cargo/vendor/smithay-client-toolkit-0.20.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/smithay-clipboard-859b02c/.\" \"cargo/vendor/smithay-clipboard\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"smithay-clipboard\"\nversion = \"0.8.0\"\nauthors = [\"Kirill Chibisov \", \"Victor Berger \"]\nedition = \"2021\"\ndescription = \"Provides access to the wayland clipboard for client applications.\"\nrepository = \"https://github.com/smithay/smithay-clipboard\"\ndocumentation = \"https://smithay.github.io/smithay-clipboard\"\nlicense = \"MIT\"\nkeywords = [\"clipboard\", \"wayland\"]\nrust-version = \"1.65.0\"\n\n[dependencies]\nlibc = \"0.2.149\"\n\n[dependencies.sctk]\npackage = \"smithay-client-toolkit\"\nversion = \"0.20\"\ndefault-features = false\nfeatures = [\"calloop\"]\n\n[dependencies.wayland-backend]\nversion = \"0.3.3\"\ndefault_features = false\nfeatures = [\"client_system\"]\n\n[dependencies.raw-window-handle]\nversion = \"0.6\"\noptional = true\n\n[dev-dependencies]\ndirs = \"5.0.1\"\nthiserror = \"1.0.57\"\nurl = \"2.5.0\"\n\n[dev-dependencies.sctk]\npackage = \"smithay-client-toolkit\"\nversion = \"0.20\"\ndefault-features = false\nfeatures = [\"calloop\", \"xkbcommon\"]\n\n[features]\ndefault = [\"dlopen\", \"dnd\", \"rwh-6\"]\nrwh-6 = [\"raw-window-handle\"]\ndnd = []\ndlopen = [\"wayland-backend/dlopen\"]\n", - "dest": "cargo/vendor/smithay-clipboard", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/smithay-clipboard", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/smol_str/smol_str-0.3.6.crate", - "sha256": "4aaa7368fcf4852a4c2dd92df0cace6a71f2091ca0a23391ce7f3a31833f1523", - "dest": "cargo/vendor/smol_str-0.3.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"4aaa7368fcf4852a4c2dd92df0cace6a71f2091ca0a23391ce7f3a31833f1523\", \"files\": {}}", - "dest": "cargo/vendor/smol_str-0.3.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/socket2/socket2-0.6.3.crate", - "sha256": "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e", - "dest": "cargo/vendor/socket2-0.6.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e\", \"files\": {}}", - "dest": "cargo/vendor/socket2-0.6.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/softbuffer-a3f77e2/.\" \"cargo/vendor/softbuffer\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"softbuffer\"\nversion = \"0.4.1\"\nedition = \"2021\"\nlicense = \"MIT OR Apache-2.0\"\ndescription = \"Cross-platform software buffer\"\ndocumentation = \"https://docs.rs/softbuffer\"\nreadme = \"README.md\"\nrepository = \"https://github.com/rust-windowing/softbuffer\"\nkeywords = [\"framebuffer\", \"windowing\"]\ncategories = [\"game-development\", \"graphics\", \"gui\", \"multimedia\", \"rendering\"]\nexclude = [\"examples\"]\nrust-version = \"1.65.0\"\n\n[package.metadata.docs.rs]\nall-features = true\nrustdoc-args = [\"--cfg\", \"docsrs\"]\ndefault-target = \"x86_64-unknown-linux-gnu\"\ntargets = [\"x86_64-pc-windows-msvc\", \"x86_64-apple-darwin\", \"x86_64-unknown-linux-gnu\", \"wasm32-unknown-unknown\"]\n\n[[bench]]\nname = \"buffer_mut\"\nharness = false\n\n[features]\ndefault = [\"kms\", \"x11\", \"x11-dlopen\", \"wayland\", \"wayland-dlopen\"]\nkms = [\"bytemuck\", \"drm\", \"rustix\"]\nwayland = [\"wayland-backend\", \"wayland-client\", \"memmap2\", \"rustix\", \"fastrand\"]\nwayland-dlopen = [\"wayland-sys/dlopen\"]\nx11 = [\"as-raw-xcb-connection\", \"bytemuck\", \"fastrand\", \"rustix\", \"tiny-xlib\", \"x11rb\"]\nx11-dlopen = [\"tiny-xlib/dlopen\", \"x11rb/dl-libxcb\"]\n\n[dependencies]\nlog = \"0.4.17\"\n\n[dependencies.raw_window_handle]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies]\nwayland-sys = \"0.31.0\"\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.as-raw-xcb-connection]\nversion = \"1.0.0\"\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.bytemuck]\nversion = \"1.12.3\"\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.drm]\nversion = \"0.11.0\"\ndefault-features = false\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.fastrand]\nversion = \"2.0.0\"\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.memmap2]\nversion = \"0.9.0\"\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.rustix]\nversion = \"0.38.19\"\nfeatures = [\"fs\", \"mm\", \"shm\", \"std\"]\ndefault-features = false\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.tiny-xlib]\nversion = \"0.2.1\"\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.wayland-backend]\nversion = \"0.3.0\"\nfeatures = [\"client_system\"]\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.wayland-client]\nversion = \"0.31.0\"\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dependencies.x11rb]\nversion = \"0.13.0\"\nfeatures = [\"allow-unsafe-code\", \"shm\"]\noptional = true\n\n[target.\"cfg(all(unix, not(any(target_vendor = \\\"apple\\\", target_os = \\\"android\\\", target_os = \\\"redox\\\"))))\".dev-dependencies.rustix]\nversion = \"0.38.8\"\nfeatures = [\"event\"]\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.windows-sys]\nversion = \"0.52.0\"\nfeatures = [\"Win32_Graphics_Gdi\", \"Win32_UI_WindowsAndMessaging\", \"Win32_Foundation\"]\n\n[target.\"cfg(target_os = \\\"macos\\\")\".dependencies]\ncocoa = \"0.25.0\"\ncore-graphics = \"0.23.1\"\nforeign-types = \"0.5.0\"\nobjc = \"0.2.7\"\n\n[target.\"cfg(target_os = \\\"macos\\\")\".dependencies.bytemuck]\nversion = \"1.12.3\"\nfeatures = [\"extern_crate_alloc\"]\n\n[target.\"cfg(target_arch = \\\"wasm32\\\")\".dependencies]\njs-sys = \"0.3.63\"\nwasm-bindgen = \"0.2.86\"\n\n[target.\"cfg(target_arch = \\\"wasm32\\\")\".dependencies.web-sys]\nversion = \"0.3.55\"\nfeatures = [\"CanvasRenderingContext2d\", \"Document\", \"Element\", \"HtmlCanvasElement\", \"ImageData\", \"OffscreenCanvas\", \"OffscreenCanvasRenderingContext2d\", \"Window\"]\n\n[target.\"cfg(target_arch = \\\"wasm32\\\")\".dev-dependencies]\nwasm-bindgen-test = \"0.3\"\n\n[target.\"cfg(target_os = \\\"redox\\\")\".dependencies]\nredox_syscall = \"0.5\"\n\n[target.\"cfg(not(target_arch = \\\"wasm32\\\"))\".dev-dependencies]\nimage = \"0.24.6\"\nrayon = \"1.5.1\"\n\n[build-dependencies]\ncfg_aliases = \"0.2.0\"\n\n[dev-dependencies]\ncolorous = \"1.0.12\"\ninstant = \"0.1.12\"\nwinit = \"0.29.2\"\nwinit-test = \"0.1.0\"\n\n[dev-dependencies.criterion]\nversion = \"0.4.0\"\ndefault-features = false\nfeatures = [\"cargo_bench_support\"]\n\n[dev-dependencies.image]\nversion = \"0.24.6\"\ndefault-features = false\nfeatures = [\"jpeg\"]\n\n[workspace]\nmembers = [\"run-wasm\"]\n\n[[test]]\nname = \"present_and_fetch\"\npath = \"tests/present_and_fetch.rs\"\nharness = false\n", - "dest": "cargo/vendor/softbuffer", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/softbuffer", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/spin/spin-0.9.8.crate", - "sha256": "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67", - "dest": "cargo/vendor/spin-0.9.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67\", \"files\": {}}", - "dest": "cargo/vendor/spin-0.9.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/spirv/spirv-0.3.0+sdk-1.3.268.0.crate", - "sha256": "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844", - "dest": "cargo/vendor/spirv-0.3.0+sdk-1.3.268.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844\", \"files\": {}}", - "dest": "cargo/vendor/spirv-0.3.0+sdk-1.3.268.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/spki/spki-0.7.3.crate", - "sha256": "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d", - "dest": "cargo/vendor/spki-0.7.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d\", \"files\": {}}", - "dest": "cargo/vendor/spki-0.7.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sqlx/sqlx-0.8.6.crate", - "sha256": "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc", - "dest": "cargo/vendor/sqlx-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc\", \"files\": {}}", - "dest": "cargo/vendor/sqlx-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sqlx-core/sqlx-core-0.8.6.crate", - "sha256": "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6", - "dest": "cargo/vendor/sqlx-core-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6\", \"files\": {}}", - "dest": "cargo/vendor/sqlx-core-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sqlx-macros/sqlx-macros-0.8.6.crate", - "sha256": "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d", - "dest": "cargo/vendor/sqlx-macros-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d\", \"files\": {}}", - "dest": "cargo/vendor/sqlx-macros-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sqlx-macros-core/sqlx-macros-core-0.8.6.crate", - "sha256": "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b", - "dest": "cargo/vendor/sqlx-macros-core-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b\", \"files\": {}}", - "dest": "cargo/vendor/sqlx-macros-core-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sqlx-mysql/sqlx-mysql-0.8.6.crate", - "sha256": "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526", - "dest": "cargo/vendor/sqlx-mysql-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526\", \"files\": {}}", - "dest": "cargo/vendor/sqlx-mysql-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sqlx-postgres/sqlx-postgres-0.8.6.crate", - "sha256": "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46", - "dest": "cargo/vendor/sqlx-postgres-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46\", \"files\": {}}", - "dest": "cargo/vendor/sqlx-postgres-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sqlx-sqlite/sqlx-sqlite-0.8.6.crate", - "sha256": "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea", - "dest": "cargo/vendor/sqlx-sqlite-0.8.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea\", \"files\": {}}", - "dest": "cargo/vendor/sqlx-sqlite-0.8.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/stable_deref_trait/stable_deref_trait-1.2.1.crate", - "sha256": "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596", - "dest": "cargo/vendor/stable_deref_trait-1.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\", \"files\": {}}", - "dest": "cargo/vendor/stable_deref_trait-1.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/static_assertions/static_assertions-1.1.0.crate", - "sha256": "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f", - "dest": "cargo/vendor/static_assertions-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\", \"files\": {}}", - "dest": "cargo/vendor/static_assertions-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/strict-num/strict-num-0.1.1.crate", - "sha256": "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731", - "dest": "cargo/vendor/strict-num-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731\", \"files\": {}}", - "dest": "cargo/vendor/strict-num-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/string_cache/string_cache-0.9.0.crate", - "sha256": "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901", - "dest": "cargo/vendor/string_cache-0.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901\", \"files\": {}}", - "dest": "cargo/vendor/string_cache-0.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/string_cache_codegen/string_cache_codegen-0.6.1.crate", - "sha256": "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69", - "dest": "cargo/vendor/string_cache_codegen-0.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69\", \"files\": {}}", - "dest": "cargo/vendor/string_cache_codegen-0.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/stringprep/stringprep-0.1.5.crate", - "sha256": "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1", - "dest": "cargo/vendor/stringprep-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1\", \"files\": {}}", - "dest": "cargo/vendor/stringprep-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/strsim/strsim-0.11.1.crate", - "sha256": "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f", - "dest": "cargo/vendor/strsim-0.11.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\", \"files\": {}}", - "dest": "cargo/vendor/strsim-0.11.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/strum/strum-0.26.3.crate", - "sha256": "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06", - "dest": "cargo/vendor/strum-0.26.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06\", \"files\": {}}", - "dest": "cargo/vendor/strum-0.26.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/strum_macros/strum_macros-0.26.4.crate", - "sha256": "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be", - "dest": "cargo/vendor/strum_macros-0.26.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be\", \"files\": {}}", - "dest": "cargo/vendor/strum_macros-0.26.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/subtle/subtle-2.6.1.crate", - "sha256": "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292", - "dest": "cargo/vendor/subtle-2.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292\", \"files\": {}}", - "dest": "cargo/vendor/subtle-2.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/supports-color/supports-color-3.0.2.crate", - "sha256": "c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6", - "dest": "cargo/vendor/supports-color-3.0.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6\", \"files\": {}}", - "dest": "cargo/vendor/supports-color-3.0.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/supports-hyperlinks/supports-hyperlinks-3.2.0.crate", - "sha256": "e396b6523b11ccb83120b115a0b7366de372751aa6edf19844dfb13a6af97e91", - "dest": "cargo/vendor/supports-hyperlinks-3.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"e396b6523b11ccb83120b115a0b7366de372751aa6edf19844dfb13a6af97e91\", \"files\": {}}", - "dest": "cargo/vendor/supports-hyperlinks-3.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/supports-unicode/supports-unicode-3.0.0.crate", - "sha256": "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2", - "dest": "cargo/vendor/supports-unicode-3.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2\", \"files\": {}}", - "dest": "cargo/vendor/supports-unicode-3.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/svg_fmt/svg_fmt-0.4.5.crate", - "sha256": "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb", - "dest": "cargo/vendor/svg_fmt-0.4.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb\", \"files\": {}}", - "dest": "cargo/vendor/svg_fmt-0.4.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/svgtypes/svgtypes-0.15.3.crate", - "sha256": "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc", - "dest": "cargo/vendor/svgtypes-0.15.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc\", \"files\": {}}", - "dest": "cargo/vendor/svgtypes-0.15.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/svgtypes/svgtypes-0.16.1.crate", - "sha256": "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d", - "dest": "cargo/vendor/svgtypes-0.16.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d\", \"files\": {}}", - "dest": "cargo/vendor/svgtypes-0.16.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/swash/swash-0.2.7.crate", - "sha256": "842f3cd369c2ba38966204f983eaa5e54a8e84a7d7159ed36ade2b6c335aae64", - "dest": "cargo/vendor/swash-0.2.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"842f3cd369c2ba38966204f983eaa5e54a8e84a7d7159ed36ade2b6c335aae64\", \"files\": {}}", - "dest": "cargo/vendor/swash-0.2.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia/symphonia-0.5.5.crate", - "sha256": "5773a4c030a19d9bfaa090f49746ff35c75dfddfa700df7a5939d5e076a57039", - "dest": "cargo/vendor/symphonia-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"5773a4c030a19d9bfaa090f49746ff35c75dfddfa700df7a5939d5e076a57039\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-adapter-libopus/symphonia-adapter-libopus-0.2.7.crate", - "sha256": "b9d17450685dda0e87467eddf3e0f9c0b2a1707fc5c3234c111f70d46c6e4494", - "dest": "cargo/vendor/symphonia-adapter-libopus-0.2.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"b9d17450685dda0e87467eddf3e0f9c0b2a1707fc5c3234c111f70d46c6e4494\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-adapter-libopus-0.2.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-bundle-flac/symphonia-bundle-flac-0.5.5.crate", - "sha256": "c91565e180aea25d9b80a910c546802526ffd0072d0b8974e3ebe59b686c9976", - "dest": "cargo/vendor/symphonia-bundle-flac-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"c91565e180aea25d9b80a910c546802526ffd0072d0b8974e3ebe59b686c9976\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-bundle-flac-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-bundle-mp3/symphonia-bundle-mp3-0.5.5.crate", - "sha256": "4872dd6bb56bf5eac799e3e957aa1981086c3e613b27e0ac23b176054f7c57ed", - "dest": "cargo/vendor/symphonia-bundle-mp3-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"4872dd6bb56bf5eac799e3e957aa1981086c3e613b27e0ac23b176054f7c57ed\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-bundle-mp3-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-codec-aac/symphonia-codec-aac-0.5.5.crate", - "sha256": "4c263845aa86881416849c1729a54c7f55164f8b96111dba59de46849e73a790", - "dest": "cargo/vendor/symphonia-codec-aac-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"4c263845aa86881416849c1729a54c7f55164f8b96111dba59de46849e73a790\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-codec-aac-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-codec-adpcm/symphonia-codec-adpcm-0.5.5.crate", - "sha256": "2dddc50e2bbea4cfe027441eece77c46b9f319748605ab8f3443350129ddd07f", - "dest": "cargo/vendor/symphonia-codec-adpcm-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"2dddc50e2bbea4cfe027441eece77c46b9f319748605ab8f3443350129ddd07f\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-codec-adpcm-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-codec-alac/symphonia-codec-alac-0.5.5.crate", - "sha256": "8413fa754942ac16a73634c9dfd1500ed5c61430956b33728567f667fdd393ab", - "dest": "cargo/vendor/symphonia-codec-alac-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"8413fa754942ac16a73634c9dfd1500ed5c61430956b33728567f667fdd393ab\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-codec-alac-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-codec-pcm/symphonia-codec-pcm-0.5.5.crate", - "sha256": "4e89d716c01541ad3ebe7c91ce4c8d38a7cf266a3f7b2f090b108fb0cb031d95", - "dest": "cargo/vendor/symphonia-codec-pcm-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"4e89d716c01541ad3ebe7c91ce4c8d38a7cf266a3f7b2f090b108fb0cb031d95\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-codec-pcm-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-codec-vorbis/symphonia-codec-vorbis-0.5.5.crate", - "sha256": "f025837c309cd69ffef572750b4a2257b59552c5399a5e49707cc5b1b85d1c73", - "dest": "cargo/vendor/symphonia-codec-vorbis-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"f025837c309cd69ffef572750b4a2257b59552c5399a5e49707cc5b1b85d1c73\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-codec-vorbis-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-core/symphonia-core-0.5.5.crate", - "sha256": "ea00cc4f79b7f6bb7ff87eddc065a1066f3a43fe1875979056672c9ef948c2af", - "dest": "cargo/vendor/symphonia-core-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"ea00cc4f79b7f6bb7ff87eddc065a1066f3a43fe1875979056672c9ef948c2af\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-core-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-format-caf/symphonia-format-caf-0.5.5.crate", - "sha256": "b8faf379316b6b6e6bbc274d00e7a592e0d63ff1a7e182ce8ba25e24edd3d096", - "dest": "cargo/vendor/symphonia-format-caf-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"b8faf379316b6b6e6bbc274d00e7a592e0d63ff1a7e182ce8ba25e24edd3d096\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-format-caf-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-format-isomp4/symphonia-format-isomp4-0.5.5.crate", - "sha256": "243739585d11f81daf8dac8d9f3d18cc7898f6c09a259675fc364b382c30e0a5", - "dest": "cargo/vendor/symphonia-format-isomp4-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"243739585d11f81daf8dac8d9f3d18cc7898f6c09a259675fc364b382c30e0a5\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-format-isomp4-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-format-mkv/symphonia-format-mkv-0.5.5.crate", - "sha256": "122d786d2c43a49beb6f397551b4a050d8229eaa54c7ddf9ee4b98899b8742d0", - "dest": "cargo/vendor/symphonia-format-mkv-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"122d786d2c43a49beb6f397551b4a050d8229eaa54c7ddf9ee4b98899b8742d0\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-format-mkv-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-format-ogg/symphonia-format-ogg-0.5.5.crate", - "sha256": "2b4955c67c1ed3aa8ae8428d04ca8397fbef6a19b2b051e73b5da8b1435639cb", - "dest": "cargo/vendor/symphonia-format-ogg-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"2b4955c67c1ed3aa8ae8428d04ca8397fbef6a19b2b051e73b5da8b1435639cb\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-format-ogg-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-format-riff/symphonia-format-riff-0.5.5.crate", - "sha256": "c2d7c3df0e7d94efb68401d81906eae73c02b40d5ec1a141962c592d0f11a96f", - "dest": "cargo/vendor/symphonia-format-riff-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"c2d7c3df0e7d94efb68401d81906eae73c02b40d5ec1a141962c592d0f11a96f\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-format-riff-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-metadata/symphonia-metadata-0.5.5.crate", - "sha256": "36306ff42b9ffe6e5afc99d49e121e0bd62fe79b9db7b9681d48e29fa19e6b16", - "dest": "cargo/vendor/symphonia-metadata-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"36306ff42b9ffe6e5afc99d49e121e0bd62fe79b9db7b9681d48e29fa19e6b16\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-metadata-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/symphonia-utils-xiph/symphonia-utils-xiph-0.5.5.crate", - "sha256": "ee27c85ab799a338446b68eec77abf42e1a6f1bb490656e121c6e27bfbab9f16", - "dest": "cargo/vendor/symphonia-utils-xiph-0.5.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"ee27c85ab799a338446b68eec77abf42e1a6f1bb490656e121c6e27bfbab9f16\", \"files\": {}}", - "dest": "cargo/vendor/symphonia-utils-xiph-0.5.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/syn/syn-2.0.117.crate", - "sha256": "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99", - "dest": "cargo/vendor/syn-2.0.117" - }, - { - "type": "inline", - "contents": "{\"package\": \"e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99\", \"files\": {}}", - "dest": "cargo/vendor/syn-2.0.117", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sync_wrapper/sync_wrapper-1.0.2.crate", - "sha256": "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263", - "dest": "cargo/vendor/sync_wrapper-1.0.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\", \"files\": {}}", - "dest": "cargo/vendor/sync_wrapper-1.0.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/synstructure/synstructure-0.13.2.crate", - "sha256": "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2", - "dest": "cargo/vendor/synstructure-0.13.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2\", \"files\": {}}", - "dest": "cargo/vendor/synstructure-0.13.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/sys-locale/sys-locale-0.3.2.crate", - "sha256": "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4", - "dest": "cargo/vendor/sys-locale-0.3.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4\", \"files\": {}}", - "dest": "cargo/vendor/sys-locale-0.3.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/system-configuration/system-configuration-0.7.0.crate", - "sha256": "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b", - "dest": "cargo/vendor/system-configuration-0.7.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b\", \"files\": {}}", - "dest": "cargo/vendor/system-configuration-0.7.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/system-configuration-sys/system-configuration-sys-0.6.0.crate", - "sha256": "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4", - "dest": "cargo/vendor/system-configuration-sys-0.6.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4\", \"files\": {}}", - "dest": "cargo/vendor/system-configuration-sys-0.6.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/system-deps/system-deps-7.0.8.crate", - "sha256": "396a35feb67335377e0251fcbc1092fc85c484bd4e3a7a54319399da127796e7", - "dest": "cargo/vendor/system-deps-7.0.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"396a35feb67335377e0251fcbc1092fc85c484bd4e3a7a54319399da127796e7\", \"files\": {}}", - "dest": "cargo/vendor/system-deps-7.0.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/taffy/taffy-0.9.2.crate", - "sha256": "41ba83ebaf2954d31d05d67340fd46cebe99da2b7133b0dd68d70c65473a437b", - "dest": "cargo/vendor/taffy-0.9.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"41ba83ebaf2954d31d05d67340fd46cebe99da2b7133b0dd68d70c65473a437b\", \"files\": {}}", - "dest": "cargo/vendor/taffy-0.9.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tar/tar-0.4.45.crate", - "sha256": "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973", - "dest": "cargo/vendor/tar-0.4.45" - }, - { - "type": "inline", - "contents": "{\"package\": \"22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973\", \"files\": {}}", - "dest": "cargo/vendor/tar-0.4.45", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/target-lexicon/target-lexicon-0.13.3.crate", - "sha256": "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c", - "dest": "cargo/vendor/target-lexicon-0.13.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c\", \"files\": {}}", - "dest": "cargo/vendor/target-lexicon-0.13.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tempfile/tempfile-3.27.0.crate", - "sha256": "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd", - "dest": "cargo/vendor/tempfile-3.27.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\", \"files\": {}}", - "dest": "cargo/vendor/tempfile-3.27.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tendril/tendril-0.4.3.crate", - "sha256": "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0", - "dest": "cargo/vendor/tendril-0.4.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0\", \"files\": {}}", - "dest": "cargo/vendor/tendril-0.4.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/termcolor/termcolor-1.4.1.crate", - "sha256": "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755", - "dest": "cargo/vendor/termcolor-1.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755\", \"files\": {}}", - "dest": "cargo/vendor/termcolor-1.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/terminal_size/terminal_size-0.4.4.crate", - "sha256": "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874", - "dest": "cargo/vendor/terminal_size-0.4.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874\", \"files\": {}}", - "dest": "cargo/vendor/terminal_size-0.4.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/textwrap/textwrap-0.16.2.crate", - "sha256": "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057", - "dest": "cargo/vendor/textwrap-0.16.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057\", \"files\": {}}", - "dest": "cargo/vendor/textwrap-0.16.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/thiserror/thiserror-1.0.69.crate", - "sha256": "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52", - "dest": "cargo/vendor/thiserror-1.0.69" - }, - { - "type": "inline", - "contents": "{\"package\": \"b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52\", \"files\": {}}", - "dest": "cargo/vendor/thiserror-1.0.69", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/thiserror/thiserror-2.0.18.crate", - "sha256": "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4", - "dest": "cargo/vendor/thiserror-2.0.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4\", \"files\": {}}", - "dest": "cargo/vendor/thiserror-2.0.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/thiserror-impl/thiserror-impl-1.0.69.crate", - "sha256": "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1", - "dest": "cargo/vendor/thiserror-impl-1.0.69" - }, - { - "type": "inline", - "contents": "{\"package\": \"4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1\", \"files\": {}}", - "dest": "cargo/vendor/thiserror-impl-1.0.69", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/thiserror-impl/thiserror-impl-2.0.18.crate", - "sha256": "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5", - "dest": "cargo/vendor/thiserror-impl-2.0.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5\", \"files\": {}}", - "dest": "cargo/vendor/thiserror-impl-2.0.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/thread_local/thread_local-1.1.9.crate", - "sha256": "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185", - "dest": "cargo/vendor/thread_local-1.1.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185\", \"files\": {}}", - "dest": "cargo/vendor/thread_local-1.1.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tiff/tiff-0.11.3.crate", - "sha256": "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52", - "dest": "cargo/vendor/tiff-0.11.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52\", \"files\": {}}", - "dest": "cargo/vendor/tiff-0.11.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/time/time-0.3.47.crate", - "sha256": "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c", - "dest": "cargo/vendor/time-0.3.47" - }, - { - "type": "inline", - "contents": "{\"package\": \"743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c\", \"files\": {}}", - "dest": "cargo/vendor/time-0.3.47", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/time-core/time-core-0.1.8.crate", - "sha256": "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca", - "dest": "cargo/vendor/time-core-0.1.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca\", \"files\": {}}", - "dest": "cargo/vendor/time-core-0.1.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/time-macros/time-macros-0.2.27.crate", - "sha256": "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215", - "dest": "cargo/vendor/time-macros-0.2.27" - }, - { - "type": "inline", - "contents": "{\"package\": \"2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215\", \"files\": {}}", - "dest": "cargo/vendor/time-macros-0.2.27", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tiny-skia/tiny-skia-0.11.4.crate", - "sha256": "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab", - "dest": "cargo/vendor/tiny-skia-0.11.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab\", \"files\": {}}", - "dest": "cargo/vendor/tiny-skia-0.11.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tiny-skia/tiny-skia-0.12.0.crate", - "sha256": "47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea", - "dest": "cargo/vendor/tiny-skia-0.12.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea\", \"files\": {}}", - "dest": "cargo/vendor/tiny-skia-0.12.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tiny-skia-path/tiny-skia-path-0.11.4.crate", - "sha256": "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93", - "dest": "cargo/vendor/tiny-skia-path-0.11.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93\", \"files\": {}}", - "dest": "cargo/vendor/tiny-skia-path-0.11.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tiny-skia-path/tiny-skia-path-0.12.0.crate", - "sha256": "edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9", - "dest": "cargo/vendor/tiny-skia-path-0.12.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9\", \"files\": {}}", - "dest": "cargo/vendor/tiny-skia-path-0.12.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tiny-xlib/tiny-xlib-0.2.4.crate", - "sha256": "0324504befd01cab6e0c994f34b2ffa257849ee019d3fb3b64fb2c858887d89e", - "dest": "cargo/vendor/tiny-xlib-0.2.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"0324504befd01cab6e0c994f34b2ffa257849ee019d3fb3b64fb2c858887d89e\", \"files\": {}}", - "dest": "cargo/vendor/tiny-xlib-0.2.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tinystr/tinystr-0.8.3.crate", - "sha256": "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d", - "dest": "cargo/vendor/tinystr-0.8.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d\", \"files\": {}}", - "dest": "cargo/vendor/tinystr-0.8.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tinyvec/tinyvec-1.11.0.crate", - "sha256": "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3", - "dest": "cargo/vendor/tinyvec-1.11.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3\", \"files\": {}}", - "dest": "cargo/vendor/tinyvec-1.11.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tinyvec_macros/tinyvec_macros-0.1.1.crate", - "sha256": "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20", - "dest": "cargo/vendor/tinyvec_macros-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20\", \"files\": {}}", - "dest": "cargo/vendor/tinyvec_macros-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tokio/tokio-1.51.1.crate", - "sha256": "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c", - "dest": "cargo/vendor/tokio-1.51.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c\", \"files\": {}}", - "dest": "cargo/vendor/tokio-1.51.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tokio-macros/tokio-macros-2.7.0.crate", - "sha256": "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496", - "dest": "cargo/vendor/tokio-macros-2.7.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496\", \"files\": {}}", - "dest": "cargo/vendor/tokio-macros-2.7.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tokio-native-tls/tokio-native-tls-0.3.1.crate", - "sha256": "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2", - "dest": "cargo/vendor/tokio-native-tls-0.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2\", \"files\": {}}", - "dest": "cargo/vendor/tokio-native-tls-0.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tokio-rustls/tokio-rustls-0.26.4.crate", - "sha256": "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61", - "dest": "cargo/vendor/tokio-rustls-0.26.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61\", \"files\": {}}", - "dest": "cargo/vendor/tokio-rustls-0.26.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tokio-stream/tokio-stream-0.1.18.crate", - "sha256": "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70", - "dest": "cargo/vendor/tokio-stream-0.1.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70\", \"files\": {}}", - "dest": "cargo/vendor/tokio-stream-0.1.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tokio-tungstenite/tokio-tungstenite-0.26.2.crate", - "sha256": "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084", - "dest": "cargo/vendor/tokio-tungstenite-0.26.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084\", \"files\": {}}", - "dest": "cargo/vendor/tokio-tungstenite-0.26.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tokio-util/tokio-util-0.7.18.crate", - "sha256": "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098", - "dest": "cargo/vendor/tokio-util-0.7.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098\", \"files\": {}}", - "dest": "cargo/vendor/tokio-util-0.7.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/toml/toml-0.5.11.crate", - "sha256": "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234", - "dest": "cargo/vendor/toml-0.5.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234\", \"files\": {}}", - "dest": "cargo/vendor/toml-0.5.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/toml/toml-1.1.2+spec-1.1.0.crate", - "sha256": "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee", - "dest": "cargo/vendor/toml-1.1.2+spec-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee\", \"files\": {}}", - "dest": "cargo/vendor/toml-1.1.2+spec-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/toml_datetime/toml_datetime-1.1.1+spec-1.1.0.crate", - "sha256": "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7", - "dest": "cargo/vendor/toml_datetime-1.1.1+spec-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7\", \"files\": {}}", - "dest": "cargo/vendor/toml_datetime-1.1.1+spec-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/toml_edit/toml_edit-0.25.11+spec-1.1.0.crate", - "sha256": "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b", - "dest": "cargo/vendor/toml_edit-0.25.11+spec-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b\", \"files\": {}}", - "dest": "cargo/vendor/toml_edit-0.25.11+spec-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/toml_parser/toml_parser-1.1.2+spec-1.1.0.crate", - "sha256": "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526", - "dest": "cargo/vendor/toml_parser-1.1.2+spec-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526\", \"files\": {}}", - "dest": "cargo/vendor/toml_parser-1.1.2+spec-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/toml_writer/toml_writer-1.1.1+spec-1.1.0.crate", - "sha256": "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db", - "dest": "cargo/vendor/toml_writer-1.1.1+spec-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db\", \"files\": {}}", - "dest": "cargo/vendor/toml_writer-1.1.1+spec-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tower/tower-0.5.3.crate", - "sha256": "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4", - "dest": "cargo/vendor/tower-0.5.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\", \"files\": {}}", - "dest": "cargo/vendor/tower-0.5.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tower-http/tower-http-0.6.8.crate", - "sha256": "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8", - "dest": "cargo/vendor/tower-http-0.6.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8\", \"files\": {}}", - "dest": "cargo/vendor/tower-http-0.6.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tower-layer/tower-layer-0.3.3.crate", - "sha256": "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e", - "dest": "cargo/vendor/tower-layer-0.3.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\", \"files\": {}}", - "dest": "cargo/vendor/tower-layer-0.3.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tower-service/tower-service-0.3.3.crate", - "sha256": "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3", - "dest": "cargo/vendor/tower-service-0.3.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\", \"files\": {}}", - "dest": "cargo/vendor/tower-service-0.3.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tracing/tracing-0.1.44.crate", - "sha256": "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100", - "dest": "cargo/vendor/tracing-0.1.44" - }, - { - "type": "inline", - "contents": "{\"package\": \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\", \"files\": {}}", - "dest": "cargo/vendor/tracing-0.1.44", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tracing-attributes/tracing-attributes-0.1.31.crate", - "sha256": "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da", - "dest": "cargo/vendor/tracing-attributes-0.1.31" - }, - { - "type": "inline", - "contents": "{\"package\": \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\", \"files\": {}}", - "dest": "cargo/vendor/tracing-attributes-0.1.31", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tracing-core/tracing-core-0.1.36.crate", - "sha256": "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a", - "dest": "cargo/vendor/tracing-core-0.1.36" - }, - { - "type": "inline", - "contents": "{\"package\": \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\", \"files\": {}}", - "dest": "cargo/vendor/tracing-core-0.1.36", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tracing-log/tracing-log-0.2.0.crate", - "sha256": "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3", - "dest": "cargo/vendor/tracing-log-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\", \"files\": {}}", - "dest": "cargo/vendor/tracing-log-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tracing-subscriber/tracing-subscriber-0.3.23.crate", - "sha256": "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319", - "dest": "cargo/vendor/tracing-subscriber-0.3.23" - }, - { - "type": "inline", - "contents": "{\"package\": \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\", \"files\": {}}", - "dest": "cargo/vendor/tracing-subscriber-0.3.23", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/try-lock/try-lock-0.2.5.crate", - "sha256": "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b", - "dest": "cargo/vendor/try-lock-0.2.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\", \"files\": {}}", - "dest": "cargo/vendor/try-lock-0.2.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/ttf-parser/ttf-parser-0.25.1.crate", - "sha256": "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31", - "dest": "cargo/vendor/ttf-parser-0.25.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31\", \"files\": {}}", - "dest": "cargo/vendor/ttf-parser-0.25.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/tungstenite/tungstenite-0.26.2.crate", - "sha256": "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13", - "dest": "cargo/vendor/tungstenite-0.26.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13\", \"files\": {}}", - "dest": "cargo/vendor/tungstenite-0.26.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/type-map/type-map-0.5.1.crate", - "sha256": "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90", - "dest": "cargo/vendor/type-map-0.5.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90\", \"files\": {}}", - "dest": "cargo/vendor/type-map-0.5.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/typeid/typeid-1.0.3.crate", - "sha256": "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c", - "dest": "cargo/vendor/typeid-1.0.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c\", \"files\": {}}", - "dest": "cargo/vendor/typeid-1.0.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/typenum/typenum-1.19.0.crate", - "sha256": "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb", - "dest": "cargo/vendor/typenum-1.19.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb\", \"files\": {}}", - "dest": "cargo/vendor/typenum-1.19.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/uds_windows/uds_windows-1.2.1.crate", - "sha256": "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e", - "dest": "cargo/vendor/uds_windows-1.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e\", \"files\": {}}", - "dest": "cargo/vendor/uds_windows-1.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/uncased/uncased-0.9.10.crate", - "sha256": "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697", - "dest": "cargo/vendor/uncased-0.9.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697\", \"files\": {}}", - "dest": "cargo/vendor/uncased-0.9.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unic-langid/unic-langid-0.9.6.crate", - "sha256": "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05", - "dest": "cargo/vendor/unic-langid-0.9.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05\", \"files\": {}}", - "dest": "cargo/vendor/unic-langid-0.9.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unic-langid-impl/unic-langid-impl-0.9.6.crate", - "sha256": "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658", - "dest": "cargo/vendor/unic-langid-impl-0.9.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658\", \"files\": {}}", - "dest": "cargo/vendor/unic-langid-impl-0.9.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-bidi/unicode-bidi-0.3.18.crate", - "sha256": "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5", - "dest": "cargo/vendor/unicode-bidi-0.3.18" - }, - { - "type": "inline", - "contents": "{\"package\": \"5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5\", \"files\": {}}", - "dest": "cargo/vendor/unicode-bidi-0.3.18", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-bidi-mirroring/unicode-bidi-mirroring-0.4.0.crate", - "sha256": "5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe", - "dest": "cargo/vendor/unicode-bidi-mirroring-0.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe\", \"files\": {}}", - "dest": "cargo/vendor/unicode-bidi-mirroring-0.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-ccc/unicode-ccc-0.4.0.crate", - "sha256": "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e", - "dest": "cargo/vendor/unicode-ccc-0.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e\", \"files\": {}}", - "dest": "cargo/vendor/unicode-ccc-0.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-ident/unicode-ident-1.0.24.crate", - "sha256": "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75", - "dest": "cargo/vendor/unicode-ident-1.0.24" - }, - { - "type": "inline", - "contents": "{\"package\": \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\", \"files\": {}}", - "dest": "cargo/vendor/unicode-ident-1.0.24", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-linebreak/unicode-linebreak-0.1.5.crate", - "sha256": "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f", - "dest": "cargo/vendor/unicode-linebreak-0.1.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f\", \"files\": {}}", - "dest": "cargo/vendor/unicode-linebreak-0.1.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-normalization/unicode-normalization-0.1.25.crate", - "sha256": "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8", - "dest": "cargo/vendor/unicode-normalization-0.1.25" - }, - { - "type": "inline", - "contents": "{\"package\": \"5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8\", \"files\": {}}", - "dest": "cargo/vendor/unicode-normalization-0.1.25", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-properties/unicode-properties-0.1.4.crate", - "sha256": "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d", - "dest": "cargo/vendor/unicode-properties-0.1.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d\", \"files\": {}}", - "dest": "cargo/vendor/unicode-properties-0.1.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-script/unicode-script-0.5.8.crate", - "sha256": "383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee", - "dest": "cargo/vendor/unicode-script-0.5.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee\", \"files\": {}}", - "dest": "cargo/vendor/unicode-script-0.5.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-segmentation/unicode-segmentation-1.13.2.crate", - "sha256": "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c", - "dest": "cargo/vendor/unicode-segmentation-1.13.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c\", \"files\": {}}", - "dest": "cargo/vendor/unicode-segmentation-1.13.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-vo/unicode-vo-0.1.0.crate", - "sha256": "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94", - "dest": "cargo/vendor/unicode-vo-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94\", \"files\": {}}", - "dest": "cargo/vendor/unicode-vo-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-width/unicode-width-0.1.14.crate", - "sha256": "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af", - "dest": "cargo/vendor/unicode-width-0.1.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af\", \"files\": {}}", - "dest": "cargo/vendor/unicode-width-0.1.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-width/unicode-width-0.2.2.crate", - "sha256": "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254", - "dest": "cargo/vendor/unicode-width-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254\", \"files\": {}}", - "dest": "cargo/vendor/unicode-width-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/unicode-xid/unicode-xid-0.2.6.crate", - "sha256": "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853", - "dest": "cargo/vendor/unicode-xid-0.2.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853\", \"files\": {}}", - "dest": "cargo/vendor/unicode-xid-0.2.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/untrusted/untrusted-0.9.0.crate", - "sha256": "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1", - "dest": "cargo/vendor/untrusted-0.9.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1\", \"files\": {}}", - "dest": "cargo/vendor/untrusted-0.9.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/url/url-2.5.8.crate", - "sha256": "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed", - "dest": "cargo/vendor/url-2.5.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed\", \"files\": {}}", - "dest": "cargo/vendor/url-2.5.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/urlencoding/urlencoding-2.1.3.crate", - "sha256": "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da", - "dest": "cargo/vendor/urlencoding-2.1.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da\", \"files\": {}}", - "dest": "cargo/vendor/urlencoding-2.1.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/usvg/usvg-0.45.1.crate", - "sha256": "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef", - "dest": "cargo/vendor/usvg-0.45.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef\", \"files\": {}}", - "dest": "cargo/vendor/usvg-0.45.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/usvg_exposed/usvg_exposed-0.47.0.crate", - "sha256": "71d0070e1df55a90910dc78ba35807c2f269e4806f8a85f20fb4b1973121ef2a", - "dest": "cargo/vendor/usvg_exposed-0.47.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"71d0070e1df55a90910dc78ba35807c2f269e4806f8a85f20fb4b1973121ef2a\", \"files\": {}}", - "dest": "cargo/vendor/usvg_exposed-0.47.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/utf-8/utf-8-0.7.6.crate", - "sha256": "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9", - "dest": "cargo/vendor/utf-8-0.7.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9\", \"files\": {}}", - "dest": "cargo/vendor/utf-8-0.7.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/utf8-width/utf8-width-0.1.8.crate", - "sha256": "1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091", - "dest": "cargo/vendor/utf8-width-0.1.8" - }, - { - "type": "inline", - "contents": "{\"package\": \"1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091\", \"files\": {}}", - "dest": "cargo/vendor/utf8-width-0.1.8", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/utf8_iter/utf8_iter-1.0.4.crate", - "sha256": "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be", - "dest": "cargo/vendor/utf8_iter-1.0.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be\", \"files\": {}}", - "dest": "cargo/vendor/utf8_iter-1.0.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/utf8parse/utf8parse-0.2.2.crate", - "sha256": "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821", - "dest": "cargo/vendor/utf8parse-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\", \"files\": {}}", - "dest": "cargo/vendor/utf8parse-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/uuid/uuid-1.23.0.crate", - "sha256": "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9", - "dest": "cargo/vendor/uuid-1.23.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9\", \"files\": {}}", - "dest": "cargo/vendor/uuid-1.23.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/v_frame/v_frame-0.3.9.crate", - "sha256": "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2", - "dest": "cargo/vendor/v_frame-0.3.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2\", \"files\": {}}", - "dest": "cargo/vendor/v_frame-0.3.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/valuable/valuable-0.1.1.crate", - "sha256": "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65", - "dest": "cargo/vendor/valuable-0.1.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\", \"files\": {}}", - "dest": "cargo/vendor/valuable-0.1.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/vcpkg/vcpkg-0.2.15.crate", - "sha256": "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426", - "dest": "cargo/vendor/vcpkg-0.2.15" - }, - { - "type": "inline", - "contents": "{\"package\": \"accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426\", \"files\": {}}", - "dest": "cargo/vendor/vcpkg-0.2.15", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/version-compare/version-compare-0.2.1.crate", - "sha256": "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e", - "dest": "cargo/vendor/version-compare-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e\", \"files\": {}}", - "dest": "cargo/vendor/version-compare-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/version_check/version_check-0.9.5.crate", - "sha256": "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a", - "dest": "cargo/vendor/version_check-0.9.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\", \"files\": {}}", - "dest": "cargo/vendor/version_check-0.9.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wait-timeout/wait-timeout-0.2.1.crate", - "sha256": "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11", - "dest": "cargo/vendor/wait-timeout-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11\", \"files\": {}}", - "dest": "cargo/vendor/wait-timeout-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/walkdir/walkdir-2.5.0.crate", - "sha256": "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b", - "dest": "cargo/vendor/walkdir-2.5.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b\", \"files\": {}}", - "dest": "cargo/vendor/walkdir-2.5.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/want/want-0.3.1.crate", - "sha256": "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e", - "dest": "cargo/vendor/want-0.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e\", \"files\": {}}", - "dest": "cargo/vendor/want-0.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasi/wasi-0.11.1+wasi-snapshot-preview1.crate", - "sha256": "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b", - "dest": "cargo/vendor/wasi-0.11.1+wasi-snapshot-preview1" - }, - { - "type": "inline", - "contents": "{\"package\": \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\", \"files\": {}}", - "dest": "cargo/vendor/wasi-0.11.1+wasi-snapshot-preview1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasip2/wasip2-1.0.2+wasi-0.2.9.crate", - "sha256": "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5", - "dest": "cargo/vendor/wasip2-1.0.2+wasi-0.2.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5\", \"files\": {}}", - "dest": "cargo/vendor/wasip2-1.0.2+wasi-0.2.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasip3/wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate", - "sha256": "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5", - "dest": "cargo/vendor/wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06" - }, - { - "type": "inline", - "contents": "{\"package\": \"5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5\", \"files\": {}}", - "dest": "cargo/vendor/wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasite/wasite-0.1.0.crate", - "sha256": "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b", - "dest": "cargo/vendor/wasite-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b\", \"files\": {}}", - "dest": "cargo/vendor/wasite-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.118.crate", - "sha256": "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89", - "dest": "cargo/vendor/wasm-bindgen-0.2.118" - }, - { - "type": "inline", - "contents": "{\"package\": \"0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89\", \"files\": {}}", - "dest": "cargo/vendor/wasm-bindgen-0.2.118", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasm-bindgen-futures/wasm-bindgen-futures-0.4.68.crate", - "sha256": "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8", - "dest": "cargo/vendor/wasm-bindgen-futures-0.4.68" - }, - { - "type": "inline", - "contents": "{\"package\": \"f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8\", \"files\": {}}", - "dest": "cargo/vendor/wasm-bindgen-futures-0.4.68", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.118.crate", - "sha256": "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed", - "dest": "cargo/vendor/wasm-bindgen-macro-0.2.118" - }, - { - "type": "inline", - "contents": "{\"package\": \"eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed\", \"files\": {}}", - "dest": "cargo/vendor/wasm-bindgen-macro-0.2.118", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.118.crate", - "sha256": "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904", - "dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.118" - }, - { - "type": "inline", - "contents": "{\"package\": \"9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904\", \"files\": {}}", - "dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.118", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.118.crate", - "sha256": "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129", - "dest": "cargo/vendor/wasm-bindgen-shared-0.2.118" - }, - { - "type": "inline", - "contents": "{\"package\": \"5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129\", \"files\": {}}", - "dest": "cargo/vendor/wasm-bindgen-shared-0.2.118", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasm-encoder/wasm-encoder-0.244.0.crate", - "sha256": "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319", - "dest": "cargo/vendor/wasm-encoder-0.244.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319\", \"files\": {}}", - "dest": "cargo/vendor/wasm-encoder-0.244.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasm-metadata/wasm-metadata-0.244.0.crate", - "sha256": "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909", - "dest": "cargo/vendor/wasm-metadata-0.244.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909\", \"files\": {}}", - "dest": "cargo/vendor/wasm-metadata-0.244.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasmparser/wasmparser-0.244.0.crate", - "sha256": "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe", - "dest": "cargo/vendor/wasmparser-0.244.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe\", \"files\": {}}", - "dest": "cargo/vendor/wasmparser-0.244.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wasmtimer/wasmtimer-0.4.3.crate", - "sha256": "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b", - "dest": "cargo/vendor/wasmtimer-0.4.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b\", \"files\": {}}", - "dest": "cargo/vendor/wasmtimer-0.4.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-backend/wayland-backend-0.3.15.crate", - "sha256": "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d", - "dest": "cargo/vendor/wayland-backend-0.3.15" - }, - { - "type": "inline", - "contents": "{\"package\": \"2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d\", \"files\": {}}", - "dest": "cargo/vendor/wayland-backend-0.3.15", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-client/wayland-client-0.31.14.crate", - "sha256": "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144", - "dest": "cargo/vendor/wayland-client-0.31.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144\", \"files\": {}}", - "dest": "cargo/vendor/wayland-client-0.31.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-csd-frame/wayland-csd-frame-0.3.0.crate", - "sha256": "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e", - "dest": "cargo/vendor/wayland-csd-frame-0.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e\", \"files\": {}}", - "dest": "cargo/vendor/wayland-csd-frame-0.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-cursor/wayland-cursor-0.31.14.crate", - "sha256": "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d", - "dest": "cargo/vendor/wayland-cursor-0.31.14" - }, - { - "type": "inline", - "contents": "{\"package\": \"4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d\", \"files\": {}}", - "dest": "cargo/vendor/wayland-cursor-0.31.14", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-protocols/wayland-protocols-0.32.12.crate", - "sha256": "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f", - "dest": "cargo/vendor/wayland-protocols-0.32.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f\", \"files\": {}}", - "dest": "cargo/vendor/wayland-protocols-0.32.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-protocols-experimental/wayland-protocols-experimental-20250721.0.1.crate", - "sha256": "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1", - "dest": "cargo/vendor/wayland-protocols-experimental-20250721.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1\", \"files\": {}}", - "dest": "cargo/vendor/wayland-protocols-experimental-20250721.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-protocols-misc/wayland-protocols-misc-0.3.12.crate", - "sha256": "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8", - "dest": "cargo/vendor/wayland-protocols-misc-0.3.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8\", \"files\": {}}", - "dest": "cargo/vendor/wayland-protocols-misc-0.3.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-protocols-plasma/wayland-protocols-plasma-0.3.12.crate", - "sha256": "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91", - "dest": "cargo/vendor/wayland-protocols-plasma-0.3.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91\", \"files\": {}}", - "dest": "cargo/vendor/wayland-protocols-plasma-0.3.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-protocols-wlr/wayland-protocols-wlr-0.3.12.crate", - "sha256": "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234", - "dest": "cargo/vendor/wayland-protocols-wlr-0.3.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234\", \"files\": {}}", - "dest": "cargo/vendor/wayland-protocols-wlr-0.3.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-scanner/wayland-scanner-0.31.10.crate", - "sha256": "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a", - "dest": "cargo/vendor/wayland-scanner-0.31.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a\", \"files\": {}}", - "dest": "cargo/vendor/wayland-scanner-0.31.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wayland-sys/wayland-sys-0.31.11.crate", - "sha256": "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be", - "dest": "cargo/vendor/wayland-sys-0.31.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be\", \"files\": {}}", - "dest": "cargo/vendor/wayland-sys-0.31.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/web-sys/web-sys-0.3.95.crate", - "sha256": "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d", - "dest": "cargo/vendor/web-sys-0.3.95" - }, - { - "type": "inline", - "contents": "{\"package\": \"4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d\", \"files\": {}}", - "dest": "cargo/vendor/web-sys-0.3.95", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/web-time/web-time-1.1.0.crate", - "sha256": "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb", - "dest": "cargo/vendor/web-time-1.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\", \"files\": {}}", - "dest": "cargo/vendor/web-time-1.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/web_atoms/web_atoms-0.2.3.crate", - "sha256": "57a9779e9f04d2ac1ce317aee707aa2f6b773afba7b931222bff6983843b1576", - "dest": "cargo/vendor/web_atoms-0.2.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"57a9779e9f04d2ac1ce317aee707aa2f6b773afba7b931222bff6983843b1576\", \"files\": {}}", - "dest": "cargo/vendor/web_atoms-0.2.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/webpki-root-certs/webpki-root-certs-1.0.6.crate", - "sha256": "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca", - "dest": "cargo/vendor/webpki-root-certs-1.0.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca\", \"files\": {}}", - "dest": "cargo/vendor/webpki-root-certs-1.0.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/weezl/weezl-0.1.12.crate", - "sha256": "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88", - "dest": "cargo/vendor/weezl-0.1.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88\", \"files\": {}}", - "dest": "cargo/vendor/weezl-0.1.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wgpu/wgpu-27.0.1.crate", - "sha256": "bfe68bac7cde125de7a731c3400723cadaaf1703795ad3f4805f187459cd7a77", - "dest": "cargo/vendor/wgpu-27.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"bfe68bac7cde125de7a731c3400723cadaaf1703795ad3f4805f187459cd7a77\", \"files\": {}}", - "dest": "cargo/vendor/wgpu-27.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wgpu-core/wgpu-core-27.0.3.crate", - "sha256": "27a75de515543b1897b26119f93731b385a19aea165a1ec5f0e3acecc229cae7", - "dest": "cargo/vendor/wgpu-core-27.0.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"27a75de515543b1897b26119f93731b385a19aea165a1ec5f0e3acecc229cae7\", \"files\": {}}", - "dest": "cargo/vendor/wgpu-core-27.0.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wgpu-core-deps-apple/wgpu-core-deps-apple-27.0.0.crate", - "sha256": "0772ae958e9be0c729561d5e3fd9a19679bcdfb945b8b1a1969d9bfe8056d233", - "dest": "cargo/vendor/wgpu-core-deps-apple-27.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0772ae958e9be0c729561d5e3fd9a19679bcdfb945b8b1a1969d9bfe8056d233\", \"files\": {}}", - "dest": "cargo/vendor/wgpu-core-deps-apple-27.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wgpu-core-deps-emscripten/wgpu-core-deps-emscripten-27.0.0.crate", - "sha256": "b06ac3444a95b0813ecfd81ddb2774b66220b264b3e2031152a4a29fda4da6b5", - "dest": "cargo/vendor/wgpu-core-deps-emscripten-27.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b06ac3444a95b0813ecfd81ddb2774b66220b264b3e2031152a4a29fda4da6b5\", \"files\": {}}", - "dest": "cargo/vendor/wgpu-core-deps-emscripten-27.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wgpu-core-deps-windows-linux-android/wgpu-core-deps-windows-linux-android-27.0.0.crate", - "sha256": "71197027d61a71748e4120f05a9242b2ad142e3c01f8c1b47707945a879a03c3", - "dest": "cargo/vendor/wgpu-core-deps-windows-linux-android-27.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"71197027d61a71748e4120f05a9242b2ad142e3c01f8c1b47707945a879a03c3\", \"files\": {}}", - "dest": "cargo/vendor/wgpu-core-deps-windows-linux-android-27.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wgpu-hal/wgpu-hal-27.0.4.crate", - "sha256": "5b21cb61c57ee198bc4aff71aeadff4cbb80b927beb912506af9c780d64313ce", - "dest": "cargo/vendor/wgpu-hal-27.0.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"5b21cb61c57ee198bc4aff71aeadff4cbb80b927beb912506af9c780d64313ce\", \"files\": {}}", - "dest": "cargo/vendor/wgpu-hal-27.0.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wgpu-types/wgpu-types-27.0.1.crate", - "sha256": "afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb", - "dest": "cargo/vendor/wgpu-types-27.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb\", \"files\": {}}", - "dest": "cargo/vendor/wgpu-types-27.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/whoami/whoami-1.6.1.crate", - "sha256": "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d", - "dest": "cargo/vendor/whoami-1.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d\", \"files\": {}}", - "dest": "cargo/vendor/whoami-1.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/winapi/winapi-0.3.9.crate", - "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", - "dest": "cargo/vendor/winapi-0.3.9" - }, - { - "type": "inline", - "contents": "{\"package\": \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\", \"files\": {}}", - "dest": "cargo/vendor/winapi-0.3.9", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate", - "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", - "dest": "cargo/vendor/winapi-i686-pc-windows-gnu-0.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\", \"files\": {}}", - "dest": "cargo/vendor/winapi-i686-pc-windows-gnu-0.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/winapi-util/winapi-util-0.1.11.crate", - "sha256": "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22", - "dest": "cargo/vendor/winapi-util-0.1.11" - }, - { - "type": "inline", - "contents": "{\"package\": \"c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22\", \"files\": {}}", - "dest": "cargo/vendor/winapi-util-0.1.11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate", - "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", - "dest": "cargo/vendor/winapi-x86_64-pc-windows-gnu-0.4.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\", \"files\": {}}", - "dest": "cargo/vendor/winapi-x86_64-pc-windows-gnu-0.4.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/window_clipboard-f68595e/.\" \"cargo/vendor/window_clipboard\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nname = \"window_clipboard\"\nversion = \"0.4.1\"\nauthors = [\"H\u00e9ctor Ram\u00f3n Jim\u00e9nez \"]\nedition = \"2021\"\ndescription = \"A library to obtain clipboard access from a `raw-window-handle`\"\nlicense = \"MIT\"\nrepository = \"https://github.com/hecrj/window_clipboard\"\ndocumentation = \"https://docs.rs/window_clipboard\"\nreadme = \"README.md\"\nkeywords = [\"clipboard\", \"window\", \"ui\", \"gui\", \"raw-window-handle\"]\ncategories = [\"gui\"]\n\n[dependencies]\nthiserror = \"1.0\"\n\n[dependencies.raw-window-handle]\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.mime]\npath = \"./mime\"\n\n[dependencies.dnd]\npath = \"./dnd\"\n\n[target.\"cfg(windows)\".dependencies.clipboard-win]\nversion = \"5.0\"\nfeatures = [\"std\"]\n\n[target.\"cfg(target_os = \\\"macos\\\")\".dependencies.clipboard_macos]\nversion = \"0.1\"\npath = \"./macos\"\n\n[target.\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\", target_os=\\\"ios\\\", target_os=\\\"redox\\\"))))\".dependencies.clipboard_x11]\nversion = \"0.4.2\"\npath = \"./x11\"\n\n[target.\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\", target_os=\\\"ios\\\", target_os=\\\"redox\\\"))))\".dependencies.clipboard_wayland]\nversion = \"0.2.2\"\npath = \"./wayland\"\n\n[dev-dependencies]\nrand = \"0.8\"\nwinit = \"0.29\"\n\n[workspace]\nmembers = [\"dnd\", \"macos\", \"mime\", \"dnd\", \"wayland\", \"x11\"]\n", - "dest": "cargo/vendor/window_clipboard", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/window_clipboard", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows/windows-0.58.0.crate", - "sha256": "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6", - "dest": "cargo/vendor/windows-0.58.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6\", \"files\": {}}", - "dest": "cargo/vendor/windows-0.58.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows/windows-0.61.3.crate", - "sha256": "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893", - "dest": "cargo/vendor/windows-0.61.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\", \"files\": {}}", - "dest": "cargo/vendor/windows-0.61.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-collections/windows-collections-0.2.0.crate", - "sha256": "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8", - "dest": "cargo/vendor/windows-collections-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\", \"files\": {}}", - "dest": "cargo/vendor/windows-collections-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-core/windows-core-0.58.0.crate", - "sha256": "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99", - "dest": "cargo/vendor/windows-core-0.58.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99\", \"files\": {}}", - "dest": "cargo/vendor/windows-core-0.58.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-core/windows-core-0.61.2.crate", - "sha256": "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3", - "dest": "cargo/vendor/windows-core-0.61.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\", \"files\": {}}", - "dest": "cargo/vendor/windows-core-0.61.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-core/windows-core-0.62.2.crate", - "sha256": "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb", - "dest": "cargo/vendor/windows-core-0.62.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb\", \"files\": {}}", - "dest": "cargo/vendor/windows-core-0.62.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-future/windows-future-0.2.1.crate", - "sha256": "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e", - "dest": "cargo/vendor/windows-future-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\", \"files\": {}}", - "dest": "cargo/vendor/windows-future-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-implement/windows-implement-0.58.0.crate", - "sha256": "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b", - "dest": "cargo/vendor/windows-implement-0.58.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b\", \"files\": {}}", - "dest": "cargo/vendor/windows-implement-0.58.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-implement/windows-implement-0.60.2.crate", - "sha256": "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf", - "dest": "cargo/vendor/windows-implement-0.60.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\", \"files\": {}}", - "dest": "cargo/vendor/windows-implement-0.60.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-interface/windows-interface-0.58.0.crate", - "sha256": "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515", - "dest": "cargo/vendor/windows-interface-0.58.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515\", \"files\": {}}", - "dest": "cargo/vendor/windows-interface-0.58.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-interface/windows-interface-0.59.3.crate", - "sha256": "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358", - "dest": "cargo/vendor/windows-interface-0.59.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\", \"files\": {}}", - "dest": "cargo/vendor/windows-interface-0.59.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-link/windows-link-0.1.3.crate", - "sha256": "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a", - "dest": "cargo/vendor/windows-link-0.1.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\", \"files\": {}}", - "dest": "cargo/vendor/windows-link-0.1.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-link/windows-link-0.2.1.crate", - "sha256": "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5", - "dest": "cargo/vendor/windows-link-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\", \"files\": {}}", - "dest": "cargo/vendor/windows-link-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-numerics/windows-numerics-0.2.0.crate", - "sha256": "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1", - "dest": "cargo/vendor/windows-numerics-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\", \"files\": {}}", - "dest": "cargo/vendor/windows-numerics-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-registry/windows-registry-0.6.1.crate", - "sha256": "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720", - "dest": "cargo/vendor/windows-registry-0.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720\", \"files\": {}}", - "dest": "cargo/vendor/windows-registry-0.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-result/windows-result-0.2.0.crate", - "sha256": "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e", - "dest": "cargo/vendor/windows-result-0.2.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e\", \"files\": {}}", - "dest": "cargo/vendor/windows-result-0.2.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-result/windows-result-0.3.4.crate", - "sha256": "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6", - "dest": "cargo/vendor/windows-result-0.3.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\", \"files\": {}}", - "dest": "cargo/vendor/windows-result-0.3.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-result/windows-result-0.4.1.crate", - "sha256": "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5", - "dest": "cargo/vendor/windows-result-0.4.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\", \"files\": {}}", - "dest": "cargo/vendor/windows-result-0.4.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-strings/windows-strings-0.1.0.crate", - "sha256": "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10", - "dest": "cargo/vendor/windows-strings-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10\", \"files\": {}}", - "dest": "cargo/vendor/windows-strings-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-strings/windows-strings-0.4.2.crate", - "sha256": "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57", - "dest": "cargo/vendor/windows-strings-0.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\", \"files\": {}}", - "dest": "cargo/vendor/windows-strings-0.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-strings/windows-strings-0.5.1.crate", - "sha256": "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091", - "dest": "cargo/vendor/windows-strings-0.5.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091\", \"files\": {}}", - "dest": "cargo/vendor/windows-strings-0.5.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-sys/windows-sys-0.45.0.crate", - "sha256": "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0", - "dest": "cargo/vendor/windows-sys-0.45.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0\", \"files\": {}}", - "dest": "cargo/vendor/windows-sys-0.45.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-sys/windows-sys-0.48.0.crate", - "sha256": "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9", - "dest": "cargo/vendor/windows-sys-0.48.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\", \"files\": {}}", - "dest": "cargo/vendor/windows-sys-0.48.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-sys/windows-sys-0.52.0.crate", - "sha256": "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d", - "dest": "cargo/vendor/windows-sys-0.52.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d\", \"files\": {}}", - "dest": "cargo/vendor/windows-sys-0.52.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-sys/windows-sys-0.59.0.crate", - "sha256": "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b", - "dest": "cargo/vendor/windows-sys-0.59.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\", \"files\": {}}", - "dest": "cargo/vendor/windows-sys-0.59.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-sys/windows-sys-0.60.2.crate", - "sha256": "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb", - "dest": "cargo/vendor/windows-sys-0.60.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb\", \"files\": {}}", - "dest": "cargo/vendor/windows-sys-0.60.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-sys/windows-sys-0.61.2.crate", - "sha256": "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc", - "dest": "cargo/vendor/windows-sys-0.61.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\", \"files\": {}}", - "dest": "cargo/vendor/windows-sys-0.61.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-targets/windows-targets-0.42.2.crate", - "sha256": "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071", - "dest": "cargo/vendor/windows-targets-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071\", \"files\": {}}", - "dest": "cargo/vendor/windows-targets-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-targets/windows-targets-0.48.5.crate", - "sha256": "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c", - "dest": "cargo/vendor/windows-targets-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\", \"files\": {}}", - "dest": "cargo/vendor/windows-targets-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-targets/windows-targets-0.52.6.crate", - "sha256": "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973", - "dest": "cargo/vendor/windows-targets-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\", \"files\": {}}", - "dest": "cargo/vendor/windows-targets-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-targets/windows-targets-0.53.5.crate", - "sha256": "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3", - "dest": "cargo/vendor/windows-targets-0.53.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3\", \"files\": {}}", - "dest": "cargo/vendor/windows-targets-0.53.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows-threading/windows-threading-0.1.0.crate", - "sha256": "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6", - "dest": "cargo/vendor/windows-threading-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\", \"files\": {}}", - "dest": "cargo/vendor/windows-threading-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.42.2.crate", - "sha256": "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.48.5.crate", - "sha256": "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.52.6.crate", - "sha256": "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.53.1.crate", - "sha256": "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_gnullvm-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.42.2.crate", - "sha256": "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43", - "dest": "cargo/vendor/windows_aarch64_msvc-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_msvc-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.48.5.crate", - "sha256": "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc", - "dest": "cargo/vendor/windows_aarch64_msvc-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_msvc-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.52.6.crate", - "sha256": "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469", - "dest": "cargo/vendor/windows_aarch64_msvc-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_msvc-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.53.1.crate", - "sha256": "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006", - "dest": "cargo/vendor/windows_aarch64_msvc-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006\", \"files\": {}}", - "dest": "cargo/vendor/windows_aarch64_msvc-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_gnu/windows_i686_gnu-0.42.2.crate", - "sha256": "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f", - "dest": "cargo/vendor/windows_i686_gnu-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_gnu-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_gnu/windows_i686_gnu-0.48.5.crate", - "sha256": "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e", - "dest": "cargo/vendor/windows_i686_gnu-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_gnu-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_gnu/windows_i686_gnu-0.52.6.crate", - "sha256": "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b", - "dest": "cargo/vendor/windows_i686_gnu-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_gnu-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_gnu/windows_i686_gnu-0.53.1.crate", - "sha256": "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3", - "dest": "cargo/vendor/windows_i686_gnu-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_gnu-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_gnullvm/windows_i686_gnullvm-0.52.6.crate", - "sha256": "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66", - "dest": "cargo/vendor/windows_i686_gnullvm-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_gnullvm-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_gnullvm/windows_i686_gnullvm-0.53.1.crate", - "sha256": "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c", - "dest": "cargo/vendor/windows_i686_gnullvm-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_gnullvm-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_msvc/windows_i686_msvc-0.42.2.crate", - "sha256": "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060", - "dest": "cargo/vendor/windows_i686_msvc-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_msvc-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_msvc/windows_i686_msvc-0.48.5.crate", - "sha256": "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406", - "dest": "cargo/vendor/windows_i686_msvc-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_msvc-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_msvc/windows_i686_msvc-0.52.6.crate", - "sha256": "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66", - "dest": "cargo/vendor/windows_i686_msvc-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_msvc-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_i686_msvc/windows_i686_msvc-0.53.1.crate", - "sha256": "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2", - "dest": "cargo/vendor/windows_i686_msvc-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2\", \"files\": {}}", - "dest": "cargo/vendor/windows_i686_msvc-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.42.2.crate", - "sha256": "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36", - "dest": "cargo/vendor/windows_x86_64_gnu-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnu-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.48.5.crate", - "sha256": "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e", - "dest": "cargo/vendor/windows_x86_64_gnu-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnu-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.52.6.crate", - "sha256": "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78", - "dest": "cargo/vendor/windows_x86_64_gnu-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnu-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.53.1.crate", - "sha256": "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499", - "dest": "cargo/vendor/windows_x86_64_gnu-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnu-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.42.2.crate", - "sha256": "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.48.5.crate", - "sha256": "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.52.6.crate", - "sha256": "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.53.1.crate", - "sha256": "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_gnullvm-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.42.2.crate", - "sha256": "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0", - "dest": "cargo/vendor/windows_x86_64_msvc-0.42.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_msvc-0.42.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.48.5.crate", - "sha256": "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538", - "dest": "cargo/vendor/windows_x86_64_msvc-0.48.5" - }, - { - "type": "inline", - "contents": "{\"package\": \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_msvc-0.48.5", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.52.6.crate", - "sha256": "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec", - "dest": "cargo/vendor/windows_x86_64_msvc-0.52.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_msvc-0.52.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.53.1.crate", - "sha256": "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650", - "dest": "cargo/vendor/windows_x86_64_msvc-0.53.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650\", \"files\": {}}", - "dest": "cargo/vendor/windows_x86_64_msvc-0.53.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit\" \"cargo/vendor/winit\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ncategories = [\"gui\"]\ndescription = \"Cross-platform window creation library.\"\ndocumentation = \"https://docs.rs/winit\"\nedition = \"2024\"\nkeywords = [\"windowing\"]\nlicense = \"Apache-2.0\"\nname = \"winit\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nfeatures = [\"serde\", \"mint\", \"android-native-activity\"]\nrustdoc-args = [\"--cfg\", \"docsrs\"]\ntargets = [\"i686-pc-windows-msvc\", \"x86_64-pc-windows-msvc\", \"aarch64-apple-darwin\", \"x86_64-apple-darwin\", \"i686-unknown-linux-gnu\", \"x86_64-unknown-linux-gnu\", \"aarch64-apple-ios\", \"aarch64-linux-android\", \"wasm32-unknown-unknown\"]\n\n[features]\ndefault = [\"x11\", \"wayland\", \"wayland-dlopen\", \"wayland-csd-adwaita\"]\nandroid-game-activity = [\"winit-android/game-activity\"]\nandroid-native-activity = [\"winit-android/native-activity\"]\nmint = [\"dpi/mint\"]\nserde = [\"dep:serde\", \"cursor-icon/serde\", \"smol_str/serde\", \"dpi/serde\", \"bitflags/serde\", \"winit-core/serde\", \"winit-uikit/serde\"]\nwayland = [\"winit-wayland\"]\nwayland-csd-adwaita = [\"winit-wayland/csd-adwaita\"]\nwayland-csd-adwaita-crossfont = [\"winit-wayland/csd-adwaita-crossfont\"]\nwayland-csd-adwaita-notitle = [\"winit-wayland/csd-adwaita-notitle\"]\nwayland-csd-adwaita-notitlebar = [\"winit-wayland/csd-adwaita-notitlebar\"]\nwayland-dlopen = [\"winit-wayland/dlopen\"]\nx11 = [\"winit-x11\"]\n\n[build-dependencies]\ncfg_aliases = \"0.2.1\"\n\n[dependencies]\nbitflags = \"2\"\ncursor-icon = \"1.1.0\"\nsmol_str = \"0.3\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[dev-dependencies.image]\nfeatures = [\"png\"]\nversion = \"0.25.0\"\ndefault-features = false\n\n[dev-dependencies.tracing]\nfeatures = [\"log\"]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dev-dependencies.tracing-subscriber]\nfeatures = [\"env-filter\"]\nversion = \"0.3.18\"\n\n[target.\"cfg(not(target_os = \\\"android\\\"))\".dev-dependencies.softbuffer]\nversion = \"0.4.6\"\ndefault-features = false\nfeatures = [\"x11\", \"x11-dlopen\", \"wayland\", \"wayland-dlopen\"]\n\n[target.\"cfg(target_os = \\\"android\\\")\".dependencies.winit-android]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-android\"\n\n[target.\"cfg(target_os = \\\"macos\\\")\".dependencies.winit-appkit]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-appkit\"\n\n[target.\"cfg(all(target_vendor = \\\"apple\\\", not(target_os = \\\"macos\\\")))\".dependencies.winit-uikit]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-uikit\"\n\n[target.\"cfg(target_os = \\\"windows\\\")\".dependencies.winit-win32]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-win32\"\n\n[target.\"cfg(all(unix, not(any(target_os = \\\"redox\\\", target_family = \\\"wasm\\\", target_os = \\\"android\\\", target_vendor = \\\"apple\\\"))))\".dependencies]\nlibc = \"0.2.64\"\n\n[target.\"cfg(all(unix, not(any(target_os = \\\"redox\\\", target_family = \\\"wasm\\\", target_os = \\\"android\\\", target_vendor = \\\"apple\\\"))))\".dependencies.rustix]\nfeatures = [\"std\", \"thread\"]\nversion = \"1.0.7\"\ndefault-features = false\n\n[target.\"cfg(all(unix, not(any(target_os = \\\"redox\\\", target_family = \\\"wasm\\\", target_os = \\\"android\\\", target_vendor = \\\"apple\\\"))))\".dependencies.winit-common]\nfeatures = [\"xkb\"]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-common\"\n\n[target.\"cfg(all(unix, not(any(target_os = \\\"redox\\\", target_family = \\\"wasm\\\", target_os = \\\"android\\\", target_vendor = \\\"apple\\\"))))\".dependencies.winit-wayland]\noptional = true\ndefault-features = false\nversion = \"=0.31.0-beta.2\"\npath = \"winit-wayland\"\n\n[target.\"cfg(all(unix, not(any(target_os = \\\"redox\\\", target_family = \\\"wasm\\\", target_os = \\\"android\\\", target_vendor = \\\"apple\\\"))))\".dependencies.winit-x11]\noptional = true\nversion = \"=0.31.0-beta.2\"\npath = \"winit-x11\"\n\n[target.\"cfg(target_os = \\\"redox\\\")\".dependencies.winit-orbital]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-orbital\"\n\n[target.\"cfg(target_family = \\\"wasm\\\")\".dependencies.winit-web]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-web\"\n\n[target.\"cfg(target_family = \\\"wasm\\\")\".dev-dependencies]\nconsole_error_panic_hook = \"0.1\"\ntracing-web = \"0.1\"\nwasm-bindgen-futures = \"0.4.43\"\nwasm-bindgen-test = \"0.3\"\nweb-time = \"1\"\n", - "dest": "cargo/vendor/winit", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-android\" \"cargo/vendor/winit-android\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's Android backend\"\ndocumentation = \"https://docs.rs/winit-android\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-android\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nfeatures = [\"serde\", \"native-activity\"]\ntargets = [\"aarch64-linux-android\"]\n\n[features]\ngame-activity = [\"android-activity/game-activity\"]\nnative-activity = [\"android-activity/native-activity\"]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\", \"winit-core/serde\"]\n\n[dependencies]\nbitflags = \"2\"\nsmol_str = \"0.3\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[target.\"cfg(target_os = \\\"android\\\")\".dependencies]\nandroid-activity = \"0.6.0\"\n\n[target.\"cfg(target_os = \\\"android\\\")\".dependencies.ndk]\nversion = \"0.9.0\"\nfeatures = [\"rwh_06\"]\ndefault-features = false\n\n[dev-dependencies.winit]\npath = \"winit\"\n", - "dest": "cargo/vendor/winit-android", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-android", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-appkit\" \"cargo/vendor/winit-appkit\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's Appkit / macOS backend\"\ndocumentation = \"https://docs.rs/winit-appkit\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-appkit\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nall-features = true\ntargets = [\"aarch64-apple-darwin\", \"x86_64-apple-darwin\"]\n\n[features]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\"]\n\n[dependencies]\nbitflags = \"2\"\nsmol_str = \"0.3\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies]\nblock2 = \"0.6.1\"\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.dispatch2]\nfeatures = [\"std\", \"objc2\", \"std\", \"objc2\"]\nversion = \"0.3.0\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2]\nversion = \"0.6.1\"\nfeatures = [\"relax-sign-encoding\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-app-kit]\nfeatures = [\"std\", \"objc2-core-foundation\", \"NSAppearance\", \"NSApplication\", \"NSBitmapImageRep\", \"NSButton\", \"NSColor\", \"NSControl\", \"NSCursor\", \"NSDragging\", \"NSEvent\", \"NSGraphics\", \"NSGraphicsContext\", \"NSImage\", \"NSImageRep\", \"NSMenu\", \"NSMenuItem\", \"NSOpenGLView\", \"NSPanel\", \"NSPasteboard\", \"NSResponder\", \"NSRunningApplication\", \"NSScreen\", \"NSTextInputClient\", \"NSTextInputContext\", \"NSToolbar\", \"NSView\", \"NSWindow\", \"NSWindowScripting\", \"NSWindowTabGroup\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-core-foundation]\nfeatures = [\"std\", \"block2\", \"CFBase\", \"CFCGTypes\", \"CFData\", \"CFRunLoop\", \"CFString\", \"CFUUID\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-core-graphics]\nfeatures = [\"std\", \"libc\", \"CGDirectDisplay\", \"CGDisplayConfiguration\", \"CGDisplayFade\", \"CGError\", \"CGRemoteOperation\", \"CGWindowLevel\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-core-video]\nfeatures = [\"std\", \"objc2-core-graphics\", \"CVBase\", \"CVReturn\", \"CVDisplayLink\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-foundation]\nfeatures = [\"std\", \"block2\", \"objc2-core-foundation\", \"NSArray\", \"NSAttributedString\", \"NSData\", \"NSDictionary\", \"NSDistributedNotificationCenter\", \"NSEnumerator\", \"NSGeometry\", \"NSKeyValueObserving\", \"NSNotification\", \"NSObjCRuntime\", \"NSOperation\", \"NSPathUtilities\", \"NSProcessInfo\", \"NSRunLoop\", \"NSString\", \"NSThread\", \"NSValue\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.winit-common]\nfeatures = [\"core-foundation\", \"event-handler\"]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-common\"\n\n[dev-dependencies.winit]\npath = \"winit\"\n", - "dest": "cargo/vendor/winit-appkit", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-appkit", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-common\" \"cargo/vendor/winit-common\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit implementation helpers\"\ndocumentation = \"https://docs.rs/winit-common\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-common\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nall-features = true\n\n[features]\nevent-handler = []\nwayland = [\"dep:memmap2\"]\nx11 = [\"xkbcommon-dl?/x11\", \"dep:x11-dl\"]\nxkb = [\"dep:xkbcommon-dl\", \"dep:smol_str\"]\ncore-foundation = [\"dep:objc2\", \"dep:objc2-core-foundation\"]\n\n[dependencies.smol_str]\noptional = true\nversion = \"0.3\"\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[dependencies.memmap2]\noptional = true\nversion = \"0.9.0\"\n\n[dependencies.x11-dl]\noptional = true\nversion = \"2.19.1\"\n\n[dependencies.xkbcommon-dl]\noptional = true\nversion = \"0.4.2\"\n\n[dependencies.objc2]\noptional = true\nversion = \"0.6.1\"\nfeatures = [\"relax-sign-encoding\"]\n\n[dependencies.objc2-core-foundation]\noptional = true\nfeatures = [\"std\", \"CFRunLoop\", \"CFString\"]\nversion = \"0.3.2\"\ndefault-features = false\n", - "dest": "cargo/vendor/winit-common", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-common", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-core\" \"cargo/vendor/winit-core\"" - ] - }, - { - "type": "inline", - "contents": "[package]\nauthors = [\"The winit contributors\", \"Kirill Chibisov \"]\ncategories = [\"gui\"]\ndescription = \"winit core API.\"\ndocumentation = \"https://docs.rs/winit-core\"\nedition = \"2024\"\nkeywords = [\"windowing\"]\nlicense = \"Apache-2.0\"\nname = \"winit-core\"\nreadme = \"README.md\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[features]\nserde = [\"dep:serde\", \"bitflags/serde\", \"cursor-icon/serde\", \"dpi/serde\", \"keyboard-types/serde\", \"smol_str/serde\"]\n\n[dependencies]\nbitflags = \"2\"\ncursor-icon = \"1.1.0\"\nkeyboard-types = \"0.8.0\"\nsmol_str = \"0.3\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[target.\"cfg(all(target_family = \\\"wasm\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\".dependencies]\nweb-time = \"1\"\n\n[dev-dependencies.winit]\npath = \"winit\"\n", - "dest": "cargo/vendor/winit-core", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-core", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-orbital\" \"cargo/vendor/winit-orbital\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's Orbital/Redox backend\"\ndocumentation = \"https://docs.rs/winit-orbital\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-orbital\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[features]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\"]\n\n[dependencies]\nbitflags = \"2\"\nsmol_str = \"0.3\"\nredox_syscall = \"0.7\"\nlibredox = \"0.1.12\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[dependencies.orbclient]\nversion = \"0.3.47\"\ndefault-features = false\n", - "dest": "cargo/vendor/winit-orbital", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-orbital", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-uikit\" \"cargo/vendor/winit-uikit\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's UIKit (iOS/tvOS/visionOS) backend\"\ndocumentation = \"https://docs.rs/winit-uikit\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-uikit\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nall-features = true\ntargets = [\"aarch64-apple-ios\", \"aarch64-apple-ios-macabi\"]\n\n[features]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\"]\n\n[dependencies]\nbitflags = \"2\"\nsmol_str = \"0.3\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies]\nblock2 = \"0.6.1\"\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.dispatch2]\nversion = \"0.3.0\"\ndefault-features = false\nfeatures = [\"std\", \"objc2\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2]\nversion = \"0.6.1\"\nfeatures = [\"relax-sign-encoding\"]\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-core-foundation]\nfeatures = [\"std\", \"CFCGTypes\", \"CFBase\", \"CFRunLoop\", \"CFString\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-foundation]\nfeatures = [\"std\", \"block2\", \"objc2-core-foundation\", \"NSArray\", \"NSEnumerator\", \"NSGeometry\", \"NSObjCRuntime\", \"NSOperation\", \"NSString\", \"NSThread\", \"NSSet\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.objc2-ui-kit]\nfeatures = [\"std\", \"objc2-core-foundation\", \"UIApplication\", \"UIDevice\", \"UIEvent\", \"UIGeometry\", \"UIGestureRecognizer\", \"UITextInput\", \"UITextInputTraits\", \"UIOrientation\", \"UIPanGestureRecognizer\", \"UIPinchGestureRecognizer\", \"UIResponder\", \"UIRotationGestureRecognizer\", \"UIScreen\", \"UIScreenMode\", \"UITapGestureRecognizer\", \"UITouch\", \"UITraitCollection\", \"UIView\", \"UIViewController\", \"UIWindow\"]\nversion = \"0.3.2\"\ndefault-features = false\n\n[target.\"cfg(target_vendor = \\\"apple\\\")\".dependencies.winit-common]\nfeatures = [\"core-foundation\", \"event-handler\"]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-common\"\n", - "dest": "cargo/vendor/winit-uikit", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-uikit", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-wayland\" \"cargo/vendor/winit-wayland\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's Wayland backend\"\ndocumentation = \"https://docs.rs/winit-wayland\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-wayland\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nfeatures = [\"dlopen\", \"serde\", \"csd-adwaita\"]\n\n[features]\ndefault = [\"dlopen\", \"csd-adwaita\"]\ncsd-adwaita = [\"sctk-adwaita\", \"sctk-adwaita/ab_glyph\"]\ncsd-adwaita-crossfont = [\"sctk-adwaita\", \"sctk-adwaita/crossfont\"]\ncsd-adwaita-notitle = [\"sctk-adwaita\"]\ncsd-adwaita-notitlebar = [\"csd-adwaita-notitle\"]\ndlopen = [\"wayland-backend/dlopen\"]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\"]\n\n[dependencies]\nbitflags = \"2\"\ncursor-icon = \"1.1.0\"\nsmol_str = \"0.3\"\ncalloop = \"0.14.3\"\nlibc = \"0.2.64\"\nmemmap2 = \"0.9.0\"\nwayland-client = \"0.31.10\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[dependencies.ahash]\nversion = \"0.8.7\"\nfeatures = [\"no-rng\"]\n\n[dependencies.rustix]\nfeatures = [\"std\", \"system\", \"thread\", \"process\", \"event\", \"pipe\"]\nversion = \"1.0.7\"\ndefault-features = false\n\n[dependencies.sctk]\npackage = \"smithay-client-toolkit\"\nversion = \"0.20.0\"\ndefault-features = false\nfeatures = [\"calloop\"]\n\n[dependencies.sctk-adwaita]\nversion = \"0.11.0\"\ndefault-features = false\noptional = true\n\n[dependencies.wayland-backend]\nversion = \"0.3.10\"\ndefault-features = false\nfeatures = [\"client_system\"]\n\n[dependencies.wayland-protocols]\nversion = \"0.32.8\"\nfeatures = [\"staging\"]\n\n[dependencies.wayland-protocols-plasma]\nversion = \"0.3.8\"\nfeatures = [\"client\"]\n\n[dependencies.winit-common]\nfeatures = [\"xkb\", \"wayland\"]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-common\"\n", - "dest": "cargo/vendor/winit-wayland", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-wayland", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-web\" \"cargo/vendor/winit-web\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's Web (WebAssembly) backend\"\ndocumentation = \"https://docs.rs/winit-web\"\nedition = \"2024\"\ninclude = [\"/src\", \"!/src/platform_impl/web/script\", \"/src/platform_impl/web/script/**/*.min.js\", \"README.md\"]\nlicense = \"Apache-2.0\"\nname = \"winit-web\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nall-features = true\ntargets = [\"wasm32-unknown-unknown\"]\n\n[features]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\"]\n\n[dependencies]\nbitflags = \"2\"\ncursor-icon = \"1.1.0\"\nsmol_str = \"0.3\"\njs-sys = \"0.3.70\"\npin-project = \"1\"\nwasm-bindgen = \"0.2.93\"\nwasm-bindgen-futures = \"0.4.43\"\nweb-time = \"1\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[dependencies.web_sys]\nfeatures = [\"AbortController\", \"AbortSignal\", \"Blob\", \"BlobPropertyBag\", \"console\", \"CssStyleDeclaration\", \"Document\", \"DomException\", \"DomRect\", \"DomRectReadOnly\", \"Element\", \"Event\", \"EventTarget\", \"FocusEvent\", \"HtmlCanvasElement\", \"HtmlElement\", \"HtmlHtmlElement\", \"HtmlImageElement\", \"ImageBitmap\", \"ImageBitmapOptions\", \"ImageBitmapRenderingContext\", \"ImageData\", \"IntersectionObserver\", \"IntersectionObserverEntry\", \"KeyboardEvent\", \"MediaQueryList\", \"MessageChannel\", \"MessagePort\", \"Navigator\", \"Node\", \"OrientationLockType\", \"OrientationType\", \"PageTransitionEvent\", \"Permissions\", \"PermissionState\", \"PermissionStatus\", \"PointerEvent\", \"PremultiplyAlpha\", \"ResizeObserver\", \"ResizeObserverBoxOptions\", \"ResizeObserverEntry\", \"ResizeObserverOptions\", \"ResizeObserverSize\", \"Screen\", \"ScreenOrientation\", \"Url\", \"VisibilityState\", \"WheelEvent\", \"Window\", \"Worker\"]\npackage = \"web-sys\"\nversion = \"0.3.70\"\n\n[target.\"cfg(target_feature = \\\"atomics\\\")\".dependencies]\natomic-waker = \"1\"\n\n[target.\"cfg(target_feature = \\\"atomics\\\")\".dependencies.concurrent-queue]\nversion = \"2\"\ndefault-features = false\n", - "dest": "cargo/vendor/winit-web", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-web", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-win32\" \"cargo/vendor/winit-win32\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's Win32/Windows backend\"\ndocumentation = \"https://docs.rs/winit-win32\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-win32\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nall-features = true\ntargets = [\"x86_64-pc-windows-msvc\"]\n\n[features]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\", \"winit-core/serde\"]\n\n[dependencies]\nbitflags = \"2\"\ncursor-icon = \"1.1.0\"\nsmol_str = \"0.3\"\nunicode-segmentation = \"1.7.1\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[dependencies.windows-sys]\nfeatures = [\"Win32_Devices_HumanInterfaceDevice\", \"Win32_Foundation\", \"Win32_Globalization\", \"Win32_Graphics_Dwm\", \"Win32_Graphics_Gdi\", \"Win32_Media\", \"Win32_System_Com_StructuredStorage\", \"Win32_System_Com\", \"Win32_System_LibraryLoader\", \"Win32_System_Ole\", \"Win32_Security\", \"Win32_System_SystemInformation\", \"Win32_System_SystemServices\", \"Win32_System_Threading\", \"Win32_System_WindowsProgramming\", \"Win32_UI_Accessibility\", \"Win32_UI_Controls\", \"Win32_UI_HiDpi\", \"Win32_UI_Input_Ime\", \"Win32_UI_Input_KeyboardAndMouse\", \"Win32_UI_Input_Pointer\", \"Win32_UI_Input_Touch\", \"Win32_UI_Shell\", \"Win32_UI_TextServices\", \"Win32_UI_WindowsAndMessaging\"]\nversion = \"0.59.0\"\n\n[dev-dependencies.winit]\npath = \"winit\"\n", - "dest": "cargo/vendor/winit-win32", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-win32", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "shell", - "commands": [ - "cp -r --reflink=auto \"flatpak-cargo/git/winit-a610ac9/winit-x11\" \"cargo/vendor/winit-x11\"" - ] - }, - { - "type": "inline", - "contents": "[package]\ndescription = \"Winit's X11 backend\"\ndocumentation = \"https://docs.rs/winit-x11\"\nedition = \"2024\"\nlicense = \"Apache-2.0\"\nname = \"winit-x11\"\nrepository = \"https://github.com/rust-windowing/winit\"\nrust-version = \"1.85\"\nversion = \"0.31.0-beta.2\"\n\n[package.metadata.docs.rs]\nall-features = true\n\n[features]\nserde = [\"dep:serde\", \"bitflags/serde\", \"smol_str/serde\", \"dpi/serde\"]\n\n[dependencies]\nbitflags = \"2\"\ncursor-icon = \"1.1.0\"\nsmol_str = \"0.3\"\ncalloop = \"0.14.3\"\nlibc = \"0.2.64\"\npercent-encoding = \"2.0\"\nx11-dl = \"2.19.1\"\n\n[dependencies.dpi]\nversion = \"0.1.2\"\npath = \"dpi\"\n\n[dependencies.rwh_06]\npackage = \"raw-window-handle\"\nversion = \"0.6\"\nfeatures = [\"std\"]\n\n[dependencies.serde]\noptional = true\nversion = \"1\"\nfeatures = [\"serde_derive\"]\n\n[dependencies.tracing]\nversion = \"0.1.40\"\ndefault-features = false\n\n[dependencies.winit-core]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-core\"\n\n[dependencies.bytemuck]\nversion = \"1.13.1\"\ndefault-features = false\n\n[dependencies.rustix]\nfeatures = [\"std\", \"system\", \"thread\", \"process\"]\nversion = \"1.0.7\"\ndefault-features = false\n\n[dependencies.winit-common]\nfeatures = [\"xkb\", \"x11\"]\nversion = \"=0.31.0-beta.2\"\npath = \"winit-common\"\n\n[dependencies.x11rb]\nfeatures = [\"allow-unsafe-code\", \"cursor\", \"dl-libxcb\", \"randr\", \"resource_manager\", \"sync\", \"xinput\", \"xkb\"]\nversion = \"0.13.0\"\ndefault-features = false\n\n[dependencies.xkbcommon-dl]\nfeatures = [\"x11\"]\nversion = \"0.4.2\"\n\n[dev-dependencies.winit]\npath = \"winit\"\n", - "dest": "cargo/vendor/winit-x11", - "dest-filename": "Cargo.toml" - }, - { - "type": "inline", - "contents": "{\"package\": null, \"files\": {}}", - "dest": "cargo/vendor/winit-x11", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/winnow/winnow-0.7.15.crate", - "sha256": "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945", - "dest": "cargo/vendor/winnow-0.7.15" - }, - { - "type": "inline", - "contents": "{\"package\": \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\", \"files\": {}}", - "dest": "cargo/vendor/winnow-0.7.15", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/winnow/winnow-1.0.1.crate", - "sha256": "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5", - "dest": "cargo/vendor/winnow-1.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5\", \"files\": {}}", - "dest": "cargo/vendor/winnow-1.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wio/wio-0.2.2.crate", - "sha256": "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5", - "dest": "cargo/vendor/wio-0.2.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5\", \"files\": {}}", - "dest": "cargo/vendor/wio-0.2.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wit-bindgen/wit-bindgen-0.51.0.crate", - "sha256": "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5", - "dest": "cargo/vendor/wit-bindgen-0.51.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5\", \"files\": {}}", - "dest": "cargo/vendor/wit-bindgen-0.51.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wit-bindgen-core/wit-bindgen-core-0.51.0.crate", - "sha256": "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc", - "dest": "cargo/vendor/wit-bindgen-core-0.51.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc\", \"files\": {}}", - "dest": "cargo/vendor/wit-bindgen-core-0.51.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wit-bindgen-rust/wit-bindgen-rust-0.51.0.crate", - "sha256": "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21", - "dest": "cargo/vendor/wit-bindgen-rust-0.51.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21\", \"files\": {}}", - "dest": "cargo/vendor/wit-bindgen-rust-0.51.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wit-bindgen-rust-macro/wit-bindgen-rust-macro-0.51.0.crate", - "sha256": "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a", - "dest": "cargo/vendor/wit-bindgen-rust-macro-0.51.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a\", \"files\": {}}", - "dest": "cargo/vendor/wit-bindgen-rust-macro-0.51.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wit-component/wit-component-0.244.0.crate", - "sha256": "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2", - "dest": "cargo/vendor/wit-component-0.244.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2\", \"files\": {}}", - "dest": "cargo/vendor/wit-component-0.244.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/wit-parser/wit-parser-0.244.0.crate", - "sha256": "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736", - "dest": "cargo/vendor/wit-parser-0.244.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736\", \"files\": {}}", - "dest": "cargo/vendor/wit-parser-0.244.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/writeable/writeable-0.6.3.crate", - "sha256": "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4", - "dest": "cargo/vendor/writeable-0.6.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4\", \"files\": {}}", - "dest": "cargo/vendor/writeable-0.6.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/x11-dl/x11-dl-2.21.0.crate", - "sha256": "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f", - "dest": "cargo/vendor/x11-dl-2.21.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f\", \"files\": {}}", - "dest": "cargo/vendor/x11-dl-2.21.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/x11rb/x11rb-0.13.2.crate", - "sha256": "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414", - "dest": "cargo/vendor/x11rb-0.13.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414\", \"files\": {}}", - "dest": "cargo/vendor/x11rb-0.13.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/x11rb-protocol/x11rb-protocol-0.13.2.crate", - "sha256": "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd", - "dest": "cargo/vendor/x11rb-protocol-0.13.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd\", \"files\": {}}", - "dest": "cargo/vendor/x11rb-protocol-0.13.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/xattr/xattr-1.6.1.crate", - "sha256": "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156", - "dest": "cargo/vendor/xattr-1.6.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156\", \"files\": {}}", - "dest": "cargo/vendor/xattr-1.6.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/xcursor/xcursor-0.3.10.crate", - "sha256": "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b", - "dest": "cargo/vendor/xcursor-0.3.10" - }, - { - "type": "inline", - "contents": "{\"package\": \"bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b\", \"files\": {}}", - "dest": "cargo/vendor/xcursor-0.3.10", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/xdg/xdg-3.0.0.crate", - "sha256": "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5", - "dest": "cargo/vendor/xdg-3.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5\", \"files\": {}}", - "dest": "cargo/vendor/xdg-3.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/xkbcommon-dl/xkbcommon-dl-0.4.2.crate", - "sha256": "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5", - "dest": "cargo/vendor/xkbcommon-dl-0.4.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5\", \"files\": {}}", - "dest": "cargo/vendor/xkbcommon-dl-0.4.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/xkeysym/xkeysym-0.2.1.crate", - "sha256": "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56", - "dest": "cargo/vendor/xkeysym-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56\", \"files\": {}}", - "dest": "cargo/vendor/xkeysym-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/xml-rs/xml-rs-0.8.28.crate", - "sha256": "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f", - "dest": "cargo/vendor/xml-rs-0.8.28" - }, - { - "type": "inline", - "contents": "{\"package\": \"3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f\", \"files\": {}}", - "dest": "cargo/vendor/xml-rs-0.8.28", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/xmlwriter/xmlwriter-0.1.0.crate", - "sha256": "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9", - "dest": "cargo/vendor/xmlwriter-0.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9\", \"files\": {}}", - "dest": "cargo/vendor/xmlwriter-0.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/y4m/y4m-0.8.0.crate", - "sha256": "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448", - "dest": "cargo/vendor/y4m-0.8.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448\", \"files\": {}}", - "dest": "cargo/vendor/y4m-0.8.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/yansi/yansi-1.0.1.crate", - "sha256": "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049", - "dest": "cargo/vendor/yansi-1.0.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\", \"files\": {}}", - "dest": "cargo/vendor/yansi-1.0.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/yazi/yazi-0.2.1.crate", - "sha256": "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5", - "dest": "cargo/vendor/yazi-0.2.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5\", \"files\": {}}", - "dest": "cargo/vendor/yazi-0.2.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/yeslogic-fontconfig-sys/yeslogic-fontconfig-sys-6.0.0.crate", - "sha256": "503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd", - "dest": "cargo/vendor/yeslogic-fontconfig-sys-6.0.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd\", \"files\": {}}", - "dest": "cargo/vendor/yeslogic-fontconfig-sys-6.0.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/yoke/yoke-0.8.2.crate", - "sha256": "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca", - "dest": "cargo/vendor/yoke-0.8.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca\", \"files\": {}}", - "dest": "cargo/vendor/yoke-0.8.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/yoke-derive/yoke-derive-0.8.2.crate", - "sha256": "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e", - "dest": "cargo/vendor/yoke-derive-0.8.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e\", \"files\": {}}", - "dest": "cargo/vendor/yoke-derive-0.8.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/youtube_dl/youtube_dl-0.10.0.crate", - "sha256": "9689a10ae6a391064930de26cf8a11cf8e844bbfccf2d1f39cd02b10679c14ad", - "dest": "cargo/vendor/youtube_dl-0.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"9689a10ae6a391064930de26cf8a11cf8e844bbfccf2d1f39cd02b10679c14ad\", \"files\": {}}", - "dest": "cargo/vendor/youtube_dl-0.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zbus/zbus-5.14.0.crate", - "sha256": "ca82f95dbd3943a40a53cfded6c2d0a2ca26192011846a1810c4256ef92c60bc", - "dest": "cargo/vendor/zbus-5.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"ca82f95dbd3943a40a53cfded6c2d0a2ca26192011846a1810c4256ef92c60bc\", \"files\": {}}", - "dest": "cargo/vendor/zbus-5.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zbus-lockstep/zbus-lockstep-0.5.2.crate", - "sha256": "6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863", - "dest": "cargo/vendor/zbus-lockstep-0.5.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863\", \"files\": {}}", - "dest": "cargo/vendor/zbus-lockstep-0.5.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zbus-lockstep-macros/zbus-lockstep-macros-0.5.2.crate", - "sha256": "10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0", - "dest": "cargo/vendor/zbus-lockstep-macros-0.5.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0\", \"files\": {}}", - "dest": "cargo/vendor/zbus-lockstep-macros-0.5.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zbus_macros/zbus_macros-5.14.0.crate", - "sha256": "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222", - "dest": "cargo/vendor/zbus_macros-5.14.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222\", \"files\": {}}", - "dest": "cargo/vendor/zbus_macros-5.14.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zbus_names/zbus_names-4.3.1.crate", - "sha256": "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f", - "dest": "cargo/vendor/zbus_names-4.3.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f\", \"files\": {}}", - "dest": "cargo/vendor/zbus_names-4.3.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zbus_xml/zbus_xml-5.1.0.crate", - "sha256": "441a0064125265655bccc3a6af6bef56814d9277ac83fce48b1cd7e160b80eac", - "dest": "cargo/vendor/zbus_xml-5.1.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"441a0064125265655bccc3a6af6bef56814d9277ac83fce48b1cd7e160b80eac\", \"files\": {}}", - "dest": "cargo/vendor/zbus_xml-5.1.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zeno/zeno-0.3.3.crate", - "sha256": "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524", - "dest": "cargo/vendor/zeno-0.3.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524\", \"files\": {}}", - "dest": "cargo/vendor/zeno-0.3.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zerocopy/zerocopy-0.8.48.crate", - "sha256": "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9", - "dest": "cargo/vendor/zerocopy-0.8.48" - }, - { - "type": "inline", - "contents": "{\"package\": \"eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9\", \"files\": {}}", - "dest": "cargo/vendor/zerocopy-0.8.48", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.48.crate", - "sha256": "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4", - "dest": "cargo/vendor/zerocopy-derive-0.8.48" - }, - { - "type": "inline", - "contents": "{\"package\": \"70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4\", \"files\": {}}", - "dest": "cargo/vendor/zerocopy-derive-0.8.48", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zerofrom/zerofrom-0.1.7.crate", - "sha256": "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df", - "dest": "cargo/vendor/zerofrom-0.1.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df\", \"files\": {}}", - "dest": "cargo/vendor/zerofrom-0.1.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zerofrom-derive/zerofrom-derive-0.1.7.crate", - "sha256": "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1", - "dest": "cargo/vendor/zerofrom-derive-0.1.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1\", \"files\": {}}", - "dest": "cargo/vendor/zerofrom-derive-0.1.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zeroize/zeroize-1.8.2.crate", - "sha256": "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0", - "dest": "cargo/vendor/zeroize-1.8.2" - }, - { - "type": "inline", - "contents": "{\"package\": \"b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0\", \"files\": {}}", - "dest": "cargo/vendor/zeroize-1.8.2", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zerotrie/zerotrie-0.2.4.crate", - "sha256": "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf", - "dest": "cargo/vendor/zerotrie-0.2.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf\", \"files\": {}}", - "dest": "cargo/vendor/zerotrie-0.2.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zerovec/zerovec-0.11.6.crate", - "sha256": "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239", - "dest": "cargo/vendor/zerovec-0.11.6" - }, - { - "type": "inline", - "contents": "{\"package\": \"90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239\", \"files\": {}}", - "dest": "cargo/vendor/zerovec-0.11.6", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zerovec-derive/zerovec-derive-0.11.3.crate", - "sha256": "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555", - "dest": "cargo/vendor/zerovec-derive-0.11.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555\", \"files\": {}}", - "dest": "cargo/vendor/zerovec-derive-0.11.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zmij/zmij-1.0.21.crate", - "sha256": "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa", - "dest": "cargo/vendor/zmij-1.0.21" - }, - { - "type": "inline", - "contents": "{\"package\": \"b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa\", \"files\": {}}", - "dest": "cargo/vendor/zmij-1.0.21", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zstd/zstd-0.13.3.crate", - "sha256": "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a", - "dest": "cargo/vendor/zstd-0.13.3" - }, - { - "type": "inline", - "contents": "{\"package\": \"e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a\", \"files\": {}}", - "dest": "cargo/vendor/zstd-0.13.3", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zstd-safe/zstd-safe-7.2.4.crate", - "sha256": "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d", - "dest": "cargo/vendor/zstd-safe-7.2.4" - }, - { - "type": "inline", - "contents": "{\"package\": \"8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d\", \"files\": {}}", - "dest": "cargo/vendor/zstd-safe-7.2.4", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zstd-sys/zstd-sys-2.0.16+zstd.1.5.7.crate", - "sha256": "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748", - "dest": "cargo/vendor/zstd-sys-2.0.16+zstd.1.5.7" - }, - { - "type": "inline", - "contents": "{\"package\": \"91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748\", \"files\": {}}", - "dest": "cargo/vendor/zstd-sys-2.0.16+zstd.1.5.7", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zune-core/zune-core-0.4.12.crate", - "sha256": "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a", - "dest": "cargo/vendor/zune-core-0.4.12" - }, - { - "type": "inline", - "contents": "{\"package\": \"3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a\", \"files\": {}}", - "dest": "cargo/vendor/zune-core-0.4.12", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zune-core/zune-core-0.5.1.crate", - "sha256": "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9", - "dest": "cargo/vendor/zune-core-0.5.1" - }, - { - "type": "inline", - "contents": "{\"package\": \"cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9\", \"files\": {}}", - "dest": "cargo/vendor/zune-core-0.5.1", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zune-inflate/zune-inflate-0.2.54.crate", - "sha256": "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02", - "dest": "cargo/vendor/zune-inflate-0.2.54" - }, - { - "type": "inline", - "contents": "{\"package\": \"73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02\", \"files\": {}}", - "dest": "cargo/vendor/zune-inflate-0.2.54", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zune-jpeg/zune-jpeg-0.4.21.crate", - "sha256": "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713", - "dest": "cargo/vendor/zune-jpeg-0.4.21" - }, - { - "type": "inline", - "contents": "{\"package\": \"29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713\", \"files\": {}}", - "dest": "cargo/vendor/zune-jpeg-0.4.21", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zune-jpeg/zune-jpeg-0.5.15.crate", - "sha256": "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296", - "dest": "cargo/vendor/zune-jpeg-0.5.15" - }, - { - "type": "inline", - "contents": "{\"package\": \"27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296\", \"files\": {}}", - "dest": "cargo/vendor/zune-jpeg-0.5.15", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zvariant/zvariant-5.10.0.crate", - "sha256": "5708299b21903bbe348e94729f22c49c55d04720a004aa350f1f9c122fd2540b", - "dest": "cargo/vendor/zvariant-5.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5708299b21903bbe348e94729f22c49c55d04720a004aa350f1f9c122fd2540b\", \"files\": {}}", - "dest": "cargo/vendor/zvariant-5.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zvariant_derive/zvariant_derive-5.10.0.crate", - "sha256": "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c", - "dest": "cargo/vendor/zvariant_derive-5.10.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c\", \"files\": {}}", - "dest": "cargo/vendor/zvariant_derive-5.10.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "archive", - "archive-type": "tar-gzip", - "url": "https://static.crates.io/crates/zvariant_utils/zvariant_utils-3.3.0.crate", - "sha256": "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9", - "dest": "cargo/vendor/zvariant_utils-3.3.0" - }, - { - "type": "inline", - "contents": "{\"package\": \"f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9\", \"files\": {}}", - "dest": "cargo/vendor/zvariant_utils-3.3.0", - "dest-filename": ".cargo-checksum.json" - }, - { - "type": "inline", - "contents": "[source.vendored-sources]\ndirectory = \"cargo/vendor\"\n\n[source.crates-io]\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/wash2/accesskit\"]\ngit = \"https://github.com/wash2/accesskit\"\nreplace-with = \"vendored-sources\"\ntag = \"cosmic-0.14\"\n\n[source.\"https://github.com/jackpot51/rust-atomicwrites\"]\ngit = \"https://github.com/jackpot51/rust-atomicwrites\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/pop-os/window_clipboard\"]\ngit = \"https://github.com/pop-os/window_clipboard\"\nreplace-with = \"vendored-sources\"\ntag = \"sctk-0.20\"\n\n[source.\"https://github.com/pop-os/libcosmic\"]\ngit = \"https://github.com/pop-os/libcosmic\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/pop-os/freedesktop-icons\"]\ngit = \"https://github.com/pop-os/freedesktop-icons\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/pop-os/dbus-settings-bindings\"]\ngit = \"https://github.com/pop-os/dbus-settings-bindings\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/pop-os/cosmic-text\"]\ngit = \"https://github.com/pop-os/cosmic-text\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/rustaudio/cpal\"]\ngit = \"https://github.com/rustaudio/cpal\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://git.tfcconnection.org/chris/crisp\"]\ngit = \"https://git.tfcconnection.org/chris/crisp\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/pop-os/glyphon\"]\ngit = \"https://github.com/pop-os/glyphon\"\nreplace-with = \"vendored-sources\"\ntag = \"cosmic-0.14\"\n\n[source.\"https://github.com/pop-os/winit\"]\ngit = \"https://github.com/pop-os/winit\"\nreplace-with = \"vendored-sources\"\ntag = \"cosmic-0.14\"\n\n[source.\"https://github.com/wash2/iced_video_player\"]\ngit = \"https://github.com/wash2/iced_video_player\"\nreplace-with = \"vendored-sources\"\nbranch = \"iced-rebase\"\n\n[source.\"https://github.com/messense/mupdf-rs\"]\ngit = \"https://github.com/messense/mupdf-rs\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/rustaudio/rodio\"]\ngit = \"https://github.com/rustaudio/rodio\"\nreplace-with = \"vendored-sources\"\n\n[source.\"https://github.com/pop-os/smithay-clipboard\"]\ngit = \"https://github.com/pop-os/smithay-clipboard\"\nreplace-with = \"vendored-sources\"\ntag = \"sctk-0.20\"\n\n[source.\"https://github.com/pop-os/softbuffer\"]\ngit = \"https://github.com/pop-os/softbuffer\"\nreplace-with = \"vendored-sources\"\ntag = \"cosmic-4.0\"\n", - "dest": "cargo", - "dest-filename": "config" - } -] \ No newline at end of file diff --git a/clippy.toml b/clippy.toml deleted file mode 100644 index b82e1c5..0000000 --- a/clippy.toml +++ /dev/null @@ -1 +0,0 @@ -excessive-nesting-threshold = 7 \ No newline at end of file diff --git a/flake.lock b/flake.lock index 75501e3..f4c6489 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "crane": { "locked": { - "lastModified": 1778106249, - "narHash": "sha256-cM/AuKy5tMhwOOQIbha8ZRRMHVfNf7cv2aljIw+qoCg=", + "lastModified": 1770419512, + "narHash": "sha256-o8Vcdz6B6bkiGUYkZqFwH3Pv1JwZyXht3dMtS7RchIo=", "owner": "ipetkov", "repo": "crane", - "rev": "6d015ea29630b7ad2402841386da2cb617a470a7", + "rev": "2510f2cbc3ccd237f700bb213756a8f35c32d8d7", "type": "github" }, "original": { @@ -21,11 +21,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1778662605, - "narHash": "sha256-nGPpWsLZ1dX1Dirf98GsCsFDE/diXkUP0PaAqZlTpkA=", + "lastModified": 1765435813, + "narHash": "sha256-C6tT7K1Lx6VsYw1BY5S3OavtapUvEnDQtmQB5DSgbCc=", "owner": "nix-community", "repo": "fenix", - "rev": "5c80141c6215ed0a1cdc06ddb68e9bb55e9edfca", + "rev": "6399553b7a300c77e7f07342904eb696a5b6bf9d", "type": "github" }, "original": { @@ -80,11 +80,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1778151388, - "narHash": "sha256-lldMJPUeouEjO8/7aLuwhcsIw29vVihm2ZALzjiqfec=", + "lastModified": 1763384566, + "narHash": "sha256-r+wgI+WvNaSdxQmqaM58lVNvJYJ16zoq+tKN20cLst4=", "owner": "nix-community", "repo": "naersk", - "rev": "efdddff9ff4d8e7d0056d57ec67dac50f75ab8f6", + "rev": "d4155d6ebb70fbe2314959842f744aa7cabbbf6a", "type": "github" }, "original": { @@ -95,11 +95,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1778443072, - "narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", + "lastModified": 1765186076, + "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", + "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", "type": "github" }, "original": { @@ -127,11 +127,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1778443072, - "narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", + "lastModified": 1765472234, + "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", + "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b", "type": "github" }, "original": { @@ -141,40 +141,23 @@ "type": "github" } }, - "nixpkgs_4": { - "locked": { - "lastModified": 1744536153, - "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "crane": "crane", "fenix": "fenix", "flake-utils": "flake-utils", "naersk": "naersk", - "nixpkgs": "nixpkgs_3", - "rust-overlay": "rust-overlay" + "nixpkgs": "nixpkgs_3" } }, "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1778611623, - "narHash": "sha256-oNgaKN3iKM1Cud3bKhEXFHXNRRc+j/JDl05d2jYa2Sg=", + "lastModified": 1765400135, + "narHash": "sha256-D3+4hfNwUhG0fdCpDhOASLwEQ1jKuHi4mV72up4kLQM=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "7c28934677b1e7a1c6ef952422e6ef730540f85f", + "rev": "fface27171988b3d605ef45cf986c25533116f7e", "type": "github" }, "original": { @@ -201,24 +184,6 @@ "type": "github" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": "nixpkgs_4" - }, - "locked": { - "lastModified": 1778642276, - "narHash": "sha256-bhk4lawR4ZnFhPtamB5WkCyvfgyZmsEUbWfT/3FRxFY=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "77265d2dc1e61b2abfd3b1d6609dbb66fe75e0a5", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index cb4cec6..0f022c9 100644 --- a/flake.nix +++ b/flake.nix @@ -6,7 +6,6 @@ naersk.url = "github:nix-community/naersk"; flake-utils.url = "github:numtide/flake-utils"; fenix.url = "github:nix-community/fenix"; - rust-overlay.url = "github:oxalica/rust-overlay"; crane.url = "github:ipetkov/crane"; }; @@ -16,17 +15,15 @@ flake-utils.lib.eachDefaultSystem ( system: let - overlays = [ (import rust-overlay) ]; pkgs = import nixpkgs { - inherit system overlays; - # overlays = [ rust-overlay.overlays.default ]; + inherit system; + overlays = [ fenix.overlays.default ]; # overlays = [cargo2nix.overlays.default]; }; inherit (pkgs) lib; - craneLib = crane.mkLib pkgs; + craneLib = (crane.mkLib pkgs).overrideToolchain fenix.packages.${system}.stable.toolchain; naersk' = pkgs.callPackage naersk { }; - # toolchain = (with pkgs.fenix.default; [cargo clippy rust-std rust-src rustc rustfmt rust-analyzer-nightly]); unfilteredRoot = ./.; # The original, unfiltered source src = lib.fileset.toSource { root = unfilteredRoot; @@ -38,47 +35,26 @@ ]; }; - nativeBuildInputs = with pkgs; [ + nbi = with pkgs; [ # Rust tools - # toolchain - # (pkgs.fenix.default.withComponents [ - # "cargo" - # "clippy" - # "rust-std" - # # "rust-src" - # "rustc" - # "rustfmt" - # ]) - (rust-bin.stable.latest.default.override { - extensions = [ "rust-src" "rust-analyzer" "clippy" ]; - }) + alejandra + (pkgs.fenix.stable.withComponents [ + "cargo" + "clippy" + "rust-src" + "rustc" + "rustfmt" + ]) cargo-nextest - cargo-criterion - # rust-analyzer-nightly + rust-analyzer vulkan-loader wayland wayland-protocols - libxkbcommon pkg-config sccache - just - sqlx-cli - cargo-watch - samply - flatpak-builder - flatpak-xdg-utils - python3 - python313Packages.aiohttp - python313Packages.tomlkit - python313Packages.pip - unzip - dbus - appstream - appstream-glib - libcosmicAppHook ]; - buildInputs = with pkgs; [ + bi = with pkgs; [ gcc stdenv gnumake @@ -87,17 +63,14 @@ cmake clang libclang + libxkbcommon + makeWrapper vulkan-headers vulkan-loader vulkan-tools libGL - libinput - cargo-flamegraph - bacon - openssl - freetype + fontconfig - libglvnd glib alsa-lib gst_all_1.gst-libav @@ -111,72 +84,79 @@ ffmpeg-full mupdf # yt-dlp + + ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ + # Additional darwin specific inputs can be set here + pkgs.libiconv ]; - LD_LIBRARY_PATH = "$LD_LIBRARY_PATH:${ + ldLibPaths = "$LD_LIBRARY_PATH:${ with pkgs; - pkgs.lib.makeLibraryPath [ - pkgs.alsa-lib - pkgs.gst_all_1.gst-libav - pkgs.gst_all_1.gstreamer - pkgs.gst_all_1.gst-plugins-bad - pkgs.gst_all_1.gst-plugins-good - pkgs.gst_all_1.gst-plugins-ugly - pkgs.gst_all_1.gst-plugins-base - pkgs.gst_all_1.gst-plugins-rs - pkgs.gst_all_1.gst-vaapi - pkgs.glib - pkgs.fontconfig - pkgs.vulkan-loader - pkgs.wayland - pkgs.wayland-protocols - pkgs.libxkbcommon - pkgs.mupdf - pkgs.libclang + lib.makeLibraryPath [ + alsa-lib + gst_all_1.gst-libav + gst_all_1.gstreamer + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-ugly + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-rs + gst_all_1.gst-vaapi + glib + fontconfig + vulkan-loader + wayland + wayland-protocols + libxkbcommon + mupdf + libclang ] }"; - + commonArgs = { - strictDeps = false; - inherit src buildInputs nativeBuildInputs LD_LIBRARY_PATH; + inherit src; + strictDeps = true; + nativeBuildInputs = nbi; + buildInputs = bi; + LD_LIBRARY_PATH = ldLibPaths; }; cargoArtifacts = craneLib.buildDepsOnly commonArgs; + lumina = craneLib.buildPackage ( commonArgs // { - inherit cargoArtifacts buildInputs nativeBuildInputs LD_LIBRARY_PATH; + inherit cargoArtifacts; + + nativeBuildInputs = (commonArgs.nativeBuildInputs or [ ]) ++ [ + pkgs.sqlx-cli + ]; preBuild = '' export DATABASE_URL=sqlite:./db.sqlite3 sqlx database create sqlx migrate run ''; - cargoTestCommand = ""; - cargoExtraArgs = ""; } ); in rec { - devShell = - pkgs.mkShell.override - { - # stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.clangStdenv; - } - { - inherit nativeBuildInputs buildInputs LD_LIBRARY_PATH; - # LIBCLANG_PATH = "${pkgs.clang}"; - DATABASE_URL = "sqlite://./test.db"; - # RUST_SRC_PATH = "${toolchain.rust-src}/lib/rustlib/src/rust/library"; - }; - defaultPackage = lumina; - packages = { - postInstall = '' - libcosmicAppWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") - ''; - default = lumina; + checks = { + inherit lumina; }; + devShells.default = craneLib.devShell { + checks = self.checks.${system}; + inputsFrom = [ lumina ]; + packages = with pkgs; [ + sqlx-cli + cargo-flamegraph + bacon + just + cargo-watch + ]; + }; + packages.default = lumina; } ); } diff --git a/justfile b/justfile index 45747e1..409e5e3 100644 --- a/justfile +++ b/justfile @@ -1,8 +1,8 @@ +ui := "-i" verbose := "-v" file := "~/dev/lumina-iced/test_presentation.lisp" -sdk-version := "25.08" -# export RUSTC_WRAPPER := "sccache" +export RUSTC_WRAPPER := "sccache" # export RUST_LOG := "debug" default: @@ -11,29 +11,18 @@ build: cargo build build-release: cargo build --release -build-offline: - cargo build --release --offline run: - cargo run -- {{verbose}} + cargo run -- {{verbose}} {{ui}} run-release: - cargo run --release -- {{verbose}} + cargo run --release -- {{verbose}} {{ui}} run-file: - cargo run -- {{verbose}} cli {{file}} -fix: - cargo clippy --fix --bin "lumina" -p lumina -- -W clippy::pedantic -W clippy::perf -W clippy::nursery -W clippy::unwrap_used + cargo run -- {{verbose}} {{ui}} {{file}} clean: cargo clean -watch-clippy: - cargo watch --why -x "clippy --all-targets --all-features" test: - cargo nextest run -ci-test: - cargo nextest run -- --skip test_db_and_model --skip test_update --skip test_song_slide_speed --skip test_song_to_slide --skip test_song_from_db --skip song_search -bench: - export NEXTEST_EXPERIMENTAL_BENCHMARKS=1 - cargo nextest bench + cargo test --benches --tests --all-features -- --nocapture profile: - samply record cargo run --release -- {{verbose}} + cargo flamegraph -- {{verbose}} {{ui}} alias b := build alias r := run @@ -41,54 +30,3 @@ alias br := build-release alias rr := run-release alias rf := run-file alias c := clean - -##### Sets up and builds the exe installer with nsis -windows-packager: - cargo install cargo-packager --locked - cargo build --release - cargo packager --release -f nsis - -##### Sets up and builds the macos bundle and dmg -mac-packager: - cargo install cargo-packager --locked - export PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig - export PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/bin:$PATH - cargo build --release - install_name_tool -add_rpath @executable_path/../Frameworks/GStreamer.framework/Libraries target/release/lumina - cargo packager --release -f dmg - -##### Sets up flatpak to be able to build the lumina flatpak using all the latest pieces -flatpak-setup: flatpak-install-sdk install-flatpak-builder-tools - git -C "cosmic-flatpak-runtime" pull || git clone https://github.com/pop-os/cosmic-flatpak-runtime.git "cosmic-flatpak-runtime" - cd cosmic-flatpak-runtime - flatpak-builder --install --user --force-clean build-dir cosmic-flatpak-runtime/com.system76.Cosmic.Sdk.json - flatpak-builder --install --user --force-clean build-dir cosmic-flatpak-runtime/com.system76.Cosmic.BaseApp.json - -flatpak-install-sdk: - flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo - flatpak install --noninteractive --user flathub \ - org.freedesktop.Platform//{{ sdk-version }} \ - org.freedesktop.Platform.Locale//{{ sdk-version }} \ - org.freedesktop.Sdk//{{ sdk-version }} \ - org.freedesktop.Sdk.Locale//{{ sdk-version }} \ - org.freedesktop.Sdk.Docs//{{ sdk-version }} \ - org.freedesktop.Sdk.Debug//{{ sdk-version }} \ - org.freedesktop.Sdk.Extension.rust-nightly//{{ sdk-version }} \ - org.freedesktop.Sdk.Extension.llvm22//{{ sdk-version }} - -install-flatpak-builder-tools: - rm -rf flatpak-builder-tools - git clone https://github.com/flatpak/flatpak-builder-tools --branch master --depth 1 - # pip install aiohttp tomlkit # Would be needed without nix - -flatpak-gen-manifest: install-flatpak-builder-tools - python3 flatpak-builder-tools/cargo/flatpak-cargo-generator.py Cargo.lock -o cargo-sources.json - -flatpak-build: - flatpak-builder --install-deps-from=flathub --keep-build-dirs --install --user --force-clean build-dir xyz.cochrun.lumina.yml - -flatpak-shell: - flatpak-builder --run build-dir xyz.cochrun.lumina.yml sh - -alias fb := flatpak-build -alias fs := flatpak-setup diff --git a/migrations/20260211174933_add_stroke_and_shadow.sql b/migrations/20260211174933_add_stroke_and_shadow.sql deleted file mode 100644 index ca5955e..0000000 --- a/migrations/20260211174933_add_stroke_and_shadow.sql +++ /dev/null @@ -1,19 +0,0 @@ --- Add migration script here -ALTER TABLE songs -ADD COLUMN stroke_size INTEGER; - -ALTER TABLE songs -ADD COLUMN stroke_color TEXT; - -ALTER TABLE songs -ADD COLUMN shadow_size INTEGER; - -ALTER TABLE songs -ADD COLUMN shadow_offset_x INTEGER; - -ALTER TABLE songs -ADD COLUMN shadow_offset_y INTEGER; - -ALTER TABLE songs -ADD COLUMN shadow_color TEXT; - diff --git a/migrations/20260217193356_add_text_weight_and_style.sql b/migrations/20260217193356_add_text_weight_and_style.sql deleted file mode 100644 index ce3f306..0000000 --- a/migrations/20260217193356_add_text_weight_and_style.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Add migration script here -ALTER TABLE songs -ADD COLUMN weight TEXT; - -ALTER TABLE songs -ADD COLUMN style TEXT; diff --git a/migrations/20260422171528_add_videos_to_songs.sql b/migrations/20260422171528_add_videos_to_songs.sql deleted file mode 100644 index e065719..0000000 --- a/migrations/20260422171528_add_videos_to_songs.sql +++ /dev/null @@ -1,6 +0,0 @@ --- Add migration script here -ALTER TABLE songs -ADD COLUMN lyric_video TEXT; - -ALTER TABLE songs -ADD COLUMN music_video TEXT; diff --git a/migrations/20260527180153_access_time.sql b/migrations/20260527180153_access_time.sql deleted file mode 100644 index e55fe93..0000000 --- a/migrations/20260527180153_access_time.sql +++ /dev/null @@ -1,20 +0,0 @@ --- Add migration script here -ALTER TABLE songs -ADD COLUMN created_at INTEGER; -ALTER TABLE songs -ADD COLUMN accessed_at INTEGER; - -ALTER TABLE images -ADD COLUMN created_at INTEGER; -ALTER TABLE images -ADD COLUMN accessed_at INTEGER; - -ALTER TABLE videos -ADD COLUMN created_at INTEGER; -ALTER TABLE videos -ADD COLUMN accessed_at INTEGER; - -ALTER TABLE presentations -ADD COLUMN created_at INTEGER; -ALTER TABLE presentations -ADD COLUMN accessed_at INTEGER; diff --git a/readme.org b/readme.org index e0ed13d..e378379 100644 --- a/readme.org +++ b/readme.org @@ -3,12 +3,6 @@ Lumina is a presentation app that works from a cli or a UI. The goal is that through a simple text file, you can describe an entire presentation and then load and control it either from the command line, or a UI. The UI also provides user friendly ways of creating the presentation to allow for flexibility for users to make something that works for regular folk as well as developers and nerds. -[[file:./res/images/screenshot_2026-05-03_08-23-08.png]] - -[[file:./res/images/screenshot_2026-05-03_08-23-23.png]] - -[[file:./res/images/screenshot_2026-05-03_08-16-59.png]] - * Why build this? Primarily, I don't think there is a good tool for this kind of thing on Linux. On Windows and Mac there is ProPresenter or Proclaim. Both amazing presentation software built for churches or worship centers and can be used by others for other things too, but incredible tools. I want to have a similar tool on Linux. The available tools out there now are often old, broken, or very difficult to use. I want something incredibly easy, with very sane or at least very customizable keyboard controls that allow me to quickly build a presentation and make it VERY easy to run it too. diff --git a/res/bigbuckbunny.mp4 b/res/bigbuckbunny.mp4 deleted file mode 100644 index 210600b..0000000 Binary files a/res/bigbuckbunny.mp4 and /dev/null differ diff --git a/res/icons/align-on-canvas.svg b/res/icons/align-on-canvas.svg deleted file mode 100644 index 9666b8b..0000000 --- a/res/icons/align-on-canvas.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/res/icons/boundingbox_bottom.svg b/res/icons/boundingbox_bottom.svg deleted file mode 100644 index 6eca718..0000000 --- a/res/icons/boundingbox_bottom.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/boundingbox_bottom_left.svg b/res/icons/boundingbox_bottom_left.svg deleted file mode 100644 index c23404b..0000000 --- a/res/icons/boundingbox_bottom_left.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/boundingbox_bottom_right.svg b/res/icons/boundingbox_bottom_right.svg deleted file mode 100644 index 9538f34..0000000 --- a/res/icons/boundingbox_bottom_right.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/boundingbox_center.svg b/res/icons/boundingbox_center.svg deleted file mode 100644 index f61f3ed..0000000 --- a/res/icons/boundingbox_center.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/res/icons/boundingbox_left.svg b/res/icons/boundingbox_left.svg deleted file mode 100644 index 809beba..0000000 --- a/res/icons/boundingbox_left.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/boundingbox_right.svg b/res/icons/boundingbox_right.svg deleted file mode 100644 index 3ee6298..0000000 --- a/res/icons/boundingbox_right.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/boundingbox_top.svg b/res/icons/boundingbox_top.svg deleted file mode 100644 index 42db38d..0000000 --- a/res/icons/boundingbox_top.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/boundingbox_top_left.svg b/res/icons/boundingbox_top_left.svg deleted file mode 100644 index c810715..0000000 --- a/res/icons/boundingbox_top_left.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/boundingbox_top_right.svg b/res/icons/boundingbox_top_right.svg deleted file mode 100644 index 2388214..0000000 --- a/res/icons/boundingbox_top_right.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/res/icons/caret-left.svg b/res/icons/caret-left.svg deleted file mode 100644 index 6689b0b..0000000 --- a/res/icons/caret-left.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/res/icons/caret-right.svg b/res/icons/caret-right.svg deleted file mode 100644 index dbf7939..0000000 --- a/res/icons/caret-right.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/res/icons/carousel.svg b/res/icons/carousel.svg deleted file mode 100644 index 500ddc6..0000000 --- a/res/icons/carousel.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/res/icons/circle-plus.svg b/res/icons/circle-plus.svg deleted file mode 100644 index 73af212..0000000 --- a/res/icons/circle-plus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/res/icons/edit.svg b/res/icons/edit.svg deleted file mode 100644 index 02d393d..0000000 --- a/res/icons/edit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/res/icons/horizontal-squares.svg b/res/icons/horizontal-squares.svg deleted file mode 100644 index b406907..0000000 --- a/res/icons/horizontal-squares.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/icons/layout-grid.svg b/res/icons/layout-grid.svg deleted file mode 100644 index a129fd6..0000000 --- a/res/icons/layout-grid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/res/icons/lumina.icns b/res/icons/lumina.icns deleted file mode 100644 index 382603a..0000000 Binary files a/res/icons/lumina.icns and /dev/null differ diff --git a/res/icons/lumina.ico b/res/icons/lumina.ico deleted file mode 100644 index 04673e9..0000000 Binary files a/res/icons/lumina.ico and /dev/null differ diff --git a/res/icons/lumina.svg b/res/icons/lumina.svg deleted file mode 100644 index 50d8803..0000000 --- a/res/icons/lumina.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - diff --git a/res/icons/plus.svg b/res/icons/plus.svg deleted file mode 100644 index 3346f8c..0000000 --- a/res/icons/plus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/res/icons/presenting.svg b/res/icons/presenting.svg deleted file mode 100644 index ca6632b..0000000 --- a/res/icons/presenting.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - Presentation Streamline Icon: https://streamlinehq.com - - - - - \ No newline at end of file diff --git a/res/icons/preview.svg b/res/icons/preview.svg deleted file mode 100644 index afdd6bb..0000000 --- a/res/icons/preview.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/res/icons/search.svg b/res/icons/search.svg deleted file mode 100644 index 73ef891..0000000 --- a/res/icons/search.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/res/icons/shadow.svg b/res/icons/shadow.svg deleted file mode 100644 index 6203343..0000000 --- a/res/icons/shadow.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/res/icons/slides.svg b/res/icons/slides.svg deleted file mode 100644 index 51c7d1f..0000000 --- a/res/icons/slides.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/res/icons/text-shadow.svg b/res/icons/text-shadow.svg deleted file mode 100644 index c55317c..0000000 --- a/res/icons/text-shadow.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/res/icons/x.svg b/res/icons/x.svg deleted file mode 100644 index 299b36d..0000000 --- a/res/icons/x.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/res/images/screenshot_2026-05-03_08-16-59.png b/res/images/screenshot_2026-05-03_08-16-59.png deleted file mode 100644 index 4e99227..0000000 Binary files a/res/images/screenshot_2026-05-03_08-16-59.png and /dev/null differ diff --git a/res/images/screenshot_2026-05-03_08-23-08.png b/res/images/screenshot_2026-05-03_08-23-08.png deleted file mode 100644 index 93b3806..0000000 Binary files a/res/images/screenshot_2026-05-03_08-23-08.png and /dev/null differ diff --git a/res/images/screenshot_2026-05-03_08-23-23.png b/res/images/screenshot_2026-05-03_08-23-23.png deleted file mode 100644 index aebd60b..0000000 Binary files a/res/images/screenshot_2026-05-03_08-23-23.png and /dev/null differ diff --git a/res/icons/list-add-above.svg b/res/list-add-above.svg similarity index 100% rename from res/icons/list-add-above.svg rename to res/list-add-above.svg diff --git a/res/icons/list-add-below.svg b/res/list-add-below.svg similarity index 100% rename from res/icons/list-add-below.svg rename to res/list-add-below.svg diff --git a/res/nerdfont.ttf b/res/nerdfont.ttf deleted file mode 100644 index 38c24fb..0000000 Binary files a/res/nerdfont.ttf and /dev/null differ diff --git a/res/icons/split-above.svg b/res/split-above.svg similarity index 100% rename from res/icons/split-above.svg rename to res/split-above.svg diff --git a/res/icons/split-below.svg b/res/split-below.svg similarity index 100% rename from res/icons/split-below.svg rename to res/split-below.svg diff --git a/res/icons/text-outline.svg b/res/text-outline.svg similarity index 100% rename from res/icons/text-outline.svg rename to res/text-outline.svg diff --git a/res/xyz.cochrun.lumina.desktop b/res/xyz.cochrun.lumina.desktop deleted file mode 100644 index 38d3940..0000000 --- a/res/xyz.cochrun.lumina.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application - -Name=Lumina -Comment=A church presentation app that is built to be simple to use. -Categories=Graphics; - -Icon=lumina -Exec=lumina -Terminal=false \ No newline at end of file diff --git a/res/xyz.cochrun.lumina.metainfo.xml b/res/xyz.cochrun.lumina.metainfo.xml deleted file mode 100644 index 65f43df..0000000 --- a/res/xyz.cochrun.lumina.metainfo.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - xyz.cochrun.lumina - - Lumina - A church presentation app that is built to be simple to use. - https://git.tfcconnection.org/chris/lumina/ - - FSFAP - GPL-3.0-or-later - - -

- A church presentation app that is built to be simple to use. -

-
- - - Chris Cochrun - - - xyz.cochrun.lumina.desktop - - - - https://git.tfcconnection.org/chris/lumina/raw/branch/master/res/images/screenshot_2026-05-03_08-16-59.png - - - https://git.tfcconnection.org/chris/lumina/raw/branch/master/res/images/screenshot_2026-05-03_08-23-08.png - - - https://git.tfcconnection.org/chris/lumina/raw/branch/master/res/images/screenshot_2026-05-03_08-23-23.png - - - - Graphics - - - presentation - photo - video - cosmic - - - pointing - keyboard - touch - -
diff --git a/rust-analyzer.toml b/rust-analyzer.toml deleted file mode 100644 index f457f4a..0000000 --- a/rust-analyzer.toml +++ /dev/null @@ -1,12 +0,0 @@ -# [lru] -# capacity = 64 - -[semanticHighlighting] -operator.enable = false -punctuation.enable = false -strings.enable = false -nonStandardTokens = false - -[files] -exclude = ["flatpak-builder-tools", "cosmic-flatpak-runtime", - "flatpak-out", "mupdf", "build-dir", ".zed", "mupdf-cargo-sources.json", "cargo-sources.json"] \ No newline at end of file diff --git a/rustfmt.toml b/rustfmt.toml index 5778788..91b451d 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,4 +1,3 @@ -max_width = 90 +max_width = 70 style_edition = "2024" -# version = "Two" -imports_granularity = "Module" \ No newline at end of file +# version = "Two" \ No newline at end of file diff --git a/src/core/content.rs b/src/core/content.rs index c9fc36a..44d3a8a 100644 --- a/src/core/content.rs +++ b/src/core/content.rs @@ -1,7 +1,6 @@ use crate::Background; -use super::kinds::ServiceItemKind; -use super::service_items::ServiceItem; +use super::{kinds::ServiceItemKind, service_items::ServiceItem}; pub trait Content { fn title(&self) -> String; diff --git a/src/core/file.rs b/src/core/file.rs index 78fa179..4b93d14 100644 --- a/src/core/file.rs +++ b/src/core/file.rs @@ -1,45 +1,36 @@ -use crate::core::kinds::ServiceItemKind; -use crate::core::service_items::ServiceItem; -use crate::core::slide::Background; -use cosmic::widget::image::Handle; -use miette::{IntoDiagnostic, Result, miette}; -use std::fs::{self, File}; -use std::io::Write; -use std::iter; -use std::path::{Path, PathBuf}; -use std::sync::Arc; -use tar::{Archive, Builder}; -use tracing::{debug, error}; -use zstd::{Decoder, Encoder}; +use crate::core::{ + kinds::ServiceItemKind, service_items::ServiceItem, + slide::Background, +}; +use miette::{IntoDiagnostic, Result}; +use std::{ + fs::{self, File}, + io::Write, + iter, + path::{Path, PathBuf}, +}; +use tar::Builder; +use tracing::error; +use zstd::Encoder; -#[allow(clippy::too_many_lines)] -pub fn save( - list: &Arc>, +pub async fn save( + list: Vec, path: impl AsRef, - overwrite: bool, ) -> Result<()> { let path = path.as_ref(); - if overwrite && path.exists() { - fs::remove_file(path).into_diagnostic()?; - } let save_file = File::create(path).into_diagnostic()?; - let ron_pretty = ron::ser::PrettyConfig::default(); - let ron = ron::ser::to_string_pretty(&list, ron_pretty).into_diagnostic()?; + let ron = process_service_items(&list)?; - let encoder = Encoder::new(save_file, 3) - .expect("file encoder shouldn't fail") - .auto_finish(); + let encoder = Encoder::new(save_file, 3).unwrap(); let mut tar = Builder::new(encoder); - let mut temp_dir = dirs::data_dir().expect( - "there should be a data directory, ~/.local/share/ for linux, but couldn't find it", - ); + let mut temp_dir = dirs::data_dir().unwrap(); temp_dir.push("lumina"); - let mut s: String = iter::repeat_with(fastrand::alphanumeric).take(5).collect(); + let mut s: String = + iter::repeat_with(fastrand::alphanumeric).take(5).collect(); s.insert_str(0, "temp_"); temp_dir.push(s); fs::create_dir_all(&temp_dir).into_diagnostic()?; let service_file = temp_dir.join("serviceitems.ron"); - debug!(?service_file); fs::File::create(&service_file).into_diagnostic()?; match fs::File::options() .read(true) @@ -47,39 +38,20 @@ pub fn save( .open(service_file) { Ok(mut f) => { - match f.write(ron.as_bytes()) { - Ok(size) => { - debug!(size); - } - Err(e) => { - error!(?e); - return Err(miette!("PROBS: {e}")); - } - } - match tar.append_file("serviceitems.ron", &mut f) { - Ok(()) => { - debug!("should have added serviceitems.ron to the file"); - } - Err(e) => { - error!(?e); - return Err(miette!("PROBS: {e}")); - } - } + f.write(ron.as_bytes()).into_diagnostic()?; } Err(e) => { error!("There were problems making a file i guess: {e}"); - return Err(miette!("There was a problem: {e}")); } } - - let mut append_file = |path: PathBuf| -> Result<()> { - let file_name = path.file_name().unwrap_or_default(); - let mut file = fs::File::open(&path).into_diagnostic()?; - tar.append_file(file_name, &mut file).into_diagnostic()?; - Ok(()) - }; - - for item in list.iter() { + // let list list.iter_mut().map(|item| { + // match item.kind { + // ServiceItemKind::Song(mut song) => { + // song.background + // } + // } + // }).collect(); + for item in list { let background; let audio: Option; match &item.kind { @@ -88,18 +60,23 @@ pub fn save( audio = song.audio.clone(); } ServiceItemKind::Image(image) => { - background = - Some(Background::try_from(image.path.clone()).into_diagnostic()?); + background = Some( + Background::try_from(image.path.clone()) + .into_diagnostic()?, + ); audio = None; } ServiceItemKind::Video(video) => { - background = - Some(Background::try_from(video.path.clone()).into_diagnostic()?); + background = Some( + Background::try_from(video.path.clone()) + .into_diagnostic()?, + ); audio = None; } ServiceItemKind::Presentation(presentation) => { background = Some( - Background::try_from(presentation.path.clone()).into_diagnostic()?, + Background::try_from(presentation.path.clone()) + .into_diagnostic()?, ); audio = None; } @@ -107,395 +84,323 @@ pub fn save( todo!() } } - if let Some(path) = audio - && path.exists() - { - debug!(?path); - append_file(path)?; - } - if let Some(background) = background - && let path = background.path - && path.exists() - { - debug!(?path); - append_file(path)?; - } - for slide in &item.slides { - if let Some(svg) = &slide.text_svg - && let Some(path) = &svg.path - { - append_file(path.clone())?; - } - } - } - - match tar.finish() { - Ok(()) => (), - Err(e) => { - error!(?e); - return Err(miette!("tar error: {e}")); - } - } - fs::remove_dir_all(temp_dir).into_diagnostic() -} - -#[allow(clippy::too_many_lines)] -pub fn load(path: impl AsRef) -> Result> { - let decoder = - Decoder::new(fs::File::open(&path).into_diagnostic()?).into_diagnostic()?; - let mut tar = Archive::new(decoder); - - let mut cache_dir = dirs::cache_dir().expect("Should be a cache dir"); - cache_dir.push("lumina"); - cache_dir.push("cached_save_files"); - - let save_name_ext = path - .as_ref() - .extension() - .expect("Should have extension") - .to_str() - .expect("Should be fine"); - let save_name_string = path - .as_ref() - .file_name() - .expect("Should be a name") - .to_os_string() - .into_string() - .expect("Should be fine"); - let save_name = save_name_string.trim_end_matches(&format!(".{save_name_ext}")); - cache_dir.push(save_name); - - if let Err(e) = fs::remove_dir_all(&cache_dir) { - debug!("There is no dir here: {e}"); - } - fs::create_dir_all(&cache_dir).into_diagnostic()?; - - for entry in tar.entries().into_diagnostic()? { - let mut entry = entry.into_diagnostic()?; - entry.unpack_in(&cache_dir).into_diagnostic()?; - } - - let mut dir = fs::read_dir(&cache_dir).into_diagnostic()?; - let ron_file = dir - .find_map(|file| { - if file.as_ref().ok()?.path().extension()?.to_str()? == "ron" { - Some(file.ok()?.path()) + if let Some(file) = audio { + let audio_file = + temp_dir.join(file.file_name().expect( + "Audio file couldn't be added to temp_dir", + )); + if let Ok(file) = file.strip_prefix("file://") { + fs::File::create(&audio_file).into_diagnostic()?; + fs::copy(file, audio_file).into_diagnostic()?; } else { - None - } - }) - .expect("Should have a ron file"); - - let ron_string = fs::read_to_string(ron_file).into_diagnostic()?; - - let mut items = - ron::de::from_str::>(&ron_string).into_diagnostic()?; - - for item in &mut items { - let dir = fs::read_dir(&cache_dir).into_diagnostic()?; - for file in dir { - for slide in &mut item.slides { - if let Ok(file) = file.as_ref() { - let file_name = file.file_name(); - let audio_path = slide.audio().clone().unwrap_or_default(); - let text_path = - slide.text_svg.as_ref().and_then(|svg| svg.path.clone()); - if Some(file_name.as_os_str()) == slide.background.path.file_name() { - slide.background.path = file.path(); - } else if Some(file_name.as_os_str()) == audio_path.file_name() { - let new_slide = slide.clone().set_audio(Some(file.path())); - *slide = new_slide; - } else if Some(file_name.as_os_str()) - == text_path.clone().unwrap_or_default().file_name() - && let Some(svg) = slide.text_svg.as_mut() - { - svg.path = Some(file.path()); - svg.handle = Some(Handle::from_path(file.path())); - } - } - } - - match &mut item.kind { - ServiceItemKind::Song(song) => { - if let Ok(file) = file.as_ref() { - let file_name = file.file_name(); - let audio_path = song.audio.clone().unwrap_or_default(); - if Some(file_name.as_os_str()) - == song - .background - .clone() - .unwrap_or_default() - .path - .file_name() - { - let background = song.background.clone(); - song.background = background.map(|mut background| { - background.path = file.path(); - background - }); - } else if Some(file_name.as_os_str()) == audio_path.file_name() { - song.audio = Some(file.path()); - } - } - } - ServiceItemKind::Video(video) => { - if let Ok(file) = file.as_ref() { - let file_name = file.file_name(); - if Some(file_name.as_os_str()) == video.path.file_name() { - video.path = file.path(); - } - } - } - ServiceItemKind::Image(image) => { - if let Ok(file) = file.as_ref() { - let file_name = file.file_name(); - if Some(file_name.as_os_str()) == image.path.file_name() { - image.path = file.path(); - } - } - } - ServiceItemKind::Presentation(presentation) => { - if let Ok(file) = file.as_ref() { - let file_name = file.file_name(); - if Some(file_name.as_os_str()) == presentation.path.file_name() { - presentation.path = file.path(); - } - } - } - ServiceItemKind::Content(_slide) => todo!(), + fs::File::create(&audio_file).into_diagnostic()?; + fs::copy(file, audio_file).into_diagnostic()?; } } - } - Ok(items) -} - -#[cfg(test)] -mod test { - use rayon::iter::{IntoParallelIterator, ParallelIterator}; - use resvg::usvg::fontdb; - - use super::*; - use crate::core::service_items::ServiceTrait; - use crate::core::slide::{Slide, TextAlignment}; - use crate::core::songs::{Song, VerseName}; - use crate::ui::text_svg::text_svg_generator; - use std::collections::HashMap; - use std::path::PathBuf; - use std::sync::Arc; - - fn test_song() -> Song { - let lyrics = "Some({Verse(number:4):\"Our Savior displayed\\nOn a criminal\\'s cross\\n\\nDarkness rejoiced as though\\nHeaven had lost\\n\\nBut then Jesus arose\\nWith our freedom in hand\\n\\nThat\\'s when death was arrested\\nAnd my life began\\n\\nThat\\'s when death was arrested\\nAnd my life began\",Intro(number:1):\"Death Was Arrested\\nNorth Point Worship\",Verse(number:3):\"Released from my chains,\\nI\\'m a prisoner no more\\n\\nMy shame was a ransom\\nHe faithfully bore\\n\\nHe cancelled my debt and\\nHe called me His friend\\n\\nWhen death was arrested\\nAnd my life began\",Bridge(number:1):\"Oh, we\\'re free, free,\\nForever we\\'re free\\n\\nCome join the song\\nOf all the redeemed\\n\\nYes, we\\'re free, free,\\nForever amen\\n\\nWhen death was arrested\\nAnd my life began\\n\\nOh, we\\'re free, free,\\nForever we\\'re free\\n\\nCome join the song\\nOf all the redeemed\\n\\nYes, we\\'re free, free,\\nForever amen\\n\\nWhen death was arrested\\nAnd my life began\",Other(number:99):\"When death was arrested\\nAnd my life began\\n\\nThat\\'s when death was arrested\\nAnd my life began\",Verse(number:2):\"Ash was redeemed\\nOnly beauty remains\\n\\nMy orphan heart\\nWas given a name\\n\\nMy mourning grew quiet,\\nMy feet rose to dance\\n\\nWhen death was arrested\\nAnd my life began\",Verse(number:1):\"Alone in my sorrow\\nAnd dead in my sin\\n\\nLost without hope\\nWith no place to begin\\n\\nYour love made a way\\nTo let mercy come in\\n\\nWhen death was arrested\\nAnd my life began\",Chorus(number:1):\"Oh, Your grace so free,\\nWashes over me\\n\\nYou have made me new,\\nNow life begins with You\\n\\nIt\\'s Your endless love,\\nPouring down on us\\n\\nYou have made us new,\\nNow life begins with You\"})".to_string(); - let verse_map: Option> = - ron::from_str(&lyrics).expect(""); - Song { - id: 7, - title: "Death Was Arrested".to_string(), - lyrics: Some(lyrics), - author: Some( - "North Point Worship".to_string(), - ), - ccli: None, - audio: Some("/home/chris/music/North Point InsideOut/Nothing Ordinary, Pt. 1 (Live)/05 Death Was Arrested (feat. Seth Condrey).mp3".into()), - verse_order: Some(vec!["Some([Chorus(number:1),Intro(number:1),Other(number:99),Bridge(number:1),Verse(number:4),Verse(number:2),Verse(number:3),Verse(number:1)])".to_string()]), - background: Some(Background::try_from("/home/chris/nc/tfc/presentations/mb/Geo Square.mp4").expect("")), - text_alignment: Some(TextAlignment::MiddleCenter), - font: None, - font_size: Some(120), - font_style: None, - font_weight: None, - text_color: None, - stroke_size: None, - verses: Some(vec![VerseName::Chorus { number: 1 }, VerseName::Intro { number: 1 }, VerseName::Other { number: 99 }, VerseName::Bridge { number: 1 }, VerseName::Verse { number: 4 }, VerseName::Verse { number: 2 }, VerseName::Verse { number: 3 }, VerseName::Verse { number: 1 } - ]), - verse_map, - ..Default::default() - } - } - - fn get_items() -> Vec { - let song = test_song(); - let mut fontdb = fontdb::Database::new(); - fontdb.load_system_fonts(); - let fontdb = Arc::new(fontdb); - let slides = song - .to_slides() - .expect("") - .into_par_iter() - .map(|slide| { - text_svg_generator(slide, &Arc::clone(&fontdb)).unwrap_or_else(|e| { - panic!("Couldn't create svg: {e}"); - }) - }) - .collect::>(); - let items = vec![ - ServiceItem { - database_id: 7, - kind: ServiceItemKind::Song(song.clone()), - id: 0, - title: "Death was Arrested".into(), - slides: slides.clone(), - }, - ServiceItem { - database_id: 7, - kind: ServiceItemKind::Song(song), - id: 1, - title: "Death was Arrested".into(), - slides, - }, - ]; - items - } - - #[test] - fn test_load() -> Result<(), String> { - test_save(); - let path = PathBuf::from("./test.pres"); - let result = load(&path); - match result { - Ok(items) => { - assert!(!items.is_empty()); - // assert_eq!(items, get_items()); - let cache_dir = cache_dir(); - assert!(fs::read_dir(&cache_dir).is_ok()); - assert!( - find_paths(&items), - "Some paths must not have the cache_dir in it's path" - ); - find_svgs(&items)?; - Ok(()) - } - Err(e) => Err(format!("Error in the loading process: {e}")), - } - } - - fn test_size_and_cache(mut path: PathBuf) -> Result<(), String> { - let cache_dir = cache_dir(); - - if path.metadata().expect("").len() < 15000 { - return Err(String::from( - "SVG text is too small, maybe the svg didn't generate properly", - )); - } - if path.pop() && path == cache_dir { - Ok(()) - } else { - Err(String::from( - "The path of the TextSvg isn't in the load directory", - )) - } - } - - fn find_svgs(items: &[ServiceItem]) -> Result<(), String> { - items.iter().try_for_each(|item| { - if let ServiceItemKind::Song(..) = item.kind { - item.slides.iter().try_for_each(|slide| { - slide.text_svg.as_ref().map_or_else( - || Err(String::from("There is no TextSvg for this song")), - |text_svg| { - if text_svg.handle.is_none() { - return Err(String::from( - "There is no handle in this song's TextSvg", - )); - } - - text_svg.path.as_ref().map_or_else( - || { - Err(String::from( - "There is no path in this song's TextSvg", - )) - }, - |path| { - if path.exists() { - test_size_and_cache(path.clone()) - } else { - Err(String::from( - "The path in this TextSvg doesn't exist", - )) - } - }, - ) - }, - ) - }) + if let Some(file) = background { + let background_file = + temp_dir.join(file.path.file_name().expect( + "Background file couldn't be added to temp_dir", + )); + if let Ok(file) = file.path.strip_prefix("file://") { + fs::File::create(&background_file) + .into_diagnostic()?; + fs::copy(file, background_file).into_diagnostic()?; } else { - Ok(()) + fs::File::create(&background_file) + .into_diagnostic()?; + fs::copy(file.path, background_file) + .into_diagnostic()?; } - }) - } - - // checks to make sure all paths in slides and items point to cache_dir - fn find_paths(items: &[ServiceItem]) -> bool { - let cache_dir = cache_dir(); - items.iter().all(|item| { - match &item.kind { - ServiceItemKind::Song(song) => { - if let Some(bg) = &song.background - && !bg.path.starts_with(&cache_dir) - { - return false; - } - if let Some(audio) = &song.audio - && !audio.starts_with(&cache_dir) - { - return false; - } - } - ServiceItemKind::Video(video) => { - if !video.path.starts_with(&cache_dir) { - return false; - } - } - ServiceItemKind::Image(image) => { - if !image.path.starts_with(&cache_dir) { - return false; - } - } - ServiceItemKind::Presentation(presentation) => { - if !presentation.path.starts_with(&cache_dir) { - return false; - } - } - ServiceItemKind::Content(_slide) => todo!(), - } - for slide in &item.slides { - if !slide.background().path.starts_with(&cache_dir) { - return false; - } - if !slide - .audio() - .is_none_or(|audio| audio.starts_with(&cache_dir)) - { - return false; - } - } - true - }) - } - - fn cache_dir() -> PathBuf { - let mut cache_dir = dirs::cache_dir().expect(""); - cache_dir.push("lumina"); - cache_dir.push("cached_save_files"); - cache_dir.push("test"); - cache_dir - } - - #[test] - fn test_save() { - let path = PathBuf::from("./test.pres"); - let list = get_items(); - match save(&Arc::new(list), &path, true) { - Ok(()) => { - assert!(path.is_file()); - let Ok(file) = fs::File::open(path) else { - panic!("couldn't open file"); - }; - let Ok(size) = file.metadata().map(|data| data.len()) else { - panic!("couldn't get file metadata"); - }; - assert!(size > 0); - } - Err(e) => panic!("{e}"), } } + tar.append_dir_all(path, temp_dir).into_diagnostic()?; + tar.finish().into_diagnostic() } + +async fn clear_temp_dir(_temp_dir: &Path) -> Result<()> { + todo!() +} + +fn process_service_items(items: &Vec) -> Result { + Ok(items + .iter() + .filter_map(|item| { + let ron = ron::ser::to_string(item); + ron.ok() + }) + .collect()) +} + +// async fn process_song( +// database_id: i32, +// db: &mut SqliteConnection, +// ) -> Result { +// let song = get_song_from_db(database_id, db).await?; +// let song_ron = ron::to_value(&song)?; +// let kind_ron = ron::to_value(ServiceItemKind::Song)?; +// let json = +// serde_json::json!({"item": song_json, "kind": kind_json}); +// Ok(json) +// } + +// async fn process_image( +// database_id: i32, +// db: &mut SqliteConnection, +// ) -> Result { +// let image = get_image_from_db(database_id, db).await?; +// let image_json = serde_json::to_value(&image)?; +// let kind_json = serde_json::to_value(ServiceItemKind::Image)?; +// let json = +// serde_json::json!({"item": image_json, "kind": kind_json}); +// Ok(json) +// } + +// async fn process_video( +// database_id: i32, +// db: &mut SqliteConnection, +// ) -> Result { +// let video = get_video_from_db(database_id, db).await?; +// let video_json = serde_json::to_value(&video)?; +// let kind_json = serde_json::to_value(ServiceItemKind::Video)?; +// let json = +// serde_json::json!({"item": video_json, "kind": kind_json}); +// Ok(json) +// } + +// async fn process_presentation( +// database_id: i32, +// db: &mut SqliteConnection, +// ) -> Result { +// let presentation = +// get_presentation_from_db(database_id, db).await?; +// let presentation_json = serde_json::to_value(&presentation)?; +// let kind_json = match presentation.kind { +// PresKind::Html => serde_json::to_value( +// ServiceItemKind::Presentation(PresKind::Html), +// )?, +// PresKind::Pdf => serde_json::to_value( +// ServiceItemKind::Presentation(PresKind::Pdf), +// )?, +// PresKind::Generic => serde_json::to_value( +// ServiceItemKind::Presentation(PresKind::Generic), +// )?, +// }; +// let json = serde_json::json!({"item": presentation_json, "kind": kind_json}); +// Ok(json) +// } + +// #[cfg(test)] +// mod test { +// use std::path::PathBuf; + +// use super::*; +// use fs::canonicalize; +// use pretty_assertions::assert_eq; +// use sqlx::Connection; +// use tracing::debug; + +// async fn get_db() -> SqliteConnection { +// let mut data = dirs::data_local_dir().unwrap(); +// data.push("lumina"); +// data.push("library-db.sqlite3"); +// let mut db_url = String::from("sqlite://"); +// db_url.push_str(data.to_str().unwrap()); +// SqliteConnection::connect(&db_url).await.expect("problems") +// } + +// #[tokio::test(flavor = "current_thread")] +// async fn test_process_song() { +// let mut db = get_db().await; +// let result = process_song(7, &mut db).await; +// let json_song_file = PathBuf::from("./test/test_song.json"); +// if let Ok(path) = canonicalize(json_song_file) { +// debug!(file = ?&path); +// if let Ok(s) = fs::read_to_string(path) { +// debug!(s); +// match result { +// Ok(json) => assert_eq!(json.to_string(), s), +// Err(e) => panic!( +// "There was an error in processing the song: {e}" +// ), +// } +// } else { +// panic!("String wasn't read from file"); +// } +// } else { +// panic!("Cannot find absolute path to test_song.json"); +// } +// } + +// #[tokio::test(flavor = "current_thread")] +// async fn test_process_image() { +// let mut db = get_db().await; +// let result = process_image(3, &mut db).await; +// let json_image_file = PathBuf::from("./test/test_image.json"); +// if let Ok(path) = canonicalize(json_image_file) { +// debug!(file = ?&path); +// if let Ok(s) = fs::read_to_string(path) { +// debug!(s); +// match result { +// Ok(json) => assert_eq!(json.to_string(), s), +// Err(e) => panic!( +// "There was an error in processing the image: {e}" +// ), +// } +// } else { +// panic!("String wasn't read from file"); +// } +// } else { +// panic!("Cannot find absolute path to test_image.json"); +// } +// } + +// #[tokio::test(flavor = "current_thread")] +// async fn test_process_video() { +// let mut db = get_db().await; +// let result = process_video(73, &mut db).await; +// let json_video_file = PathBuf::from("./test/test_video.json"); +// if let Ok(path) = canonicalize(json_video_file) { +// debug!(file = ?&path); +// if let Ok(s) = fs::read_to_string(path) { +// debug!(s); +// match result { +// Ok(json) => assert_eq!(json.to_string(), s), +// Err(e) => panic!( +// "There was an error in processing the video: {e}" +// ), +// } +// } else { +// panic!("String wasn't read from file"); +// } +// } else { +// panic!("Cannot find absolute path to test_video.json"); +// } +// } + +// #[tokio::test(flavor = "current_thread")] +// async fn test_process_presentation() { +// let mut db = get_db().await; +// let result = process_presentation(54, &mut db).await; +// let json_presentation_file = +// PathBuf::from("./test/test_presentation.json"); +// if let Ok(path) = canonicalize(json_presentation_file) { +// debug!(file = ?&path); +// if let Ok(s) = fs::read_to_string(path) { +// debug!(s); +// match result { +// Ok(json) => assert_eq!(json.to_string(), s), +// Err(e) => panic!( +// "There was an error in processing the presentation: {e}" +// ), +// } +// } else { +// panic!("String wasn't read from file"); +// } +// } else { +// panic!( +// "Cannot find absolute path to test_presentation.json" +// ); +// } +// } + +// fn get_items() -> Vec { +// let items = vec![ +// ServiceItem { +// database_id: 7, +// kind: ServiceItemKind::Song, +// id: 0, +// }, +// ServiceItem { +// database_id: 54, +// kind: ServiceItemKind::Presentation(PresKind::Html), +// id: 0, +// }, +// ServiceItem { +// database_id: 73, +// kind: ServiceItemKind::Video, +// id: 0, +// }, +// ]; +// items +// } + +// #[tokio::test] +// async fn test_service_items() { +// let mut db = get_db().await; +// let items = get_items(); +// let json_item_file = +// PathBuf::from("./test/test_service_items.json"); +// let result = process_service_items(&items, &mut db).await; +// if let Ok(path) = canonicalize(json_item_file) { +// if let Ok(s) = fs::read_to_string(path) { +// match result { +// Ok(strings) => assert_eq!(strings.to_string(), s), +// Err(e) => panic!("There was an error: {e}"), +// } +// } +// } +// } + +// // #[tokio::test] +// // async fn test_save() { +// // let path = PathBuf::from("~/dev/lumina/src/rust/core/test.pres"); +// // let list = get_items(); +// // match save(list, path).await { +// // Ok(_) => assert!(true), +// // Err(e) => panic!("There was an error: {e}"), +// // } +// // } + +// #[tokio::test] +// async fn test_store() { +// let path = PathBuf::from( +// "/home/chris/dev/lumina/src/rust/core/test.pres", +// ); +// let save_file = match File::create(path) { +// Ok(f) => f, +// Err(e) => panic!("Couldn't create save_file: {e}"), +// }; +// let mut db = get_db().await; +// let list = get_items(); +// if let Ok(json) = process_service_items(&list, &mut db).await +// { +// println!("{:?}", json); +// match store_service_items( +// &list, &mut db, &save_file, &json, +// ) +// .await +// { +// Ok(_) => assert!(true), +// Err(e) => panic!("There was an error: {e}"), +// } +// } else { +// panic!("There was an error getting the json value"); +// } +// } + +// // #[tokio::test] +// // async fn test_things() { +// // let mut temp_dir = dirs::data_dir().unwrap(); +// // temp_dir.push("lumina"); +// // let mut s: String = +// // iter::repeat_with(fastrand::alphanumeric) +// // .take(5) +// // .collect(); +// // s.insert_str(0, "temp_"); +// // temp_dir.push(s); +// // let _ = fs::create_dir_all(&temp_dir); +// // let mut db = get_db().await; +// // let service_file = temp_dir.join("serviceitems.json"); +// // let list = get_items(); +// // if let Ok(json) = process_service_items(&list, &mut db).await { +// // let _ = fs::File::create(&service_file); +// // match fs::write(service_file, json.to_string()) { +// // Ok(_) => assert!(true), +// // Err(e) => panic!("There was an error: {e}"), +// // } +// // } else { +// // panic!("There was an error getting the json value"); +// // } +// // } +// } diff --git a/src/core/images.rs b/src/core/images.rs index 4e3f9f9..9ded9c2 100644 --- a/src/core/images.rs +++ b/src/core/images.rs @@ -1,30 +1,28 @@ -use crate::core::model::{Sort, SortDirection}; use crate::{Background, Slide, SlideBuilder, TextAlignment}; -use super::content::Content; -use super::kinds::ServiceItemKind; -use super::model::{LibraryKind, Model}; -use super::service_items::ServiceTrait; +use super::{ + content::Content, + kinds::ServiceItemKind, + model::{LibraryKind, Model}, + service_items::ServiceTrait, +}; use crisp::types::{Keyword, Symbol, Value}; -use itertools::Itertools; -use miette::{IntoDiagnostic, Result, miette}; +use miette::{IntoDiagnostic, Result}; use serde::{Deserialize, Serialize}; -use sqlx::types::chrono::{DateTime, Local}; -use sqlx::{AssertSqlSafe, SqliteConnection, SqlitePool, query, query_as}; -use std::mem::replace; +use sqlx::{ + Sqlite, SqliteConnection, SqlitePool, pool::PoolConnection, + query, query_as, +}; use std::path::{Path, PathBuf}; -use std::sync::Arc; -use tracing::error; +use tracing::{debug, error}; -#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] +#[derive( + Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize, +)] pub struct Image { pub id: i32, pub title: String, pub path: PathBuf, - #[serde(skip)] - pub created_at: DateTime, - #[serde(skip)] - pub accessed_at: DateTime, } impl From for Image { @@ -39,8 +37,6 @@ impl From for Image { id: 0, title, path: value.canonicalize().unwrap_or(value), - created_at: Local::now(), - accessed_at: Local::now(), } } } @@ -76,10 +72,11 @@ impl Content for Image { fn subtext(&self) -> String { if self.path.exists() { - self.path.file_name().map_or_else( - || "Missing image".into(), - |f| f.to_string_lossy().to_string(), - ) + self.path + .file_name() + .map_or("Missing image".into(), |f| { + f.to_string_lossy().to_string() + }) } else { "Missing image".into() } @@ -92,24 +89,26 @@ impl From for Image { } } -#[allow(clippy::option_if_let_else)] impl From<&Value> for Image { fn from(value: &Value) -> Self { match value { Value::List(list) => { - let path = if let Some(path_pos) = list - .iter() - .position(|v| v == &Value::Keyword(Keyword::from("source"))) - { + let path = if let Some(path_pos) = + list.iter().position(|v| { + v == &Value::Keyword(Keyword::from("source")) + }) { let pos = path_pos + 1; - list.get(pos).map(|p| PathBuf::from(String::from(p))) + list.get(pos) + .map(|p| PathBuf::from(String::from(p))) } else { None }; let title = path.clone().map(|p| { - let path = p.to_str().unwrap_or_default().to_string(); - let title = path.rsplit_once('/').unwrap_or_default().1; + let path = + p.to_str().unwrap_or_default().to_string(); + let title = + path.rsplit_once('/').unwrap_or_default().1; title.to_string() }); Self { @@ -134,7 +133,10 @@ impl ServiceTrait for Image { fn to_slides(&self) -> Result> { let slide = SlideBuilder::new() - .background(Background::try_from(self.path.clone()).into_diagnostic()?) + .background( + Background::try_from(self.path.clone()) + .into_diagnostic()?, + ) .text("") .audio("") .font("") @@ -154,11 +156,10 @@ impl ServiceTrait for Image { } impl Model { - pub async fn new_image_model(db: Arc) -> Self { + pub async fn new_image_model(db: &mut SqlitePool) -> Self { let mut model = Self { items: vec![], kind: LibraryKind::Image, - sorting_method: Sort::AccessTime(SortDirection::Descending), }; let mut db = db.acquire().await.expect("probs"); @@ -170,7 +171,7 @@ impl Model { pub async fn load_from_db(&mut self, db: &mut SqliteConnection) { let result = query_as!( Image, - r#"SELECT title as "title!", file_path as "path!", id as "id: i32", accessed_at as "accessed_at!: DateTime", created_at as "created_at!: DateTime" from images"# + r#"SELECT title as "title!", file_path as "path!", id as "id: i32" from images"# ) .fetch_all(db) .await; @@ -181,150 +182,83 @@ impl Model { } } Err(e) => { - error!("There was an error in converting images: {e}"); + error!( + "There was an error in converting images: {e}" + ); } } } - - pub fn sort(&mut self) { - match self.sorting_method { - Sort::AccessTime(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.accessed_at.cmp(&a.accessed_at)) - } - Sort::AccessTime(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.accessed_at.cmp(&b.accessed_at)) - } - Sort::Title(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.title.cmp(&a.title)) - } - Sort::Title(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.title.cmp(&b.title)) - } - Sort::CreatedTime(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.created_at.cmp(&a.created_at)) - } - Sort::CreatedTime(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.created_at.cmp(&b.created_at)) - } - Sort::Secondary(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.path.cmp(&a.path)) - } - Sort::Secondary(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.path.cmp(&b.path)) - } - } - } - - pub fn set_sort(mut self, method: Sort) -> Self { - self.sorting_method = method; - self.sort(); - self - } } -pub async fn remove_images( - db: Arc, - images: Vec, - ids: Vec, -) -> Result> { - let images = images - .into_iter() - .filter(|current_image| !ids.contains(¤t_image.id)) - .collect(); - - let delete = format!( - "DELETE FROM images WHERE id IN ({:})", - ids.iter().map(ToString::to_string).join(", ") - ); - - query(AssertSqlSafe(delete)) - .execute(&*db) - .await - .into_diagnostic() - .map(|_| images) -} - -pub async fn remove_image( - db: Arc, - mut images: Vec, +pub async fn remove_from_db( + db: PoolConnection, id: i32, -) -> Result> { +) -> Result<()> { query!("DELETE FROM images WHERE id = $1", id) - .execute(&*db) + .execute(&mut db.detach()) .await .into_diagnostic() - .map(|_| ())?; - let index = images - .iter() - .position(|current_image| current_image.id == id) - .ok_or_else(|| miette!("Could not find image in model"))?; - images.remove(index); - Ok(images) + .map(|_| ()) } -pub async fn add_image( - new_images: Vec, - mut current_images: Vec, - db: Arc, -) -> Result> { - for image in new_images { - let path = image - .path - .to_str() - .map(ToString::to_string) - .unwrap_or_default(); - - query!( - r#"INSERT INTO images (title, file_path) VALUES ($1, $2)"#, - image.title, - path, - ) - .execute(&*db) - .await - .into_diagnostic()?; - - current_images.push(image); - } - Ok(current_images) -} - -pub async fn update_image( +pub async fn add_image_to_db( image: Image, - mut images: Vec, - db: Arc, -) -> Result> { + db: PoolConnection, +) -> Result<()> { let path = image .path .to_str() .map(std::string::ToString::to_string) .unwrap_or_default(); - + let mut db = db.detach(); query!( + r#"INSERT INTO images (title, file_path) VALUES ($1, $2)"#, + image.title, + path, + ) + .execute(&mut db) + .await + .into_diagnostic()?; + Ok(()) +} + +pub async fn update_image_in_db( + image: Image, + db: PoolConnection, +) -> Result<()> { + let path = image + .path + .to_str() + .map(std::string::ToString::to_string) + .unwrap_or_default(); + let mut db = db.detach(); + debug!(?image, "should be been updated"); + let result = query!( r#"UPDATE images SET title = $2, file_path = $3 WHERE id = $1"#, image.id, image.title, path, ) - .execute(&*db) - .await - .into_diagnostic()?; + .execute(&mut db) + .await.into_diagnostic(); - let current_image = images - .iter() - .position(|current_image| current_image.id == image.id) - .ok_or_else(|| miette!("Could not find image in model")) - .map(|index| { - images - .get_mut(index) - .expect("We should have this image already") - })?; - - let _ = replace(current_image, image); - Ok(images) + match result { + Ok(_) => { + debug!("should have been updated"); + Ok(()) + } + Err(e) => { + error! {?e}; + Err(e) + } + } } -pub async fn get_from_db(database_id: i32, db: &mut SqliteConnection) -> Result { - query_as!(Image, r#"SELECT title as "title!", file_path as "path!", id as "id: i32", accessed_at as "accessed_at!: DateTime", created_at as "created_at!: DateTime" from images where id = ?"#, database_id).fetch_one(db).await.into_diagnostic() +pub async fn get_image_from_db( + database_id: i32, + db: &mut SqliteConnection, +) -> Result { + query_as!(Image, r#"SELECT title as "title!", file_path as "path!", id as "id: i32" from images where id = ?"#, database_id).fetch_one(db).await.into_diagnostic() } #[cfg(test)] @@ -335,7 +269,7 @@ mod test { fn test_image(title: String) -> Image { Image { title, - path: PathBuf::from("/home/chris/pics/memes/no-i-dont-think.gif"), + path: PathBuf::from("~/pics/camprules2024.mp4"), ..Default::default() } } @@ -345,20 +279,14 @@ mod test { let mut image_model: Model = Model { items: vec![], kind: LibraryKind::Image, - sorting_method: Sort::AccessTime(SortDirection::Descending), }; - let mut db = add_db() - .await - .expect("Error getting db") - .acquire() - .await - .expect(""); + let mut db = crate::core::model::get_db().await; image_model.load_from_db(&mut db).await; - if let Some(image) = image_model.find(|i| i.id == 23) { - let test_image = test_image("no-i-dont-think.gif".into()); + if let Some(image) = image_model.find(|i| i.id == 3) { + let test_image = test_image("nccq5".into()); assert_eq!(test_image.title, image.title); } else { - panic!(); + assert!(false); } } @@ -368,23 +296,25 @@ mod test { let mut image_model: Model = Model { items: vec![], kind: LibraryKind::Image, - sorting_method: Sort::AccessTime(SortDirection::Descending), }; let result = image_model.add_item(image.clone()); let new_image = test_image("A newer image".into()); match result { - Ok(()) => { - assert_eq!(&image, image_model.find(|i| i.id == 0).expect("")); - assert_ne!(&new_image, image_model.find(|i| i.id == 0).expect("")); - } - Err(e) => { - panic!("There was an error adding the image: {e:?}",) + Ok(_) => { + assert_eq!( + &image, + image_model.find(|i| i.id == 0).unwrap() + ); + assert_ne!( + &new_image, + image_model.find(|i| i.id == 0).unwrap() + ); } + Err(e) => assert!( + false, + "There was an error adding the image: {:?}", + e + ), } } - - async fn add_db() -> Result { - let db_url = String::from("sqlite://./test.db"); - SqlitePool::connect(&db_url).await.into_diagnostic() - } } diff --git a/src/core/kinds.rs b/src/core/kinds.rs index d120542..00d9917 100644 --- a/src/core/kinds.rs +++ b/src/core/kinds.rs @@ -1,17 +1,16 @@ -use std::error::Error; -use std::fmt::Display; -use std::path::PathBuf; +use std::{error::Error, fmt::Display, path::PathBuf}; use serde::{Deserialize, Serialize}; -use crate::Slide; -use crate::core::content::Content; -use crate::core::service_items::ServiceItem; +use crate::{ + Slide, + core::{content::Content, service_items::ServiceItem}, +}; -use super::images::Image; -use super::presentations::Presentation; -use super::songs::Song; -use super::videos::Video; +use super::{ + images::Image, presentations::Presentation, songs::Song, + videos::Video, +}; #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub enum ServiceItemKind { @@ -29,11 +28,16 @@ impl TryFrom for ServiceItemKind { let ext = path .extension() .and_then(|ext| ext.to_str()) - .ok_or_else(|| miette::miette!("There isn't an extension on this file"))?; + .ok_or(miette::miette!( + "There isn't an extension on this file" + ))?; match ext { - "png" | "jpg" | "jpeg" => Ok(Self::Image(Image::from(path))), - "mp4" | "mkv" | "webm" => Ok(Self::Video(Video::from(path))), - "pdf" => Ok(Self::Presentation(Presentation::from(path))), + "png" | "jpg" | "jpeg" => { + Ok(Self::Image(Image::from(path))) + } + "mp4" | "mkv" | "webm" => { + Ok(Self::Video(Video::from(path))) + } _ => Err(miette::miette!("Unknown item")), } } @@ -45,7 +49,9 @@ impl ServiceItemKind { Self::Song(song) => song.title.clone(), Self::Video(video) => video.title.clone(), Self::Image(image) => image.title.clone(), - Self::Presentation(presentation) => presentation.title.clone(), + Self::Presentation(presentation) => { + presentation.title.clone() + } Self::Content(_slide) => todo!(), } } @@ -55,7 +61,9 @@ impl ServiceItemKind { Self::Song(song) => song.to_service_item(), Self::Video(video) => video.to_service_item(), Self::Image(image) => image.to_service_item(), - Self::Presentation(presentation) => presentation.to_service_item(), + Self::Presentation(presentation) => { + presentation.to_service_item() + } Self::Content(_slide) => { todo!() } @@ -100,7 +108,9 @@ impl From for String { ServiceItemKind::Song(_) => "song".to_owned(), ServiceItemKind::Video(_) => "video".to_owned(), ServiceItemKind::Image(_) => "image".to_owned(), - ServiceItemKind::Presentation(_) => "presentation".to_owned(), + ServiceItemKind::Presentation(_) => { + "presentation".to_owned() + } ServiceItemKind::Content(_) => "content".to_owned(), } } @@ -114,7 +124,10 @@ pub enum ParseError { impl Error for ParseError {} impl Display for ParseError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn fmt( + &self, + f: &mut std::fmt::Formatter<'_>, + ) -> std::fmt::Result { let message = match self { Self::UnknownType => { "The type does not exist. It needs to be one of 'song', 'video', 'image', 'presentation', or 'content'" @@ -128,6 +141,6 @@ impl Display for ParseError { mod test { #[test] pub fn test_kinds() { - assert_eq!(true, true); + assert_eq!(true, true) } } diff --git a/src/core/mod.rs b/src/core/mod.rs index 442c4ff..4c6c1dc 100644 --- a/src/core/mod.rs +++ b/src/core/mod.rs @@ -12,4 +12,3 @@ pub mod song_search; pub mod songs; pub mod thumbnail; pub mod videos; -pub mod ytdl; diff --git a/src/core/model.rs b/src/core/model.rs index 37cc070..25affdc 100644 --- a/src/core/model.rs +++ b/src/core/model.rs @@ -1,7 +1,4 @@ -use std::borrow::Cow; -use std::fs; -use std::mem::replace; -use std::path::PathBuf; +use std::{borrow::Cow, mem::replace, path::PathBuf}; use cosmic::iced::clipboard::mime::{AllowedMimeTypes, AsMimeTypes}; use miette::{IntoDiagnostic, Result, miette}; @@ -13,10 +10,11 @@ use tracing::debug; pub struct Model { pub items: Vec, pub kind: LibraryKind, - pub sorting_method: Sort, } -#[derive(Debug, Clone, PartialEq, Eq, Copy, Hash, Serialize, Deserialize)] +#[derive( + Debug, Clone, PartialEq, Eq, Copy, Hash, Serialize, Deserialize, +)] pub enum LibraryKind { Song, Video, @@ -24,21 +22,9 @@ pub enum LibraryKind { Presentation, } -#[derive(Debug, Clone, Eq, PartialEq, Copy, Serialize, Deserialize)] -pub enum Sort { - AccessTime(SortDirection), - CreatedTime(SortDirection), - Title(SortDirection), - Secondary(SortDirection), // This can be author or file name -} - -#[derive(Debug, Clone, Eq, PartialEq, Copy, Serialize, Deserialize)] -pub enum SortDirection { - Ascending, - Descending, -} - -#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[derive( + Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, +)] pub struct KindWrapper(pub (LibraryKind, i32)); impl From for LibraryKind { @@ -50,10 +36,14 @@ impl From for LibraryKind { impl TryFrom<(Vec, String)> for KindWrapper { type Error = miette::Error; - fn try_from(value: (Vec, String)) -> std::result::Result { + fn try_from( + value: (Vec, String), + ) -> std::result::Result { let (data, mime) = value; match mime.as_str() { - "application/service-item" => ron::de::from_bytes(&data).into_diagnostic(), + "application/service-item" => { + ron::de::from_bytes(&data).into_diagnostic() + } _ => Err(miette!("Wrong mime type: {mime}")), } } @@ -71,7 +61,10 @@ impl AsMimeTypes for KindWrapper { Cow::from(vec!["application/service-item".to_string()]) } - fn as_bytes(&self, mime_type: &str) -> Option> { + fn as_bytes( + &self, + mime_type: &str, + ) -> Option> { debug!(?self); debug!(mime_type); let ron = ron::ser::to_string(self).ok()?; @@ -90,41 +83,27 @@ impl Model { todo!() } - pub fn update_item

(&mut self, item: T, predicate: P) -> Result<()> - where - P: Fn(&T) -> bool, - { - self.items - .iter() - .position(predicate) - .ok_or_else(|| miette!("Item cannot be found")) - .map(|index| { - self.items - .get_mut(index) - .expect("Since we found position this should always exist") - }) - .map(|current_item| { - let _old_item = replace(current_item, item); - }) + pub fn update_item(&mut self, item: T, index: i32) -> Result<()> { + if let Some(current_item) = self.items.get_mut(index as usize) + { + let _old_item = replace(current_item, item); + Ok(()) + } else { + Err(miette!( + "Item doesn't exist in model. Id was {}", + index + )) + } } - pub fn remove_item

(&mut self, predicate: P) -> Result<()> - where - P: Fn(&T) -> bool, - { - self.items - .iter() - .position(predicate) - .ok_or_else(|| miette!("Item cannot be found")) - .map(|index| { - self.items.remove(index); - }) + pub fn remove_item(&mut self, index: i32) -> Result<()> { + self.items.remove(index as usize); + Ok(()) } #[must_use] pub fn get_item(&self, index: i32) -> Option<&T> { - self.items - .get(usize::try_from(index).expect("shouldn't be negative")) + self.items.get(index as usize) } pub fn find

(&self, f: P) -> Option<&T> @@ -134,8 +113,8 @@ impl Model { self.items.iter().find(f) } - pub fn insert_item(&mut self, item: T, index: usize) -> Result<()> { - self.items.insert(index, item); + pub fn insert_item(&mut self, item: T, index: i32) -> Result<()> { + self.items.insert(index as usize, item); Ok(()) } } @@ -152,12 +131,11 @@ impl Model { // } pub async fn get_db() -> SqliteConnection { - let mut data = dirs::data_local_dir().expect("Should be able to find a data dir"); + let mut data = dirs::data_local_dir().unwrap(); data.push("lumina"); - let _ = fs::create_dir_all(&data); data.push("library-db.sqlite3"); let mut db_url = String::from("sqlite://"); - db_url.push_str(data.to_str().expect("Should be there")); + db_url.push_str(data.to_str().unwrap()); SqliteConnection::connect(&db_url).await.expect("problems") } diff --git a/src/core/presentations.rs b/src/core/presentations.rs index 5e69c0a..0303f84 100644 --- a/src/core/presentations.rs +++ b/src/core/presentations.rs @@ -1,27 +1,27 @@ use cosmic::widget::image::Handle; use crisp::types::{Keyword, Symbol, Value}; -use itertools::Itertools; -use miette::{IntoDiagnostic, Result, miette}; +use miette::{IntoDiagnostic, Result}; use mupdf::{Colorspace, Document, Matrix}; use serde::{Deserialize, Serialize}; -use sqlx::prelude::FromRow; -use sqlx::sqlite::SqliteRow; -use sqlx::types::chrono::{DateTime, Local}; -use sqlx::{AssertSqlSafe, Row, SqliteConnection, SqlitePool, query}; -use std::mem::replace; +use sqlx::{ + Row, Sqlite, SqliteConnection, SqlitePool, pool::PoolConnection, + prelude::FromRow, query, sqlite::SqliteRow, +}; use std::path::{Path, PathBuf}; -use std::sync::Arc; use tracing::{debug, error}; -use crate::core::model::{Sort, SortDirection}; use crate::{Background, Slide, SlideBuilder, TextAlignment}; -use super::content::Content; -use super::kinds::ServiceItemKind; -use super::model::{LibraryKind, Model}; -use super::service_items::ServiceTrait; +use super::{ + content::Content, + kinds::ServiceItemKind, + model::{LibraryKind, Model}, + service_items::ServiceTrait, +}; -#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] +#[derive( + Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize, +)] pub enum PresKind { Html, Pdf { @@ -38,10 +38,6 @@ pub struct Presentation { pub title: String, pub path: PathBuf, pub kind: PresKind, - #[serde(skip)] - pub created_at: DateTime, - #[serde(skip)] - pub accessed_at: DateTime, } impl Eq for Presentation {} @@ -69,24 +65,27 @@ impl From for Presentation { .to_str() .unwrap_or_default() { - "pdf" => Document::open(&value.to_str().unwrap_or_default()).map_or( - PresKind::Pdf { - starting_index: 0, - ending_index: 0, - }, - |document| { - document.page_count().map_or( + "pdf" => { + if let Ok(document) = Document::open(&value.as_path()) + { + if let Ok(count) = document.page_count() { + PresKind::Pdf { + starting_index: 0, + ending_index: count - 1, + } + } else { PresKind::Pdf { starting_index: 0, ending_index: 0, - }, - |count| PresKind::Pdf { - starting_index: 0, - ending_index: count - 1, - }, - ) - }, - ), + } + } + } else { + PresKind::Pdf { + starting_index: 0, + ending_index: 0, + } + } + } "html" => PresKind::Html, _ => PresKind::Generic, }; @@ -95,8 +94,6 @@ impl From for Presentation { title, path: value.canonicalize().unwrap_or(value), kind, - created_at: Local::now(), - accessed_at: Local::now(), } } } @@ -132,10 +129,11 @@ impl Content for Presentation { fn subtext(&self) -> String { if self.path.exists() { - self.path.file_name().map_or_else( - || "Missing presentation".into(), - |f| f.to_string_lossy().to_string(), - ) + self.path + .file_name() + .map_or("Missing presentation".into(), |f| { + f.to_string_lossy().to_string() + }) } else { "Missing presentation".into() } @@ -148,24 +146,24 @@ impl From for Presentation { } } -#[allow(clippy::option_if_let_else)] impl From<&Value> for Presentation { fn from(value: &Value) -> Self { match value { Value::List(list) => { - let path = if let Some(path_pos) = list - .iter() - .position(|v| v == &Value::Keyword(Keyword::from("source"))) - { + let path = if let Some(path_pos) = + list.iter().position(|v| { + v == &Value::Keyword(Keyword::from("source")) + }) { let pos = path_pos + 1; - list.get(pos).map(|p| PathBuf::from(String::from(p))) + list.get(pos) + .map(|p| PathBuf::from(String::from(p))) } else { None }; - let title = path - .clone() - .map(|p| p.to_str().unwrap_or_default().to_string()); + let title = path.clone().map(|p| { + p.to_str().unwrap_or_default().to_string() + }); Self { title: title.unwrap_or_default(), path: path.unwrap_or_default(), @@ -193,11 +191,14 @@ impl ServiceTrait for Presentation { ending_index, } = self.kind else { - return Err(miette::miette!("This is not a pdf presentation")); + return Err(miette::miette!( + "This is not a pdf presentation" + )); }; - let background = Background::try_from(self.path.clone()).into_diagnostic()?; + let background = Background::try_from(self.path.clone()) + .into_diagnostic()?; debug!(?background); - let document = Document::open(background.path.to_str().unwrap_or_default()) + let document = Document::open(background.path.as_path()) .into_diagnostic()?; debug!(?document); let pages = document.pages().into_diagnostic()?; @@ -205,13 +206,15 @@ impl ServiceTrait for Presentation { let pages: Vec = pages .enumerate() .filter_map(|(index, page)| { - let index = i32::try_from(index).expect("Shouldn't be that high"); - - if index < starting_index || index > ending_index { + if (index as i32) < starting_index { + return None; + } else if (index as i32) > ending_index { return None; } - let page = page.ok()?; + let Some(page) = page.ok() else { + return None; + }; let matrix = Matrix::IDENTITY; let colorspace = Colorspace::device_rgb(); let Ok(pixmap) = page @@ -233,7 +236,10 @@ impl ServiceTrait for Presentation { let mut slides: Vec = vec![]; for (index, page) in pages.into_iter().enumerate() { let slide = SlideBuilder::new() - .background(Background::try_from(self.path.clone()).into_diagnostic()?) + .background( + Background::try_from(self.path.clone()) + .into_diagnostic()?, + ) .text("") .audio("") .font("") @@ -242,7 +248,7 @@ impl ServiceTrait for Presentation { .video_loop(false) .video_start_time(0.0) .video_end_time(0.0) - .pdf_index(u32::try_from(index).expect("Shouldn't get that high")) + .pdf_index(index as u32) .pdf_page(page) .build()?; slides.push(slide); @@ -288,28 +294,27 @@ impl FromRow<'_, SqliteRow> for Presentation { ending_index: row.try_get(5)?, } }, - created_at: Local::now(), - accessed_at: Local::now(), }) } } impl Model { - pub async fn new_presentation_model(db: Arc) -> Self { + pub async fn new_presentation_model(db: &mut SqlitePool) -> Self { let mut model = Self { items: vec![], kind: LibraryKind::Presentation, - sorting_method: Sort::AccessTime(SortDirection::Descending), }; - model.load_from_db(db).await; + let mut db = db.acquire().await.expect("probs"); + + model.load_from_db(&mut db).await; model } - pub async fn load_from_db(&mut self, db: Arc) { + pub async fn load_from_db(&mut self, db: &mut SqliteConnection) { let result = query!( - r#"SELECT id as "id: i32", title, file_path as "path", html, starting_index, ending_index, accessed_at as "accessed_at!: DateTime", created_at as "created_at!: DateTime" from presentations"# + r#"SELECT id as "id: i32", title, file_path as "path", html, starting_index, ending_index from presentations"# ) - .fetch_all(&*db) + .fetch_all(db) .await; match result { @@ -321,214 +326,176 @@ impl Model { path: presentation.path.clone().into(), kind: if presentation.html { PresKind::Html - } else if let (Some(starting_index), Some(ending_index)) = - (presentation.starting_index, presentation.ending_index) - { + } else if let ( + Some(starting_index), + Some(ending_index), + ) = ( + presentation.starting_index, + presentation.ending_index, + ) { PresKind::Pdf { - starting_index: i32::try_from(starting_index) - .expect("Shouldn't get that high"), - ending_index: i32::try_from(ending_index) - .expect("Shouldn't get that high"), + starting_index: starting_index as i32, + ending_index: ending_index as i32, } } else { - let path = PathBuf::from(presentation.path); - - Document::open(path.to_str().unwrap_or_default()).map_or( - PresKind::Generic, - |document| { - document.page_count().map_or( - PresKind::Pdf { - starting_index: 0, - ending_index: 0, - }, - |count| { - let ending_index = count - 1; - PresKind::Pdf { - starting_index: 0, - ending_index, - } - }, - ) - }, - ) + let path = + PathBuf::from(presentation.path); + if let Ok(document) = + Document::open(path.as_path()) + { + if let Ok(count) = + document.page_count() + { + let ending_index = count - 1; + PresKind::Pdf { + starting_index: 0, + ending_index, + } + } else { + PresKind::Pdf { + starting_index: 0, + ending_index: 0, + } + } + } else { + PresKind::Generic + } }, - created_at: presentation.created_at, - accessed_at: presentation.accessed_at, }); } } - Err(e) => error!("There was an error in converting presentations: {e}"), + Err(e) => error!( + "There was an error in converting presentations: {e}" + ), } } - - pub fn sort(&mut self) { - match self.sorting_method { - Sort::AccessTime(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.accessed_at.cmp(&a.accessed_at)) - } - Sort::AccessTime(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.accessed_at.cmp(&b.accessed_at)) - } - Sort::Title(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.title.cmp(&a.title)) - } - Sort::Title(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.title.cmp(&b.title)) - } - Sort::CreatedTime(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.created_at.cmp(&a.created_at)) - } - Sort::CreatedTime(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.created_at.cmp(&b.created_at)) - } - Sort::Secondary(SortDirection::Descending) => { - self.items.sort_by(|a, b| b.path.cmp(&a.path)) - } - Sort::Secondary(SortDirection::Ascending) => { - self.items.sort_by(|a, b| a.path.cmp(&b.path)) - } - } - } - - pub fn set_sort(mut self, method: Sort) -> Self { - self.sorting_method = method; - self.sort(); - self - } } -pub async fn remove_presentations( - db: Arc, - presentations: Vec, - ids: Vec, -) -> Result> { - let presentations = presentations - .into_iter() - .filter(|current_presentation| !ids.contains(¤t_presentation.id)) - .collect(); - - let delete = format!( - "DELETE FROM presentations WHERE id IN ({:})", - ids.iter().map(ToString::to_string).join(", ") - ); - - query(AssertSqlSafe(delete)) - .execute(&*db) - .await - .into_diagnostic() - .map(|_| presentations) -} - -pub async fn remove_presentation( - db: Arc, - mut presentations: Vec, +pub async fn remove_from_db( + db: PoolConnection, id: i32, -) -> Result> { +) -> Result<()> { query!("DELETE FROM presentations WHERE id = $1", id) - .execute(&*db) + .execute(&mut db.detach()) .await .into_diagnostic() - .map(|_| ())?; - - let index = presentations - .iter() - .position(|current_presentation| current_presentation.id == id) - .ok_or_else(|| miette!("Could not find presentation in model"))?; - presentations.remove(index); - Ok(presentations) + .map(|_| ()) } -pub async fn add_presentation( - new_presentations: Vec, - mut current_presentations: Vec, - db: Arc, -) -> Result> { - for presentation in new_presentations { - let path = presentation - .path - .to_str() - .map(std::string::ToString::to_string) - .unwrap_or_default(); - let html = presentation.kind == PresKind::Html; - let (starting_index, ending_index) = if let PresKind::Pdf { - starting_index, - ending_index, - } = presentation.kind - { - (starting_index, ending_index) - } else { - (0, 0) - }; - query!( - r#"INSERT INTO presentations (title, file_path, html, starting_index, ending_index) VALUES ($1, $2, $3, $4, $5)"#, - presentation.title, - path, - html, - starting_index, - ending_index - ) - .execute(&*db) - .await - .into_diagnostic()?; - - current_presentations.push(presentation); - } - Ok(current_presentations) -} - -pub async fn update_presentation( +pub async fn add_presentation_to_db( presentation: Presentation, - mut presentations: Vec, - db: Arc, -) -> Result> { + db: PoolConnection, +) -> Result<()> { let path = presentation .path .to_str() .map(std::string::ToString::to_string) .unwrap_or_default(); let html = presentation.kind == PresKind::Html; - let (starting_index, ending_index) = if let PresKind::Pdf { + let mut db = db.detach(); + query!( + r#"INSERT INTO presentations (title, file_path, html) VALUES ($1, $2, $3)"#, + presentation.title, + path, + html, + ) + .execute(&mut db) + .await + .into_diagnostic()?; + Ok(()) +} + +pub async fn update_presentation_in_db( + presentation: Presentation, + db: PoolConnection, +) -> Result<()> { + let path = presentation + .path + .to_str() + .map(std::string::ToString::to_string) + .unwrap_or_default(); + let html = presentation.kind == PresKind::Html; + let mut db = db.detach(); + let mut starting_index = 0; + let mut ending_index = 0; + if let PresKind::Pdf { starting_index: s_index, ending_index: e_index, } = presentation.get_kind() { - (*s_index, *e_index) - } else { - (0, 0) - }; - debug!(starting_index, ending_index); + starting_index = *s_index; + ending_index = *e_index; + } + let id = presentation.id; + if let Err(e) = + query!("SELECT id FROM presentations where id = $1", id) + .fetch_one(&mut db) + .await + { + if let Ok(ids) = query!("SELECT id FROM presentations") + .fetch_all(&mut db) + .await + { + let Some(mut max) = ids.iter().map(|r| r.id).max() else { + return Err(miette::miette!("cannot find max id")); + }; + debug!(?e, "Presentation not found"); + max += 1; + let result = query!( + r#"INSERT into presentations VALUES($1, $2, $3, $4, $5, $6)"#, + max, + presentation.title, + path, + html, + starting_index, + ending_index, + ) + .execute(&mut db) + .await + .into_diagnostic(); - query!( - r#"UPDATE presentations SET title = $2, file_path = $3, html = $4, starting_index = $5, ending_index = $6 WHERE id = $1"#, + return match result { + Ok(_) => { + debug!("should have been updated"); + Ok(()) + } + Err(e) => { + error! {?e}; + Err(e) + } + }; + } + return Err(miette::miette!("cannot find ids")); + } + + debug!(?presentation, "should be been updated"); + let result = query!( + r#"UPDATE presentations SET title = $2, file_path = $3, html = $4 WHERE id = $1"#, presentation.id, presentation.title, path, - html, - starting_index, - ending_index + html ) - .execute(&*db) - .await.into_diagnostic()?; + .execute(&mut db) + .await.into_diagnostic(); - let current_presentation = presentations - .iter() - .position(|current_presentation| current_presentation.id == presentation.id) - .ok_or_else(|| miette!("Could not find presentation in model")) - .map(|index| { - presentations - .get_mut(index) - .expect("We should have this presentation already") - })?; - - let _ = replace(current_presentation, presentation); - Ok(presentations) + match result { + Ok(_) => { + debug!("should have been updated"); + Ok(()) + } + Err(e) => { + error! {?e}; + Err(e) + } + } } pub async fn get_presentation_from_db( database_id: i32, db: &mut SqliteConnection, ) -> Result { - let row = query(r#"SELECT id as "id: i32", title, file_path as "path", html, accessed_at as "accessed_at!: DateTime", created_at as "created_at!: DateTime" from presentations where id = $1"#).bind(database_id).fetch_one(db).await.into_diagnostic()?; + let row = query(r#"SELECT id as "id: i32", title, file_path as "path", html from presentations where id = $1"#).bind(database_id).fetch_one(db).await.into_diagnostic()?; Presentation::from_row(&row).into_diagnostic() } @@ -539,27 +506,19 @@ mod test { fn test_presentation() -> Presentation { Presentation { - id: 4, - title: "mzt52.pdf".into(), - path: PathBuf::from("/home/chris/docs/mzt52.pdf"), - kind: PresKind::Pdf { - starting_index: 0, - ending_index: 67, - }, - created_at: Local::now(), - accessed_at: Local::now(), + id: 54, + title: "20240327T133649--12-isaiah-and-jesus__lesson_project_tfc".into(), + path: PathBuf::from( + "file:///home/chris/docs/notes/lessons/20240327T133649--12-isaiah-and-jesus__lesson_project_tfc.html", + ), + kind: PresKind::Html, } } #[test] pub fn test_pres() { let pres = Presentation::new(); - assert_eq!(pres.get_kind(), &PresKind::Generic); - } - - async fn add_db() -> Result { - let db_url = String::from("sqlite://./test.db"); - SqlitePool::connect(&db_url).await.into_diagnostic() + assert_eq!(pres.get_kind(), &PresKind::Generic) } #[tokio::test] @@ -567,15 +526,16 @@ mod test { let mut presentation_model: Model = Model { items: vec![], kind: LibraryKind::Presentation, - sorting_method: Sort::AccessTime(SortDirection::Descending), }; - let db = Arc::new(add_db().await.expect("Getting db error")); - presentation_model.load_from_db(db).await; - if let Some(presentation) = presentation_model.find(|p| p.id == 4) { + let mut db = crate::core::model::get_db().await; + presentation_model.load_from_db(&mut db).await; + if let Some(presentation) = + presentation_model.find(|p| p.id == 54) + { let test_presentation = test_presentation(); assert_eq!(&test_presentation, presentation); } else { - panic!(); + assert!(false); } } } diff --git a/src/core/service_items.rs b/src/core/service_items.rs index 10fa1a5..8a4481b 100644 --- a/src/core/service_items.rs +++ b/src/core/service_items.rs @@ -32,7 +32,7 @@ impl Eq for ServiceItem {} impl PartialOrd for ServiceItem { fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) + self.id.partial_cmp(&other.id) } } @@ -45,7 +45,9 @@ impl Ord for ServiceItem { impl TryFrom<(Vec, String)> for ServiceItem { type Error = miette::Error; - fn try_from(value: (Vec, String)) -> std::result::Result { + fn try_from( + value: (Vec, String), + ) -> std::result::Result { let (data, mime) = value; debug!(?mime); ron::de::from_bytes(&data).into_diagnostic() @@ -68,7 +70,10 @@ impl AsMimeTypes for ServiceItem { Cow::from(vec!["application/service-item".to_string()]) } - fn as_bytes(&self, mime_type: &str) -> Option> { + fn as_bytes( + &self, + mime_type: &str, + ) -> Option> { debug!(?self); debug!(mime_type); let ron = ron::ser::to_string(self).ok()?; @@ -84,10 +89,16 @@ impl TryFrom for ServiceItem { let ext = path .extension() .and_then(|ext| ext.to_str()) - .ok_or_else(|| miette::miette!("There isn't an extension on this file"))?; + .ok_or(miette::miette!( + "There isn't an extension on this file" + ))?; match ext { - "png" | "jpg" | "jpeg" => Ok(Self::from(&Image::from(path))), - "mp4" | "mkv" | "webm" => Ok(Self::from(&Video::from(path))), + "png" | "jpg" | "jpeg" => { + Ok(Self::from(&Image::from(path))) + } + "mp4" | "mkv" | "webm" => { + Ok(Self::from(&Video::from(path))) + } _ => Err(miette!("Unkown service item")), } } @@ -99,7 +110,9 @@ impl From<&ServiceItem> for Value { ServiceItemKind::Song(song) => Self::from(song), ServiceItemKind::Video(video) => Self::from(video), ServiceItemKind::Image(image) => Self::from(image), - ServiceItemKind::Presentation(presentation) => Self::from(presentation), + ServiceItemKind::Presentation(presentation) => { + Self::from(presentation) + } ServiceItemKind::Content(slide) => Self::from(slide), } } @@ -115,8 +128,12 @@ impl ServiceItem { ServiceItemKind::Song(song) => song.to_slides(), ServiceItemKind::Video(video) => video.to_slides(), ServiceItemKind::Image(image) => image.to_slides(), - ServiceItemKind::Presentation(presentation) => presentation.to_slides(), - ServiceItemKind::Content(slide) => Ok(vec![slide.clone()]), + ServiceItemKind::Presentation(presentation) => { + presentation.to_slides() + } + ServiceItemKind::Content(slide) => { + Ok(vec![slide.clone()]) + } } } } @@ -140,8 +157,6 @@ impl From for ServiceItem { } } -#[allow(clippy::option_if_let_else)] -#[allow(clippy::match_like_matches_macro)] impl From<&Value> for ServiceItem { fn from(value: &Value) -> Self { match value { @@ -158,44 +173,70 @@ impl From<&Value> for ServiceItem { _ => false, }) .map_or_else(|| 1, |pos| pos + 1); - if let Some(_content) = list.iter().position(|v| match v { - Value::List(list) - if list.iter().next() - == Some(&Value::Symbol(Symbol("text".into()))) => - { - list.iter().next().is_some() - } - _ => false, - }) { + if let Some(_content) = + list.iter().position(|v| match v { + Value::List(list) + if list.iter().next() + == Some(&Value::Symbol( + Symbol("text".into()), + )) => + { + list.iter().next().is_some() + } + _ => false, + }) + { let slide = Slide::from(value); let title = slide.text(); Self { id: 0, title, database_id: 0, - kind: ServiceItemKind::Content(slide.clone()), + kind: ServiceItemKind::Content( + slide.clone(), + ), slides: vec![slide], } - } else if let Some(background) = list.get(background_pos) { + } else if let Some(background) = + list.get(background_pos) + { if let Value::List(item) = background { match &item[0] { - Value::Symbol(Symbol(s)) if s == "image" => { - Self::from(&Image::from(background)) + Value::Symbol(Symbol(s)) + if s == "image" => + { + Self::from(&Image::from( + background, + )) } - Value::Symbol(Symbol(s)) if s == "video" => { - Self::from(&Video::from(background)) + Value::Symbol(Symbol(s)) + if s == "video" => + { + Self::from(&Video::from( + background, + )) } - Value::Symbol(Symbol(s)) if s == "presentation" => { - Self::from(&Presentation::from(background)) + Value::Symbol(Symbol(s)) + if s == "presentation" => + { + Self::from(&Presentation::from( + background, + )) } _ => todo!(), } } else { - error!("There is no background here: {:?}", background); + error!( + "There is no background here: {:?}", + background + ); Self::default() } } else { - error!("There is no background here: {:?}", background_pos); + error!( + "There is no background here: {:?}", + background_pos + ); Self::default() } } @@ -239,61 +280,64 @@ impl From> for Service { impl From<&Song> for ServiceItem { fn from(song: &Song) -> Self { - song.to_slides().map_or_else( - |_| Self { - kind: ServiceItemKind::Song(song.clone()), - database_id: song.id, - title: song.title.clone(), - ..Default::default() - }, - |slides| Self { + if let Ok(slides) = song.to_slides() { + Self { kind: ServiceItemKind::Song(song.clone()), database_id: song.id, title: song.title.clone(), slides, ..Default::default() - }, - ) + } + } else { + Self { + kind: ServiceItemKind::Song(song.clone()), + database_id: song.id, + title: song.title.clone(), + ..Default::default() + } + } } } impl From<&Video> for ServiceItem { fn from(video: &Video) -> Self { - video.to_slides().map_or_else( - |_| Self { - kind: ServiceItemKind::Video(video.clone()), - database_id: video.id, - title: video.title.clone(), - ..Default::default() - }, - |slides| Self { + if let Ok(slides) = video.to_slides() { + Self { kind: ServiceItemKind::Video(video.clone()), database_id: video.id, title: video.title.clone(), slides, ..Default::default() - }, - ) + } + } else { + Self { + kind: ServiceItemKind::Video(video.clone()), + database_id: video.id, + title: video.title.clone(), + ..Default::default() + } + } } } impl From<&Image> for ServiceItem { fn from(image: &Image) -> Self { - image.to_slides().map_or_else( - |_| Self { - kind: ServiceItemKind::Image(image.clone()), - database_id: image.id, - title: image.title.clone(), - ..Default::default() - }, - |slides| Self { + if let Ok(slides) = image.to_slides() { + Self { kind: ServiceItemKind::Image(image.clone()), database_id: image.id, title: image.title.clone(), slides, ..Default::default() - }, - ) + } + } else { + Self { + kind: ServiceItemKind::Image(image.clone()), + database_id: image.id, + title: image.title.clone(), + ..Default::default() + } + } } } @@ -301,7 +345,9 @@ impl From<&Presentation> for ServiceItem { fn from(presentation: &Presentation) -> Self { match presentation.to_slides() { Ok(slides) => Self { - kind: ServiceItemKind::Presentation(presentation.clone()), + kind: ServiceItemKind::Presentation( + presentation.clone(), + ), database_id: presentation.id, title: presentation.title.clone(), slides, @@ -310,7 +356,9 @@ impl From<&Presentation> for ServiceItem { Err(e) => { error!(?e); Self { - kind: ServiceItemKind::Presentation(presentation.clone()), + kind: ServiceItemKind::Presentation( + presentation.clone(), + ), database_id: presentation.id, title: presentation.title.clone(), ..Default::default() @@ -320,11 +368,14 @@ impl From<&Presentation> for ServiceItem { } } -#[allow(unused)] impl Service { - fn add_item(&mut self, item: impl Into) { + fn add_item( + &mut self, + item: impl Into, + ) -> Result<()> { let service_item: ServiceItem = item.into(); self.items.push(service_item); + Ok(()) } pub fn to_slides(&self) -> Result> { @@ -340,7 +391,7 @@ impl Service { .collect::>(); let mut final_slides = vec![]; for (index, mut slide) in slides.into_iter().enumerate() { - slide.set_index(i32::try_from(index).into_diagnostic()?); + slide.set_index(index as i32); final_slides.push(slide); } Ok(final_slides) @@ -361,7 +412,10 @@ impl Clone for Box { } impl std::fmt::Debug for Box { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { + fn fmt( + &self, + f: &mut std::fmt::Formatter<'_>, + ) -> Result<(), std::fmt::Error> { write!(f, "{}: {}", self.id(), self.title()) } } @@ -374,7 +428,6 @@ mod test { use super::*; use pretty_assertions::assert_eq; - use sqlx::types::chrono::Local; fn test_song() -> Song { Song { @@ -391,8 +444,6 @@ mod test { "~/docs/notes/lessons/20240327T133649--12-isaiah-and-jesus__lesson_project_tfc.html", ), kind: PresKind::Html, - created_at: Local::now(), - accessed_at: Local::now(), } } @@ -403,9 +454,19 @@ mod test { let pres = test_presentation(); let pres_item = ServiceItem::from(&pres); let mut service_model = Service::default(); - service_model.add_item(&song); - assert_eq!(ServiceItemKind::Song(song), service_model.items[0].kind); - assert_eq!(ServiceItemKind::Presentation(pres), pres_item.kind); - assert_eq!(service_item, service_model.items[0]); + match service_model.add_item(&song) { + Ok(_) => { + assert_eq!( + ServiceItemKind::Song(song), + service_model.items[0].kind + ); + assert_eq!( + ServiceItemKind::Presentation(pres), + pres_item.kind + ); + assert_eq!(service_item, service_model.items[0]); + } + Err(e) => panic!("Problem adding item: {:?}", e), + } } } diff --git a/src/core/settings.rs b/src/core/settings.rs index 820542e..9b64ea1 100644 --- a/src/core/settings.rs +++ b/src/core/settings.rs @@ -1,17 +1,20 @@ // SPDX-License-Identifier: GPL-3.0-only -use cosmic::cosmic_config::cosmic_config_derive::CosmicConfigEntry; -use cosmic::cosmic_config::{self, CosmicConfigEntry}; -use cosmic::theme; +use cosmic::{ + cosmic_config::{ + self, CosmicConfigEntry, + cosmic_config_derive::CosmicConfigEntry, + }, + theme, +}; use serde::{Deserialize, Serialize}; -use std::collections::VecDeque; -use std::path::PathBuf; - -use crate::core::model::Sort; +use std::{collections::VecDeque, path::PathBuf}; pub const SETTINGS_VERSION: u64 = 1; -#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)] +#[derive( + Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize, +)] pub enum AppTheme { Dark, Light, @@ -28,16 +31,19 @@ impl AppTheme { } } -#[derive(Clone, CosmicConfigEntry, Debug, Deserialize, Eq, PartialEq, Serialize)] +#[derive( + Clone, + CosmicConfigEntry, + Debug, + Deserialize, + Eq, + PartialEq, + Serialize, +)] #[serde(default)] pub struct Settings { pub app_theme: AppTheme, pub obs_url: Option, - pub genius_token: Option, - pub song_sort: Option, - pub image_sort: Option, - pub video_sort: Option, - pub presentation_sort: Option, } impl Default for Settings { @@ -45,17 +51,19 @@ impl Default for Settings { Self { app_theme: AppTheme::System, obs_url: None, - genius_token: None, - song_sort: None, - image_sort: None, - video_sort: None, - presentation_sort: None, } } } #[derive( - Clone, CosmicConfigEntry, Debug, Deserialize, Eq, PartialEq, Serialize, Default, + Clone, + CosmicConfigEntry, + Debug, + Deserialize, + Eq, + PartialEq, + Serialize, + Default, )] pub struct PersistentState { pub recent_files: VecDeque, diff --git a/src/core/slide.rs b/src/core/slide.rs old mode 100755 new mode 100644 index 49329e8..048bcb3 --- a/src/core/slide.rs +++ b/src/core/slide.rs @@ -1,46 +1,47 @@ -#![allow(clippy::similar_names, unused)] -use cosmic::iced::Size; -use cosmic::iced::core::image::Allocation; -use cosmic::widget::image::Handle; +use cosmic::{ + cosmic_theme::palette::rgb::Rgba, widget::image::Handle, +}; // use cosmic::dialog::ashpd::url::Url; use crisp::types::{Keyword, Symbol, Value}; use iced_video_player::Video; -use image::EncodableLayout; use miette::{Result, miette}; use serde::{Deserialize, Serialize}; -use std::fmt::Display; -use std::path::{Path, PathBuf}; +use std::{ + fmt::Display, + path::{Path, PathBuf}, +}; use tracing::error; -use crate::ui::gst_video; -use crate::ui::text_svg::{Color, Font, Shadow, Stroke, TextSvg}; +use crate::ui::text_svg::TextSvg; use super::songs::Song; -#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] +#[derive( + Clone, Debug, Default, PartialEq, Serialize, Deserialize, +)] pub struct Slide { id: i32, pub(crate) background: Background, - #[serde(skip)] - pub(crate) thumbnail: Option, text: String, - font: Option, + font: String, font_size: i32, - stroke: Option, - shadow: Option, + stroke_size: i32, + stroke_color: Option, text_alignment: TextAlignment, - text_color: Option, audio: Option, video_loop: bool, video_start_time: f32, video_end_time: f32, pdf_index: u32, - pub text_svg: Option, #[serde(skip)] pdf_page: Option, + #[serde(skip)] + pub text_svg: Option, } -#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] +#[derive( + Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize, +)] pub enum BackgroundKind { #[default] Image, @@ -49,7 +50,24 @@ pub enum BackgroundKind { Html, } -#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize, Hash)] +#[derive(Debug, Clone, Default)] +struct Image { + pub source: String, + pub fit: String, + pub children: Vec, +} + +#[derive( + Clone, + Copy, + Debug, + Default, + PartialEq, + Eq, + Serialize, + Deserialize, + Hash, +)] pub enum TextAlignment { TopLeft, TopCenter, @@ -79,20 +97,20 @@ impl From<&Value> for TextAlignment { } } -#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] +#[derive( + Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize, +)] pub struct Background { pub path: PathBuf, pub kind: BackgroundKind, - #[serde(skip)] - pub image_handle: Option, - #[serde(skip)] - pub image_allocation: Option, } impl TryFrom<&Background> for Video { type Error = ParseError; - fn try_from(value: &Background) -> std::result::Result { + fn try_from( + value: &Background, + ) -> std::result::Result { Self::new( &url::Url::from_file_path(value.path.clone()) .map_err(|()| ParseError::BackgroundNotVideo)?, @@ -104,17 +122,14 @@ impl TryFrom<&Background> for Video { impl TryFrom for Video { type Error = ParseError; - fn try_from(value: Background) -> std::result::Result { - let url = &url::Url::from_file_path(value.path) - .map_err(|()| ParseError::BackgroundNotVideo)?; - - let settings = gst_video::VideoSettings { - mute: true, - framerate: 30, - appsink_name: "lumina_video".to_string(), - }; - gst_video::create_video(url, &settings) - .map_err(|_| ParseError::BackgroundNotVideo) + fn try_from( + value: Background, + ) -> std::result::Result { + Self::new( + &url::Url::from_file_path(value.path) + .map_err(|()| ParseError::BackgroundNotVideo)?, + ) + .map_err(|_| ParseError::BackgroundNotVideo) } } @@ -129,12 +144,12 @@ impl TryFrom for Background { type Error = ParseError; fn try_from(path: PathBuf) -> Result { let path = if path.starts_with("~") { - let path = path.to_str().expect("Should have a string").to_string(); + let path = path.to_str().unwrap().to_string(); let path = path.trim_start_matches("file://"); let home = dirs::home_dir() - .expect("We should have a home directory") + .unwrap() .to_str() - .expect("Gah") + .unwrap() .to_string(); let path = path.replace('~', &home); PathBuf::from(path) @@ -151,28 +166,20 @@ impl TryFrom for Background { .unwrap_or_default(); match extension { "jpeg" | "jpg" | "png" | "webp" => Ok(Self { - path: value.clone(), + path: value, kind: BackgroundKind::Image, - image_handle: Some(value.into()), - image_allocation: None, }), "mp4" | "mkv" | "webm" => Ok(Self { path: value, kind: BackgroundKind::Video, - image_handle: None, - image_allocation: None, }), "pdf" => Ok(Self { path: value, kind: BackgroundKind::Pdf, - image_handle: None, - image_allocation: None, }), "html" => Ok(Self { path: value, kind: BackgroundKind::Html, - image_handle: None, - image_allocation: None, }), _ => Err(ParseError::NonBackgroundFile), } @@ -190,18 +197,16 @@ impl TryFrom<&str> for Background { fn try_from(value: &str) -> Result { let value = value.trim_start_matches("file://"); if value.starts_with('~') { - dirs::home_dir().map_or_else( - || Self::try_from(PathBuf::from(value)), - |home| { - home.to_str().map_or_else( - || Self::try_from(PathBuf::from(value)), - |home| { - let value = value.replace('~', home); - Self::try_from(PathBuf::from(value)) - }, - ) - }, - ) + if let Some(home) = dirs::home_dir() { + if let Some(home) = home.to_str() { + let value = value.replace('~', home); + Self::try_from(PathBuf::from(value)) + } else { + Self::try_from(PathBuf::from(value)) + } + } else { + Self::try_from(PathBuf::from(value)) + } } else if value.starts_with("./") { Err(ParseError::CannotCanonicalize) } else { @@ -228,12 +233,21 @@ pub enum ParseError { impl std::error::Error for ParseError {} impl Display for ParseError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn fmt( + &self, + f: &mut std::fmt::Formatter<'_>, + ) -> std::fmt::Result { let message = match self { - Self::NonBackgroundFile => "The file is not a recognized image or video type", + Self::NonBackgroundFile => { + "The file is not a recognized image or video type" + } Self::DoesNotExist => "This file doesn't exist", - Self::CannotCanonicalize => "Could not canonicalize this file", - Self::BackgroundNotVideo => "This background isn't a video", + Self::CannotCanonicalize => { + "Could not canonicalize this file" + } + Self::BackgroundNotVideo => { + "This background isn't a video" + } }; write!(f, "Error: {message}") } @@ -256,116 +270,68 @@ impl From<&Slide> for Value { } impl Slide { - #[must_use] pub fn set_text(mut self, text: impl AsRef) -> Self { self.text = text.as_ref().into(); self } - #[must_use] pub fn with_text_svg(mut self, text_svg: TextSvg) -> Self { self.text_svg = Some(text_svg); self } - #[must_use] pub fn set_font(mut self, font: impl AsRef) -> Self { - self.font = Some(font.as_ref().into()); + self.font = font.as_ref().into(); self } - #[must_use] pub const fn set_font_size(mut self, font_size: i32) -> Self { self.font_size = font_size; self } - #[must_use] pub fn set_audio(mut self, audio: Option) -> Self { self.audio = audio; self } - #[must_use] pub const fn set_pdf_index(mut self, pdf_index: u32) -> Self { self.pdf_index = pdf_index; self } - #[must_use] - pub const fn set_stroke(mut self, stroke: Stroke) -> Self { - self.stroke = Some(stroke); - self - } - - #[must_use] - pub const fn set_shadow(mut self, shadow: Shadow) -> Self { - self.shadow = Some(shadow); - self - } - - #[must_use] - pub const fn set_text_color(mut self, color: Color) -> Self { - self.text_color = Some(color); - self - } - - #[must_use] pub const fn background(&self) -> &Background { &self.background } - #[must_use] pub fn text(&self) -> String { self.text.clone() } - #[must_use] pub const fn text_alignment(&self) -> TextAlignment { self.text_alignment } - #[must_use] pub const fn font_size(&self) -> i32 { self.font_size } - #[must_use] - pub fn font(&self) -> Option { + pub fn font(&self) -> String { self.font.clone() } - #[must_use] pub const fn video_loop(&self) -> bool { self.video_loop } - #[must_use] pub fn audio(&self) -> Option { self.audio.clone() } - #[must_use] pub fn pdf_page(&self) -> Option { self.pdf_page.clone() } - #[must_use] - pub fn text_color(&self) -> Option { - self.text_color.clone() - } - - #[must_use] - pub fn stroke(&self) -> Option { - self.stroke.clone() - } - - #[must_use] - pub fn shadow(&self) -> Option { - self.shadow.clone() - } - - #[must_use] pub const fn pdf_index(&self) -> u32 { self.pdf_index } @@ -380,7 +346,9 @@ impl Slide { .background(song.background.unwrap_or_default()) .font(song.font.unwrap_or_default()) .font_size(song.font_size.unwrap_or_default()) - .text_alignment(song.text_alignment.unwrap_or_default()) + .text_alignment( + song.text_alignment.unwrap_or_default(), + ) .audio(song.audio.unwrap_or_default()) .video_loop(true) .video_start_time(0.0) @@ -398,6 +366,10 @@ impl Slide { self.id = index; } + pub(crate) fn text_to_image(&self) { + todo!() + } + // pub fn slides_from_item(item: &ServiceItem) -> Result> { // todo!() // } @@ -418,16 +390,15 @@ impl From<&Value> for Slide { } } -#[allow(clippy::option_if_let_else)] -fn lisp_to_slide(lisp: &[Value]) -> Slide { +fn lisp_to_slide(lisp: &Vec) -> Slide { const DEFAULT_BACKGROUND_LOCATION: usize = 1; const DEFAULT_TEXT_LOCATION: usize = 0; let mut slide = SlideBuilder::new(); - let background_position = if let Some(background) = lisp - .iter() - .position(|v| v == &Value::Keyword(Keyword::from("background"))) - { + let background_position = if let Some(background) = + lisp.iter().position(|v| { + v == &Value::Keyword(Keyword::from("background")) + }) { background + 1 } else { DEFAULT_BACKGROUND_LOCATION @@ -441,7 +412,8 @@ fn lisp_to_slide(lisp: &[Value]) -> Slide { let text_position = lisp.iter().position(|v| match v { Value::List(vec) => { - vec[DEFAULT_TEXT_LOCATION] == Value::Symbol(Symbol::from("text")) + vec[DEFAULT_TEXT_LOCATION] + == Value::Symbol(Symbol::from("text")) } _ => false, }); @@ -482,15 +454,17 @@ fn lisp_to_slide(lisp: &[Value]) -> Slide { } } -#[allow(clippy::option_if_let_else)] fn lisp_to_font_size(lisp: &Value) -> i32 { match lisp { Value::List(list) => { - if let Some(font_size_position) = list - .iter() - .position(|v| v == &Value::Keyword(Keyword::from("font-size"))) + if let Some(font_size_position) = + list.iter().position(|v| { + v == &Value::Keyword(Keyword::from("font-size")) + }) { - if let Some(font_size_value) = list.get(font_size_position + 1) { + if let Some(font_size_value) = + list.get(font_size_position + 1) + { font_size_value.into() } else { 50 @@ -512,15 +486,13 @@ fn lisp_to_text(lisp: &Value) -> impl Into { // Need to return a Result here so that we can propogate // errors and then handle them appropriately -#[allow(clippy::option_if_let_else)] pub fn lisp_to_background(lisp: &Value) -> Background { match lisp { Value::List(list) => { let _kind = list[0].clone(); - if let Some(source) = list - .iter() - .position(|v| v == &Value::Keyword(Keyword::from("source"))) - { + if let Some(source) = list.iter().position(|v| { + v == &Value::Keyword(Keyword::from("source")) + }) { let source = &list[source + 1]; match source { Value::String(s) => { @@ -538,7 +510,9 @@ pub fn lisp_to_background(lisp: &Value) -> Background { match Background::try_from(s.as_str()) { Ok(background) => background, Err(e) => { - error!("Couldn't load background: {e}"); + error!( + "Couldn't load background: {e}" + ); Background::default() } } @@ -546,7 +520,9 @@ pub fn lisp_to_background(lisp: &Value) -> Background { match Background::try_from(s.as_str()) { Ok(background) => background, Err(e) => { - error!("Couldn't load background: {e}"); + error!( + "Couldn't load background: {e}" + ); Background::default() } } @@ -562,16 +538,15 @@ pub fn lisp_to_background(lisp: &Value) -> Background { } } -#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] +#[derive( + Clone, Debug, Default, PartialEq, Serialize, Deserialize, +)] pub struct SlideBuilder { background: Option, text: Option, - font: Option, + font: Option, font_size: Option, audio: Option, - stroke: Option, - shadow: Option, - text_color: Option, text_alignment: Option, video_loop: Option, video_start_time: Option, @@ -597,7 +572,10 @@ impl SlideBuilder { Ok(self) } - pub(crate) fn background(mut self, background: Background) -> Self { + pub(crate) fn background( + mut self, + background: Background, + ) -> Self { let _ = self.background.insert(background); self } @@ -607,17 +585,12 @@ impl SlideBuilder { self } - pub(crate) fn text_color(mut self, text_color: impl Into) -> Self { - let _ = self.text_color.insert(text_color.into()); - self - } - pub(crate) fn audio(mut self, audio: impl Into) -> Self { let _ = self.audio.insert(audio.into()); self } - pub(crate) fn font(mut self, font: impl Into) -> Self { + pub(crate) fn font(mut self, font: impl Into) -> Self { let _ = self.font.insert(font.into()); self } @@ -627,22 +600,10 @@ impl SlideBuilder { self } - pub(crate) fn color(mut self, color: impl Into) -> Self { - let _ = self.text_color.insert(color.into()); - self - } - - pub(crate) fn stroke(mut self, stroke: impl Into) -> Self { - let _ = self.stroke.insert(stroke.into()); - self - } - - pub(crate) fn shadow(mut self, shadow: impl Into) -> Self { - let _ = self.shadow.insert(shadow.into()); - self - } - - pub(crate) fn text_alignment(mut self, text_alignment: TextAlignment) -> Self { + pub(crate) fn text_alignment( + mut self, + text_alignment: TextAlignment, + ) -> Self { let _ = self.text_alignment.insert(text_alignment); self } @@ -652,17 +613,26 @@ impl SlideBuilder { self } - pub(crate) fn video_start_time(mut self, video_start_time: f32) -> Self { + pub(crate) fn video_start_time( + mut self, + video_start_time: f32, + ) -> Self { let _ = self.video_start_time.insert(video_start_time); self } - pub(crate) fn video_end_time(mut self, video_end_time: f32) -> Self { + pub(crate) fn video_end_time( + mut self, + video_end_time: f32, + ) -> Self { let _ = self.video_end_time.insert(video_end_time); self } - pub(crate) fn text_svg(mut self, text_svg: impl Into) -> Self { + pub(crate) fn text_svg( + mut self, + text_svg: impl Into, + ) -> Self { let _ = self.text_svg.insert(text_svg.into()); self } @@ -672,7 +642,10 @@ impl SlideBuilder { self } - pub(crate) fn pdf_index(mut self, pdf_index: impl Into) -> Self { + pub(crate) fn pdf_index( + mut self, + pdf_index: impl Into, + ) -> Self { let _ = self.pdf_index.insert(pdf_index.into()); self } @@ -684,6 +657,9 @@ impl SlideBuilder { let Some(text) = self.text else { return Err(miette!("No text")); }; + let Some(font) = self.font else { + return Err(miette!("No font")); + }; let Some(font_size) = self.font_size else { return Err(miette!("No font_size")); }; @@ -702,13 +678,10 @@ impl SlideBuilder { Ok(Slide { background, text, - font: self.font, + font, font_size, text_alignment, audio: self.audio, - stroke: self.stroke, - shadow: self.shadow, - text_color: self.text_color, video_loop, video_start_time, video_end_time, @@ -720,6 +693,12 @@ impl SlideBuilder { } } +impl Image { + fn new() -> Self { + Default::default() + } +} + #[cfg(test)] mod test { use pretty_assertions::assert_eq; @@ -730,8 +709,9 @@ mod test { fn test_slide() -> Slide { Slide { text: "This is frodo".to_string(), - background: Background::try_from("~/pics/frodo.jpg").expect(""), - font: Some("Quicksand".to_string().into()), + background: Background::try_from("~/pics/frodo.jpg") + .unwrap(), + font: "Quicksand".to_string(), font_size: 140, ..Default::default() } @@ -739,19 +719,46 @@ mod test { fn test_second_slide() -> Slide { Slide { - text: String::new(), - background: Background::try_from("~/vids/test/camprules2024.mp4").expect(""), - font: Some("Quicksand".to_string().into()), + text: "".to_string(), + background: Background::try_from( + "~/vids/test/camprules2024.mp4", + ) + .unwrap(), + font: "Quicksand".to_string(), ..Default::default() } } + #[test] + fn test_lisp_serialize() { + let lisp = + read_to_string("./test_presentation.lisp").expect("oops"); + let lisp_value = crisp::reader::read(&lisp); + match lisp_value { + Value::List(value) => { + let slide = Slide::from(value[0].clone()); + let test_slide = test_slide(); + assert_eq!(slide, test_slide); + + let second_slide = Slide::from(value[1].clone()); + let second_test_slide = test_second_slide(); + assert_eq!(second_slide, second_test_slide) + } + _ => panic!("this should be a lisp"), + } + } + #[test] fn test_ron_deserialize() { - let slide = - read_to_string("./test_presentation.ron").expect("Problem getting file read"); - if let Err(e) = ron::from_str::>(&slide) { - panic!("{e:?}") + let slide = read_to_string("./test_presentation.ron") + .expect("Problem getting file read"); + match ron::from_str::>(&slide) { + Ok(_s) => { + assert!(true) + } + Err(e) => { + assert!(false, "{:?}", e) + } } } } diff --git a/src/core/slide_actions.rs b/src/core/slide_actions.rs index 5b0efd6..766149f 100644 --- a/src/core/slide_actions.rs +++ b/src/core/slide_actions.rs @@ -2,8 +2,7 @@ use miette::{IntoDiagnostic, Result}; use std::sync::Arc; use tracing::warn; -use obws::Client; -use obws::responses::scenes::Scene; +use obws::{Client, responses::scenes::Scene}; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] diff --git a/src/core/song_search.rs b/src/core/song_search.rs index d913c19..3071a6a 100644 --- a/src/core/song_search.rs +++ b/src/core/song_search.rs @@ -1,306 +1,42 @@ -use crate::core::songs::{Song, VerseName}; use itertools::Itertools; -use miette::{IntoDiagnostic, Result, miette}; -use nom::branch::alt; -use nom::bytes::complete::{tag, take_till, take_till1, take_until}; -use nom::character::complete::{digit0, space0}; -use nom::combinator::rest; -use nom::multi::many1; -use nom::sequence::{delimited, pair}; -use nom::{IResult, Parser}; -use reqwest::header; -use serde::{Deserialize, Serialize}; -use serde_json::Value; -use std::collections::HashMap; -use std::fmt::Display; -use tracing::error; +use miette::{IntoDiagnostic, Result}; -#[derive( - Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, -)] +#[derive(Clone, Debug, Default, PartialEq, PartialOrd, Ord, Eq)] pub struct OnlineSong { - pub lyrics: String, - pub title: String, - pub author: String, - pub provider: Provider, - pub link: String, + lyrics: String, + title: String, + author: String, + site: String, + link: String, } -#[derive( - Debug, Clone, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, -)] -pub enum Provider { - Genius { - parsable: bool, - }, - #[default] - LyricsCom, -} - -impl Display for Provider { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::Genius { .. } => f.write_str("Genius"), - Self::LyricsCom => f.write_str("Lyrics.com"), - } - } -} - -impl From for Song { - fn from(online_song: OnlineSong) -> Self { - let verse_map = if online_song.provider == (Provider::Genius { parsable: true }) { - parse_genius_lyrics(&online_song.lyrics.replace("\\n", "\n")).ok() - } else { - let mut map = HashMap::new(); - map.entry(VerseName::Verse { number: 1 }) - .or_insert(online_song.lyrics); - Some(map) - }; - let lyrics = ron::ser::to_string(&verse_map).ok(); - - let verse_order: Option> = verse_map - .as_ref() - .map(|map| map.keys().map(VerseName::get_name).collect()); - - let verses: Option> = verse_map - .as_ref() - .map(|map| map.keys().map(ToOwned::to_owned).collect()); - - Self { - title: online_song.title, - author: Some(online_song.author), - verse_map, - lyrics, - verse_order, - verses, - ..Default::default() - } - } -} - -#[allow(clippy::redundant_closure_for_method_calls)] -fn parse_genius_lyrics(lyrics: &str) -> Result> { - let (input, chunks) = many1(pair(parse_verse_name, alt((take_until("["), rest)))) - .parse(lyrics) - .map_err(|e| e.to_owned()) - .into_diagnostic()?; - - dbg!(input); - dbg!(&chunks); - - let mut map = HashMap::new(); - - for (mut name, lyric) in chunks { - while map.contains_key(&name) { - name = name.next(); - } - - map.entry(name).or_insert_with(|| lyric.trim().to_string()); - } - - Ok(map) -} - -fn parse_verse_name(line: &str) -> IResult<&str, VerseName> { - let (input, (name, _, num, _, _)) = delimited( - (tag("["), space0), - ( - take_till1(|c| c == ' ' || c == ']' || c == ':'), - space0, - digit0, - alt((tag(":"), space0)), - take_till(|c| c == ']'), - ), - (space0, tag("]")), - ) - .parse(line)?; - - let num = num.parse::().unwrap_or(1); - dbg!(&name); - - let verse_name = match name { - "Chorus" => VerseName::Chorus { number: num }, - "Verse" => VerseName::Verse { number: num }, - "Bridge" => VerseName::Bridge { number: num }, - "Pre-Chorus" => VerseName::PreChorus { number: num }, - "Post-Chorus" => VerseName::PostChorus { number: num }, - "Outro" => VerseName::Outro { number: num }, - "Intro" => VerseName::Intro { number: num }, - "Instrumental" => VerseName::Instrumental { number: num }, - _ => VerseName::Verse { number: 99 }, - }; - - Ok((input, verse_name)) -} - -pub async fn search_genius(query: String, auth_token: String) -> Result> { - // let Some(auth_token) = option_env!("GENIUS_TOKEN") else { - // return Err(miette!("No Genius Token")); - // }; - - let head_value = header::HeaderValue::from_str(&auth_token).into_diagnostic()?; - let mut headers = header::HeaderMap::new(); - headers.insert(header::AUTHORIZATION, head_value); - let client = reqwest::Client::builder() - .default_headers(headers) - .build() - .into_diagnostic()?; - let response = client - .get(format!("https://api.genius.com/search?q={query}")) - .send() - .await - .into_diagnostic()? - .error_for_status() - .into_diagnostic()? - .text() - .await - .into_diagnostic()?; - let json: Value = serde_json::from_str(&response).into_diagnostic()?; - let hits = json - .get("response") - .expect("respose") - .get("hits") - .expect("hits") - .as_array() - .expect("array"); - let songs: Vec> = - cosmic::iced::futures::future::join_all(hits.iter().map(|hit| async { - let result = hit.get("result").expect("result"); - let title = result - .get("title") - .expect("title") - .as_str() - .expect("title") - .to_string(); - let title = title.replace("\u{a0}", " "); - let author = result - .get("artist_names") - .expect("artists") - .as_str() - .expect("artists") - .to_string(); - let link = result - .get("url") - .expect("url") - .as_str() - .expect("url") - .to_string(); - let song = OnlineSong { - lyrics: String::new(), - title, - author, - provider: Provider::Genius { parsable: false }, - link, - }; - - match get_genius_lyrics(song).await { - Ok(song) => Some(song), - Err(e) => { - error!("Couldn't get lyrics: {e}"); - None - } - } - })) - .await; - Ok(songs.into_iter().flatten().collect()) -} - -pub async fn get_genius_lyrics(mut song: OnlineSong) -> Result { - let html = reqwest::get(&song.link) - .await - .into_diagnostic()? - .error_for_status() - .into_diagnostic()? - .text() - .await - .into_diagnostic()?; - let document = scraper::Html::parse_document(&html); - let Ok(lyrics_root_selector) = - scraper::Selector::parse(r#"div[data-lyrics-container="true"]"#) - else { - return Err(miette!("error in finding lyrics_root")); - }; - - let lyrics = document - .select(&lyrics_root_selector) - .filter(|element| element.attr("data-exclude-from-selection").is_none()) - .filter(|element| { - !element.value().classes().any(|class| { - class.contains("Contrib") - || class.contains("LyricsHeader") - || class.contains("StyledLink") - }) - }) - .flat_map(|element| { - // dbg!(&root); - // debug!(?element); - let inner = element.inner_html().replace("
", "\n"); - // debug!(inner); - let line_broken = scraper::Html::parse_fragment(&inner); - line_broken - .root_element() - .descendent_elements() - .filter(|element| element.attr("data-exclude-from-selection").is_none()) - .filter(|element| { - let element_name = element.value().name(); - element_name != "div" && element_name != "path" - }) - .filter(|element| { - !element.value().classes().any(|class| { - class.contains("Contrib") - || class.contains("LyricsHeader") - || class.contains("StyledLink") - }) - }) - .flat_map(|t| { - // let html = t.html(); - // debug!(html); - t.text().collect::>() - }) - .map(ToString::to_string) - .collect::>() - }) - .collect::(); - let lyrics = lyrics.find('[').map_or_else( - || { - lyrics.find("").map_or_else( - || lyrics.clone(), - |position| lyrics.split_at(position + 18).1.to_string(), - ) - }, - |position| lyrics.split_at(position).1.to_string(), - ); - song.provider = Provider::Genius { - parsable: lyrics.contains('['), - }; - song.lyrics = lyrics; - Ok(song) -} - -pub async fn search_lyrics_com_links( +pub async fn search_online_song_links( query: impl AsRef + std::fmt::Display, ) -> Result> { - let html = reqwest::get(format!("http://www.lyrics.com/lyrics/{query}")) - .await - .into_diagnostic()? - .error_for_status() - .into_diagnostic()? - .text() - .await - .into_diagnostic()?; + let html = + reqwest::get(format!("http://www.lyrics.com/lyrics/{query}")) + .await + .into_diagnostic()? + .error_for_status() + .into_diagnostic()? + .text() + .await + .into_diagnostic()?; let document = scraper::Html::parse_document(&html); - let Ok(best_matches_selector) = scraper::Selector::parse(".best-matches") else { - return Err(miette!("error in finding matches")); - }; - let Ok(lyric_selector) = scraper::Selector::parse("a") else { - return Err(miette!("error in finding a links")); - }; + let best_matches_selector = + scraper::Selector::parse(".best-matches").unwrap(); + let lyric_selector = scraper::Selector::parse("a").unwrap(); Ok(document .select(&best_matches_selector) - .flat_map(|best_section| best_section.select(&lyric_selector)) - .map(|a| a.value().attr("href").unwrap_or("").trim().to_string()) + .filter_map(|best_section| { + Some(best_section.select(&lyric_selector)) + }) + .flatten() + .map(|a| { + a.value().attr("href").unwrap_or("").trim().to_string() + }) .filter(|a| a.contains("/lyric/")) .dedup() .map(|link| { @@ -311,21 +47,18 @@ pub async fn search_lyrics_com_links( .collect()) } -// leaving this lint unfixed because I don't know if we will need this -// id value or not in the future and I'd like to keep the code understanding -// of what this variable might be. -#[allow(clippy::no_effect_underscore_binding)] -pub async fn lyrics_com_link_to_song( +pub async fn link_to_online_song( links: Vec + std::fmt::Display>, ) -> Result> { let mut songs = vec![]; for link in links { let parts = link - .as_ref() + .to_string() .split('/') .map(std::string::ToString::to_string) .collect::>(); let link = format!("https://www.lyrics.com/lyric/{link}"); + dbg!(&link); let _id = &parts[0]; let author = &parts[1].replace('+', " "); let title = &parts[2].replace('+', " "); @@ -340,22 +73,25 @@ pub async fn lyrics_com_link_to_song( .into_diagnostic()?; let document = scraper::Html::parse_document(&html); - let Ok(lyric_selector) = scraper::Selector::parse(".lyric-body") else { - return Err(miette!("error in finding lyric-body",)); - }; + let lyric_selector = + scraper::Selector::parse(".lyric-body").unwrap(); let lyrics = document .select(&lyric_selector) - .map(|a| a.text().collect::()) + .map(|a| { + dbg!(&a); + a.text().collect::() + }) .dedup() .next(); + dbg!(&lyrics); if let Some(lyrics) = lyrics { let song = OnlineSong { lyrics, title: title.clone(), author: author.clone(), - provider: Provider::LyricsCom, + site: "https://www.lyrics.com".into(), link, }; @@ -367,212 +103,56 @@ pub async fn lyrics_com_link_to_song( #[cfg(test)] mod test { - use crate::core::songs::Song; - use super::*; use pretty_assertions::assert_eq; #[tokio::test] - async fn genius() -> Result<(), String> { - let song = OnlineSong { - lyrics: String::new(), - title: "Death Was Arrested".to_string(), - author: "North Point Worship (Ft. Seth Condrey)".to_string(), - provider: Provider::Genius { parsable: false }, - link: "https://genius.com/North-point-worship-death-was-arrested-lyrics" - .to_string(), - }; - let hits = search_genius( - "Death was arrested".to_string(), - env!("GENIUS_TOKEN").to_string(), - ) - .await - .map_err(|e| e.to_string())?; - - assert!( - hits[0].title == song.title, - "There was no song that matched on Genius" - ); - - let titles: Vec = hits.iter().map(|song| song.title.clone()).collect(); - dbg!(titles); - for hit in hits { - let new_song = get_genius_lyrics(hit).await.map_err(|e| e.to_string())?; - dbg!(&new_song); - dbg!(&new_song.provider); - if new_song.lyrics.starts_with("[Verse 1]") { - assert!(new_song.lyrics.contains("[Verse 2]")); - if !new_song.lyrics.contains("[Chorus]") { - assert!(new_song.lyrics.contains("[Chorus 1]")); - } - } else { - assert!(new_song.lyrics.len() > 10); - } - let mapped_song = Song::from(new_song); - dbg!(&mapped_song); - if let Some(map) = mapped_song.verse_map.as_ref() { - assert!(!map.is_empty()); - // Need to leave commented until I work on more robust tests. - assert!( - map.keys().contains(&VerseName::Verse { number: 1 }) // && map.keys().contains(&VerseName::Verse { - // number: 2 - // }) - // && map.keys().contains(&VerseName::Chorus { - // number: 1 - // }) - ); - } else { - assert!( - !mapped_song - .lyrics - .is_some_and(|lyrics| lyrics.contains('[')) - ); - } - } - - Ok(()) - } - - #[tokio::test] - async fn search_to_song() -> Result<(), String> { + async fn test_search_to_song() { let song = OnlineSong { lyrics: "Alone in my sorrow and dead in my sin\nLost without hope with no place to begin\nYour love Made a way to let mercy come in\nWhen death was arrested and my life began\n\nAsh was redeemed only beauty remains\nMy orphan heart was given a name\nMy mourning grew quiet my feet rose to dance\nWhen death was arrested and my life began\n\nOh, Your grace so free\nWashes over me\nYou have made me new\nNow life begins with You\nIt's your endless love\nPouring down on us\nYou have made us new\nNow life begins with You\n\nReleased from my chains I'm a prisoner no more\nMy shame was a ransom He faithfully bore\nHe cancelled my debt and He called me His friend\nWhen death was arrested and my life began\n\nOh, Your grace so free\nWashes over me\nYou have made me new\nNow life begins with You\nIt's your endless love\nPouring down on us\nYou have made us new\nNow life begins with You\n\nOur savior displayed on a criminal's cross\nDarkness rejoiced as though heaven had lost\nBut then Jesus arose with our freedom in hand\nThat's when death was arrested and my life began\n\nOh, Your grace so free\nWashes over me\nYou have made me new\nNow life begins with You\nIt's your endless love\nPouring down on us\nYou have made us new\nNow life begins with You\n\nOh, we're free, free\nForever we're free\nCome join the song\nOf all the redeemed\nYes, we're free free\nForever amen\nWhen death was arrested and my life began\n\nOh, we're free, free\nForever we're free\nCome join the song\nOf all the redeemed\nYes, we're free free\nForever amen\nWhen death was arrested and my life began\n\nWhen death was arrested and my life began\nWhen death was arrested and my life began".to_string(), title: "Death Was Arrested".to_string(), author: "North Point InsideOut".to_string(), - provider: Provider::LyricsCom, + site: "https://www.lyrics.com".to_string(), link: "https://www.lyrics.com/lyric/35090938/North+Point+InsideOut/Death+Was+Arrested".to_string(), }; - let links = search_lyrics_com_links("Death was arrested") - .await - .map_err(|e| format!("{e}"))?; - let songs = lyrics_com_link_to_song(links) - .await - .map_err(|e| format!("{e}"))?; - if let Some(first) = songs - .iter() - .find_or_first(|song| song.author == "North Point InsideOut") - { - assert_eq!(&song, first); - // online_song_to_song(song)?; - } - Ok(()) - } - - #[allow(dead_code)] - fn online_song_to_song(song: OnlineSong) -> Result<(), String> { - let song = Song::from(song); - if let Some(verse_map) = song.verse_map.as_ref() { - if verse_map.is_empty() { - return Err(format!("VerseMap wasn't built right likely: {song:?}",)); + let search = + search_online_song_links("Death was arrested").await; + match search { + Ok(links) => { + let songs = link_to_online_song(links).await; + match songs { + Ok(songs) => { + if let Some(first) = + songs.iter().find_or_first(|song| { + song.author + == "North Point InsideOut" + }) + { + assert_eq!(&song, first); + } + } + Err(e) => assert!(false, "{}", e), + } } - } else { - return Err(String::from("There is no VerseMap in this song")); + Err(e) => assert!(false, "{}", e), } - Ok(()) } - // #[tokio::test] - // async fn online_search() { - // let search = - // search_lyrics_com_links("Death was arrested").await; - // match search { - // Ok(songs) => { - // assert_eq!( - // songs, - // vec![ - // "33755723/Various+Artists/Death+Was+Arrested", - // "35090938/North+Point+InsideOut/Death+Was+Arrested" - // ] - // ); - // } - // Err(e) => panic!("{e}"), - // } - // } - - #[test] - #[allow(clippy::redundant_closure_for_method_calls)] - fn test_parse_verse_name() -> Result<()> { - let names = [ - "[ Chorus ]", - "[Verse 1]", - "[Pre-Chorus]", - "[ Post-Chorus ]", - "[ Post-Chorus 3]", - "[Verse 2]", - "[Verse 3]", - "[Verse 4:]", - "[Verse 5: Coffee]", - "[Chorus 1]", - "[ Chorus 2 ]", - ]; - for name in names { - let (_input, parsed) = parse_verse_name - .parse(name) - .map_err(|e| e.to_owned()) - .into_diagnostic()?; - dbg!(parsed); + #[tokio::test] + async fn test_online_search() { + let search = + search_online_song_links("Death was arrested").await; + match search { + Ok(songs) => { + assert_eq!( + songs, + vec![ + "33755723/Various+Artists/Death+Was+Arrested", + "35090938/North+Point+InsideOut/Death+Was+Arrested" + ] + ); + } + Err(e) => assert!(false, "{}", e), } - Ok(()) - } - - #[test] - fn test_parse_song() -> Result<()> { - let song = r#"[Verse 1] -Glory, glory -I've been singing -Since I laid my burden down -Glory, glory -I've been singing -Since I laid my burden down - -[Chorus] -I'm singing, "Hallelujah" -God is able, hallelujah -God is faithful, hallelujah -Lord, I'm gonna sing - -[Verse 2] -I feel better -So much better -Since I laid my burden down -Yeah, I feel better -So much better -Since I laid, O Lord, I laid my burden down - -[Chorus] -I'm singing, "Hallelujah" -God is able, hallelujah -God is faithful, hallelujah -Lord, I'm gonna sing -I'm singing, "Hallelujah" -God is able, hallelujah -God is faithful, hallelujah -Lord, I'm gonna sing - -[Bridge] -As long as I'm alive there's gonna be praising -As long as I'm alive there's gonna be shouting -One thing that I know, oh, deep down in my soul -As long as I'm alive, I'm gonna sing - -[Chorus] -I'm singing, "Hallelujah" (Hallelujah) -God is able, hallelujah (Hallelujah) -God is faithful, hallelujah -Lord, I'm gonna sing (Come on now, sing it) -Oh I'm singing, "Hallelujah" (Hallelujah) -God is able, hallelujah (Hallelujah) -God is faithful, hallelujah (God is so good) -Lord, I'm gonna sing (Sing it, Dave) - -[Outro] -I'm gonna sing -Aw man, that was good"#; - let new_song = r"[Verse 1]\nAlone in my sorrow and dead in my sin\nLost without hope with no place to begin\nYour love made a way to let mercy come in\nWhen death was arrested and my life began\nAsh was redeemed, only beauty remains\nMy orphan heart was given a name\nMy mourning grew quiet, my feet rose to dance\nWhen death was arrested and my life began\n\n[Chorus]\nOh, Your grace so free, washes over me\nYou have made me new, now life begins with You\nIt's Your endless love, pouring down on us\nYou have made us new, now life begins with You\n\n[Verse 2]\nReleased from my chains, I'm a prisoner no more\nMy shame was a ransom He faithfully bore\nHe cancelled my debt and He called me His friend\nWhen death was arrested and my life began\n\n[Chorus]\nOh, Your grace so free, washes over me\nYou have made me new, now life begins with You\nIt's Your endless love, pouring down on us\nYou have made us new, now life begins with You\n[Verse 3]\nOur Savior displayed on a criminal's cross\nDarkness rejoiced as though heaven had lost\nBut then Jesus arose with our freedom in hand\nThat's when death was arrested and my life began\n\n[Chorus]\nOh, Your grace so free, washes over me\nYou have made me new, now life begins with You\nIt's Your endless love, pouring down on us\nYou have made us new, now life begins with You\n\n[Outro]\nOh, we're free, free, forever we're free\nCome join the song of all the redeemed\nYes, we're free, free, forever amen\nWhen death was arrested and my life began\nOh, we're free, free, forever we're free\nCome join the song of all the redeemed\nYes, we're free, free, forever amen\nWhen death was arrested and my life began\nWhen death was arrested and my life began\nWhen death was arrested and my life began".replace("\\n", "\n"); - let map = parse_genius_lyrics(song)?; - let new_map = parse_genius_lyrics(&new_song)?; - dbg!(map); - dbg!(new_map); - Ok(()) } } diff --git a/src/core/songs.rs b/src/core/songs.rs index 9c949ff..5c9a45a 100644 --- a/src/core/songs.rs +++ b/src/core/songs.rs @@ -1,31 +1,34 @@ -use std::borrow::Cow; -use std::collections::HashMap; -use std::mem::replace; -use std::option::Option; -use std::path::PathBuf; -use std::sync::Arc; +use std::{ + borrow::Cow, collections::HashMap, option::Option, path::PathBuf, +}; -use cosmic::cosmic_theme::palette::Srgb; -use cosmic::iced::clipboard::mime::{AllowedMimeTypes, AsMimeTypes}; -use cosmic::iced::font::{Style, Weight}; +use cosmic::{ + cosmic_theme::palette::rgb::Rgba, + iced::clipboard::mime::AsMimeTypes, +}; use crisp::types::{Keyword, Symbol, Value}; use itertools::Itertools; use miette::{IntoDiagnostic, Result, miette}; use serde::{Deserialize, Serialize}; -use sqlx::sqlite::SqliteRow; -use sqlx::types::chrono::{DateTime, Local}; -use sqlx::{AssertSqlSafe, FromRow, Row, SqlitePool, query}; +use sqlx::{ + FromRow, Row, Sqlite, SqliteConnection, SqlitePool, + pool::PoolConnection, query, sqlite::SqliteRow, +}; use tracing::{debug, error}; -use crate::core::content::Content; -use crate::core::kinds::ServiceItemKind; -use crate::core::model::{LibraryKind, Model, Sort, SortDirection}; -use crate::core::service_items::ServiceTrait; -use crate::core::slide::{self, Background, TextAlignment}; -use crate::ui::text_svg::{Color, Font, Stroke, shadow, stroke}; -use crate::{Slide, SlideBuilder}; +use crate::{Slide, SlideBuilder, core::slide}; -#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] +use super::{ + content::Content, + kinds::ServiceItemKind, + model::{LibraryKind, Model}, + service_items::ServiceTrait, + slide::{Background, TextAlignment}, +}; + +#[derive( + Clone, Debug, Default, PartialEq, Serialize, Deserialize, +)] pub struct Song { pub id: i32, pub title: String, @@ -38,26 +41,26 @@ pub struct Song { pub text_alignment: Option, pub font: Option, pub font_size: Option, - pub font_weight: Option, - pub font_style: Option", // ); - let _ = write!( - final_svg, - ""); - if self.shadow.is_some() { - final_svg.push_str(" style=\"filter:url(#shadow);\""); - } - final_svg.push('>'); - - for (index, text) in self.text.lines().enumerate() { - let _ = write!( - final_svg, - "{}", - (index as f32).mul_add(text_and_line_spacing, starting_y_position), - text - ); - } + let text: String = self + .text + .lines() + .enumerate() + .map(|(index, text)| { + format!( + "{}", + (index as f32).mul_add( + text_and_line_spacing, + starting_y_position + ), + text + ) + }) + .collect(); + final_svg.push_str(&text); final_svg.push_str(""); @@ -421,69 +389,55 @@ impl TextSvg { // text // )); - if let Some(path) = cache.as_mut() { - let hashed_title = rapidhash_v3(final_svg.as_bytes()); - path.push(PathBuf::from(hashed_title.to_string())); - path.set_extension("png"); + let hashed_title = rapidhash_v3(final_svg.as_bytes()); + path.push(PathBuf::from(hashed_title.to_string())); + path.set_extension("png"); - if path.exists() { - // debug!("cached"); - let handle = Handle::from_path(&path); - self.path = Some(path.clone()); - self.handle = Some(handle); - return self; - } + if path.exists() { + // debug!("cached"); + let handle = Handle::from_path(path); + self.handle = Some(handle); + return self; } + // debug!("text string built..."); - let Ok(resvg_tree) = Tree::from_data( + let resvg_tree = Tree::from_data( final_svg.as_bytes(), &resvg::usvg::Options { fontdb: Arc::clone(&self.fontdb), ..Default::default() }, - ) else { - error!("Couldn't parse the svg into a tree"); - return self; - }; + ) + .expect("Woops mama"); // debug!("parsed"); let transform = tiny_skia::Transform::default(); - - #[allow(clippy::cast_sign_loss)] - let (size_width, size_height) = (size.width as u32, size.height as u32); - - let Some(mut pixmap) = Pixmap::new(size_width, size_height) else { - error!("Couldn't create a new pixmap from size"); - return self; - }; + let mut pixmap = + Pixmap::new(size.width as u32, size.height as u32) + .expect("opops"); resvg::render(&resvg_tree, transform, &mut pixmap.as_mut()); // debug!("rendered"); - - if let Some(path) = cache.as_ref() - && let Err(e) = pixmap.save_png(path) - { + if let Err(e) = pixmap.save_png(&path) { error!(?e, "Couldn't save a copy of the text"); } - self.path = cache; // debug!("saved"); // let handle = Handle::from_path(path); - let handle = Handle::from_rgba(size_width, size_height, pixmap.take()); + let handle = Handle::from_rgba( + size.width as u32, + size.height as u32, + pixmap.take(), + ); self.handle = Some(handle); // debug!("stored"); self } pub fn view<'a>(&self) -> Element<'a, Message> { - self.handle.clone().map_or_else( - || Element::from(Space::new().height(Length::Fill).width(Length::Fill)), - |handle| { - Image::new(handle) - .content_fit(ContentFit::Cover) - .width(Length::Fill) - .height(Length::Fill) - .into() - }, - ) + Image::new(self.handle.clone().unwrap()) + .content_fit(ContentFit::Cover) + .width(Length::Fill) + .height(Length::Fill) + .into() } } @@ -513,88 +467,21 @@ pub fn color(color: impl AsRef) -> Color { } pub fn text_svg_generator( - slide: crate::core::slide::Slide, - fontdb: &Arc, -) -> Result { - let Some(mut path) = dirs::cache_dir() else { - error!("Cannot find the cache dir"); - return Err(miette!("Cannot find the cache dir")); - }; - path.push("lumina"); - path.push("text_svg_cache"); - let _ = fs::create_dir_all(&path); - - text_svg_generator_with_cache(slide, fontdb, Some(path)) -} - -pub fn text_svg_generator_with_cache( - mut slide: crate::core::slide::Slide, - fontdb: &Arc, - cache: Option, -) -> Result { - if slide.text().is_empty() { - Err(miette!("There is no slide text")) - } else { - let font = slide.font().unwrap_or_default(); + slide: &mut crate::core::slide::Slide, + fontdb: Arc, +) { + if !slide.text().is_empty() { let text_svg = TextSvg::new(slide.text()) .alignment(slide.text_alignment()) - .fill(slide.text_color().unwrap_or_else(|| "#fff".into())); - let text_svg = if let Some(stroke) = slide.stroke() { - text_svg.stroke(stroke) - } else { - text_svg - }; - let text_svg = if let Some(shadow) = slide.shadow() { - text_svg.shadow(shadow) - } else { - text_svg - }; - let text_svg = text_svg.font(font).fontdb(Arc::clone(fontdb)); - // debug!(fill = ?text_svg.fill, font = ?text_svg.font, stroke = ?text_svg.stroke, shadow = ?text_svg.shadow, text = ?text_svg.text); - let text_svg = text_svg.build(Size::new(1280.0, 720.0), cache); + .fill("#fff") + .shadow(shadow(2, 2, 5, "#000000")) + .stroke(stroke(3, "#000")) + .font( + Font::from(slide.font()) + .size(slide.font_size().try_into().unwrap()), + ) + .fontdb(Arc::clone(&fontdb)) + .build(); slide.text_svg = Some(text_svg); - Ok(slide) - } -} - -#[cfg(test)] -mod tests { - use crate::core::slide::Slide; - - use super::*; - use rayon::iter::{IntoParallelIterator, ParallelIterator}; - use resvg::usvg::fontdb::Database; - use tracing::debug; - - #[test] - fn test_generator() { - let slide = Slide::default(); - debug!("test"); - let mut fontdb = Database::new(); - fontdb.load_system_fonts(); - let fontdb = Arc::new(fontdb); - (0..400).into_par_iter().for_each(|_| { - let slide = slide - .clone() - .set_font_size(120) - .set_font("") - .set_shadow(shadow(5, 5, 5, "#000")) - .set_stroke(stroke(9, "#000")) - .set_text("This is the first slide of text\nAnd we are singing\nTo save the world!"); - match text_svg_generator_with_cache( - slide, - &fontdb, - None, - ) { - Ok(slide) => { - assert!( - slide - .text_svg - .is_some_and(|svg| svg.handle.is_some()) - ); - }, - Err(e) => panic!("There was an issue creating the TextSvg: {e}"), - } - }); } } diff --git a/src/ui/video.rs b/src/ui/video.rs new file mode 100644 index 0000000..a5e0c05 --- /dev/null +++ b/src/ui/video.rs @@ -0,0 +1,3 @@ +// use iced_video_player::Video; + +// fn video_player(video: &Video) -> Element {} diff --git a/src/ui/video_editor.rs b/src/ui/video_editor.rs index 494e770..c1941bf 100644 --- a/src/ui/video_editor.rs +++ b/src/ui/video_editor.rs @@ -1,21 +1,21 @@ -use std::io; -use std::path::PathBuf; +use std::{io, path::PathBuf}; -use cosmic::dialog::file_chooser::FileFilter; -use cosmic::dialog::file_chooser::open::Dialog; -use cosmic::iced::Length; -use cosmic::iced::alignment::Vertical; -use cosmic::iced::widget::{column, row}; -use cosmic::prelude::*; -use cosmic::widget::space::{self, horizontal}; -use cosmic::widget::{Space, button, container, icon, slider, text, text_input}; -use cosmic::{Element, Task, theme}; -use iced_video_player::{Position, Video, VideoPlayer}; +use cosmic::{ + Element, Task, + dialog::file_chooser::{FileFilter, open::Dialog}, + iced::{Length, alignment::Vertical}, + iced_widget::{column, row}, + theme, + widget::{ + Space, button, container, horizontal_space, icon, + progress_bar, text, text_input, + }, +}; +use iced_video_player::{Video, VideoPlayer}; use tracing::{debug, error, warn}; use url::Url; use crate::core::videos; -use crate::ui::gst_video; #[derive(Debug)] pub struct VideoEditor { @@ -23,7 +23,6 @@ pub struct VideoEditor { core_video: Option, title: String, editing: bool, - position: f64, } pub enum Action { @@ -42,8 +41,6 @@ pub enum Message { None, PauseVideo, UpdateVideoFile(videos::Video), - VideoPos(f64), - NewFrame, } impl VideoEditor { @@ -54,7 +51,6 @@ impl VideoEditor { core_video: None, title: "Death was Arrested".to_string(), editing: false, - position: 0.0, } } pub fn update(&mut self, message: Message) -> Action { @@ -63,7 +59,7 @@ impl VideoEditor { self.update_entire_video(&video); } Message::ChangeTitle(title) => { - self.title.clone_from(&title); + self.title = title.clone(); if let Some(video) = &self.core_video { let mut video = video.clone(); video.title = title; @@ -84,86 +80,67 @@ impl VideoEditor { warn!(?video); return Action::UpdateVideo(video); } - Message::VideoPos(position) => { - if let Some(video) = self.video.as_mut() { - let pausing = video.paused(); - video.set_paused(true); - let position = - Position::Time(std::time::Duration::from_secs_f64(position)); - if let Err(e) = video.seek(position, false) { - error!(?e); - } - video.set_paused(pausing); - } - } Message::PickVideo => { - let video_id = self.core_video.as_ref().map(|v| v.id).unwrap_or_default(); - let task = Task::perform(pick_video(), move |video_result| { - video_result.map_or(Message::None, |video| { - let mut video = videos::Video::from(video); - video.id = video_id; - Message::UpdateVideoFile(video) - }) - }); + let video_id = self + .core_video + .as_ref() + .map(|v| v.id) + .unwrap_or_default(); + let task = Task::perform( + pick_video(), + move |video_result| { + if let Ok(video) = video_result { + let mut video = + videos::Video::from(video); + video.id = video_id; + Message::UpdateVideoFile(video) + } else { + Message::None + } + }, + ); return Action::Task(task); } Message::UpdateVideoFile(video) => { self.update_entire_video(&video); return Action::UpdateVideo(video); } - Message::NewFrame => { - if let Some(video) = &self.video - && self.position > 0.0 - && video.position().as_secs_f64() != 0.0 - { - self.position = video.position().as_secs_f64(); - } - } Message::None => (), } Action::None } pub fn view(&self) -> Element { - let video_elements = self.video.as_ref().map_or_else( - || container(horizontal()), - |video| { - let play_button = button::icon(if video.paused() { - icon::from_name("media-playback-start-symbolic") - } else { - icon::from_name("media-playback-pause-symbolic") - }) - .on_press(Message::PauseVideo); - let video_track = slider( - 0.0..=video.duration().as_secs_f64(), - video.position().as_secs_f64(), - Message::VideoPos, - ) - .step(0.1) - .width(Length::Fill) - .height(cosmic::theme::spacing().space_s); - container( - row![play_button, video_track] - .align_y(Vertical::Center) - .spacing(cosmic::theme::spacing().space_m), - ) - .padding(cosmic::theme::spacing().space_s) - .center_x(Length::FillPortion(2)) - }, - ); + let video_elements = if let Some(video) = &self.video { + let play_button = button::icon(if video.paused() { + icon::from_name("media-playback-start") + } else { + icon::from_name("media-playback-pause") + }) + .on_press(Message::PauseVideo); + let video_track = progress_bar( + 0.0..=video.duration().as_secs_f32(), + video.position().as_secs_f32(), + ) + .height(cosmic::theme::spacing().space_s) + .width(Length::Fill); + container( + row![play_button, video_track] + .align_y(Vertical::Center) + .spacing(cosmic::theme::spacing().space_m), + ) + .padding(cosmic::theme::spacing().space_s) + .center_x(Length::FillPortion(2)) + } else { + container(horizontal_space()) + }; let video_player = self .video .as_ref() - .map_or_else( - || Space::new().apply(container), - |video| { - VideoPlayer::new(video) - .on_new_frame(Message::NewFrame) - .apply(container) - }, - ) - .center(Length::Fill); + .map_or(Element::from(Space::new(0, 0)), |video| { + Element::from(VideoPlayer::new(video)) + }); let video_section = column![video_player, video_elements] .spacing(cosmic::theme::spacing().space_s); @@ -176,20 +153,21 @@ impl VideoEditor { } fn toolbar(&self) -> Element { - let title_box = - text_input("Title...", &self.title).on_input(Message::ChangeTitle); + let title_box = text_input("Title...", &self.title) + .on_input(Message::ChangeTitle); - let video_selector = - button::icon(icon::from_name("folder-videos-symbolic").scale(2)) - .label("Video") - .tooltip("Select a video") - .on_press(Message::PickVideo) - .padding(10); + let video_selector = button::icon( + icon::from_name("folder-videos-symbolic").scale(2), + ) + .label("Video") + .tooltip("Select a video") + .on_press(Message::PickVideo) + .padding(10); row![ text::body("Title:"), title_box, - space::horizontal(), + horizontal_space(), video_selector ] .align_y(Vertical::Center) @@ -202,30 +180,18 @@ impl VideoEditor { } fn update_entire_video(&mut self, video: &videos::Video) { - debug!(?video); - let Ok(url) = Url::from_file_path(video.path.clone()) else { + let Ok(mut player_video) = + Url::from_file_path(video.path.clone()) + .map(|url| Video::new(&url).expect("Should be here")) + else { self.video = None; - self.title.clone_from(&video.title); + self.title = video.title.clone(); self.core_video = Some(video.clone()); return; }; - - let settings = gst_video::VideoSettings { - mute: false, - framerate: 60, - appsink_name: "lumina_video".to_string(), - }; - - let Ok(mut player_video) = gst_video::create_video(&url, &settings) else { - self.video = None; - self.title = format!("{}: {}", String::from("Video Missing"), &video.title); - self.core_video = Some(video.clone()); - return; - }; - player_video.set_paused(true); self.video = Some(player_video); - self.title.clone_from(&video.title); + self.title = video.title.clone(); self.core_video = Some(video.clone()); } } @@ -251,7 +217,7 @@ async fn pick_video() -> Result { error!(?e); VideoError::DialogClosed }) - .map(|file| file.url().to_file_path().expect("Should be a file here")) + .map(|file| file.url().to_file_path().unwrap()) // rfd::AsyncFileDialog::new() // .set_title("Choose a background...") // .add_filter( diff --git a/src/ui/widgets/draggable/column.rs b/src/ui/widgets/draggable/column.rs index 9f3ec37..c7b9695 100644 --- a/src/ui/widgets/draggable/column.rs +++ b/src/ui/widgets/draggable/column.rs @@ -27,16 +27,19 @@ use cosmic::iced::advanced::layout::{self, Layout}; use cosmic::iced::advanced::widget::{Operation, Tree, Widget, tree}; use cosmic::iced::advanced::{Clipboard, Shell, overlay, renderer}; use cosmic::iced::alignment::{self, Alignment}; -use cosmic::iced::event::Event; +use cosmic::iced::event::{self, Event}; +use cosmic::iced::{self, Transformation, mouse}; use cosmic::iced::{ - self, Background, Border, Color, Element, Length, Padding, Pixels, Point, Rectangle, - Size, Transformation, Vector, mouse, + Background, Border, Color, Element, Length, Padding, Pixels, + Point, Rectangle, Size, Vector, }; use super::{Action, DragEvent, DropPosition}; pub fn column<'a, Message, Theme, Renderer>( - children: impl IntoIterator>, + children: impl IntoIterator< + Item = Element<'a, Message, Theme, Renderer>, + >, ) -> Column<'a, Message, Theme, Renderer> where Renderer: renderer::Renderer, @@ -70,8 +73,12 @@ const DRAG_DEADBAND_DISTANCE: f32 = 5.0; /// } /// ``` #[allow(missing_debug_implementations)] -pub struct Column<'a, Message, Theme = cosmic::Theme, Renderer = iced::Renderer> -where +pub struct Column< + 'a, + Message, + Theme = cosmic::Theme, + Renderer = iced::Renderer, +> where Theme: Catalog, { spacing: f32, @@ -87,7 +94,8 @@ where class: Theme::Class<'a>, } -impl<'a, Message, Theme, Renderer> Column<'a, Message, Theme, Renderer> +impl<'a, Message, Theme, Renderer> + Column<'a, Message, Theme, Renderer> where Renderer: renderer::Renderer, Theme: Catalog, @@ -106,7 +114,9 @@ where /// Creates a [`Column`] with the given elements. pub fn with_children( - children: impl IntoIterator>, + children: impl IntoIterator< + Item = Element<'a, Message, Theme, Renderer>, + >, ) -> Self { let iterator = children.into_iter(); @@ -121,7 +131,9 @@ where /// If any of the children have a [`Length::Fill`] strategy, you will need to /// call [`Column::width`] or [`Column::height`] accordingly. #[must_use] - pub fn from_vec(children: Vec>) -> Self { + pub fn from_vec( + children: Vec>, + ) -> Self { Self { spacing: 0.0, padding: Padding::ZERO, @@ -172,7 +184,10 @@ where } /// Sets the horizontal alignment of the contents of the [`Column`] . - pub fn align_x(mut self, align: impl Into) -> Self { + pub fn align_x( + mut self, + align: impl Into, + ) -> Self { self.align = Alignment::from(align.into()); self } @@ -208,7 +223,9 @@ where /// Adds an element to the [`Column`], if `Some`. pub fn push_maybe( self, - child: Option>>, + child: Option< + impl Into>, + >, ) -> Self { if let Some(child) = child { self.push(child) @@ -219,7 +236,10 @@ where /// Sets the style of the [`Column`]. #[must_use] - pub fn style(mut self, style: impl Fn(&Theme) -> Style + 'a) -> Self + pub fn style( + mut self, + style: impl Fn(&Theme) -> Style + 'a, + ) -> Self where Theme::Class<'a>: From>, { @@ -229,7 +249,10 @@ where /// Sets the style class of the [`Column`]. #[must_use] - pub fn class(mut self, class: impl Into>) -> Self { + pub fn class( + mut self, + class: impl Into>, + ) -> Self { self.class = class.into(); self } @@ -237,13 +260,18 @@ where /// Extends the [`Column`] with the given children. pub fn extend( self, - children: impl IntoIterator>, + children: impl IntoIterator< + Item = Element<'a, Message, Theme, Renderer>, + >, ) -> Self { children.into_iter().fold(self, Self::push) } /// The message produced by the [`Column`] when a child is dragged. - pub fn on_drag(mut self, on_reorder: impl Fn(DragEvent) -> Message + 'a) -> Self { + pub fn on_drag( + mut self, + on_reorder: impl Fn(DragEvent) -> Message + 'a, + ) -> Self { self.on_drag = Some(Box::new(on_reorder)); self } @@ -292,7 +320,8 @@ where } } -impl Default for Column<'_, Message, Theme, Renderer> +impl Default + for Column<'_, Message, Theme, Renderer> where Renderer: renderer::Renderer, Theme: Catalog, @@ -308,7 +337,9 @@ impl<'a, Message, Theme, Renderer: renderer::Renderer> where Theme: Catalog, { - fn from_iter>>( + fn from_iter< + T: IntoIterator>, + >( iter: T, ) -> Self { Self::with_children(iter) @@ -345,7 +376,7 @@ where } fn layout( - &mut self, + &self, tree: &mut Tree, renderer: &Renderer, limits: &layout::Limits, @@ -361,77 +392,74 @@ where self.padding, self.spacing, self.align, - self.children.as_mut(), + &self.children, &mut tree.children, ) } fn operate( - &mut self, + &self, tree: &mut Tree, layout: Layout<'_>, renderer: &Renderer, operation: &mut dyn Operation, ) { - operation.container(None, layout.bounds()); - - operation.traverse(&mut |operation| { - self.children - .iter_mut() - .zip(&mut tree.children) - .zip(layout.children()) - .for_each(|((child, state), c_layout)| { - child.as_widget_mut().operate( - state, - c_layout.with_virtual_offset(layout.virtual_offset()), - renderer, - operation, - ); - }); - }); + operation.container( + None, + layout.bounds(), + &mut |operation| { + self.children + .iter() + .zip(&mut tree.children) + .zip(layout.children()) + .for_each(|((child, state), c_layout)| { + child.as_widget().operate( + state, + c_layout.with_virtual_offset( + layout.virtual_offset(), + ), + renderer, + operation, + ); + }); + }, + ); } - fn update( + fn on_event( &mut self, tree: &mut Tree, - event: &Event, + event: Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message>, viewport: &Rectangle, - ) { + ) -> event::Status { + let mut event_status = event::Status::Ignored; + let action = tree.state.downcast_mut::(); - // let children have precedence - self.children - .iter_mut() - .zip(&mut tree.children) - .zip(layout.children()) - .for_each(|((child, state), c_layout)| { - child.as_widget_mut().update( - state, - &event.clone(), - c_layout.with_virtual_offset(layout.virtual_offset()), - cursor, - renderer, - clipboard, - shell, - viewport, - ) - }); - match event { - Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => { - if let Some(cursor_position) = cursor.position_over(layout.bounds()) { - for (index, child_layout) in layout.children().enumerate() { - if child_layout.bounds().contains(cursor_position) { + Event::Mouse(mouse::Event::ButtonPressed( + mouse::Button::Left, + )) => { + if let Some(cursor_position) = + cursor.position_over(layout.bounds()) + { + for (index, child_layout) in + layout.children().enumerate() + { + if child_layout + .bounds() + .contains(cursor_position) + { *action = Action::Picking { index, origin: cursor_position, }; - shell.capture_event(); + event_status = event::Status::Captured; break; } } @@ -440,8 +468,10 @@ where Event::Mouse(mouse::Event::CursorMoved { .. }) => { match *action { Action::Picking { index, origin } => { - if let Some(cursor_position) = cursor.position() - && cursor_position.distance(origin) > self.deadband_zone + if let Some(cursor_position) = + cursor.position() + && cursor_position.distance(origin) + > self.deadband_zone { // Start dragging *action = Action::Dragging { @@ -450,44 +480,66 @@ where last_cursor: cursor_position, }; if let Some(on_reorder) = &self.on_drag { - shell.publish(on_reorder(DragEvent::Picked { index })); + shell.publish(on_reorder( + DragEvent::Picked { index }, + )); } - shell.capture_event(); + event_status = event::Status::Captured; } } Action::Dragging { origin, index, .. } => { - if let Some(cursor_position) = cursor.position() { + if let Some(cursor_position) = + cursor.position() + { *action = Action::Dragging { last_cursor: cursor_position, origin, index, }; - shell.capture_event(); + event_status = event::Status::Captured; } } _ => {} } } - Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) => { + Event::Mouse(mouse::Event::ButtonReleased( + mouse::Button::Left, + )) => { match *action { Action::Dragging { index, .. } => { - if let Some(cursor_position) = cursor.position() { + if let Some(cursor_position) = + cursor.position() + { let bounds = layout.bounds(); if bounds.contains(cursor_position) { - let (target_index, drop_position) = self - .compute_target_index(cursor_position, layout, index); - - if let Some(on_reorder) = &self.on_drag { - shell.publish(on_reorder(DragEvent::Dropped { + let (target_index, drop_position) = + self.compute_target_index( + cursor_position, + layout, index, - target_index, - drop_position, - })); - shell.capture_event(); + ); + + if let Some(on_reorder) = + &self.on_drag + { + shell.publish(on_reorder( + DragEvent::Dropped { + index, + target_index, + drop_position, + }, + )); + event_status = + event::Status::Captured; } - } else if let Some(on_reorder) = &self.on_drag { - shell.publish(on_reorder(DragEvent::Canceled { index })); - shell.capture_event(); + } else if let Some(on_reorder) = + &self.on_drag + { + shell.publish(on_reorder( + DragEvent::Canceled { index }, + )); + event_status = + event::Status::Captured; } } *action = Action::Idle; @@ -501,6 +553,28 @@ where } _ => {} } + + let child_status = self + .children + .iter_mut() + .zip(&mut tree.children) + .zip(layout.children()) + .map(|((child, state), c_layout)| { + child.as_widget_mut().on_event( + state, + event.clone(), + c_layout + .with_virtual_offset(layout.virtual_offset()), + cursor, + renderer, + clipboard, + shell, + viewport, + ) + }) + .fold(event::Status::Ignored, event::Status::merge); + + event::Status::merge(event_status, child_status) } fn mouse_interaction( @@ -524,7 +598,8 @@ where .map(|((child, state), c_layout)| { child.as_widget().mouse_interaction( state, - c_layout.with_virtual_offset(layout.virtual_offset()), + c_layout + .with_virtual_offset(layout.virtual_offset()), cursor, viewport, renderer, @@ -558,15 +633,20 @@ where // Determine the target index based on cursor position let target_index = if cursor.position().is_some() { - let (target_index, _) = - self.compute_target_index(*last_cursor, layout, *index); + let (target_index, _) = self + .compute_target_index( + *last_cursor, + layout, + *index, + ); target_index.min(child_count - 1) } else { *index }; // Store the width of the dragged item - let drag_bounds = layout.children().nth(*index).unwrap().bounds(); + let drag_bounds = + layout.children().nth(*index).unwrap().bounds(); let drag_height = drag_bounds.height + self.spacing; // Draw all children except the one being dragged @@ -574,92 +654,125 @@ where for i in 0..child_count { let child = &self.children[i]; let state = &tree.children[i]; - let child_layout = layout.children().nth(i).unwrap(); + let child_layout = + layout.children().nth(i).unwrap(); // Draw the dragged item separately // TODO: Draw a shadow below the picked item to enhance the // floating effect if i == *index { - let scaling = Transformation::scale(style.scale); - let translation = *last_cursor - *origin * scaling; - renderer.with_translation(translation, |renderer| { - renderer.with_transformation(scaling, |renderer| { - renderer.with_layer(child_layout.bounds(), |renderer| { - child.as_widget().draw( - state, - renderer, - theme, - default_style, - child_layout, - cursor, - viewport, - ); - }); - }); - }); - } else { - let offset: i32 = match target_index.cmp(index) { - std::cmp::Ordering::Less - if i >= target_index && i < *index => - { - 1 - } - std::cmp::Ordering::Greater - if i > *index && i <= target_index => - { - -1 - } - _ => 0, - }; - - let translation = Vector::new(0.0, offset as f32 * drag_height); - renderer.with_translation(translation, |renderer| { - child.as_widget().draw( - state, - renderer, - theme, - default_style, - child_layout, - cursor, - viewport, - ); - // Draw an overlay if this item is being moved - // TODO: instead of drawing an overlay, it would be nicer to - // draw the item with a reduced opacity, but that's not possible today - if offset != 0 { - renderer.fill_quad( - renderer::Quad { - bounds: child_layout.bounds(), - ..renderer::Quad::default() + let scaling = + Transformation::scale(style.scale); + let translation = + *last_cursor - *origin * scaling; + renderer.with_translation( + translation, + |renderer| { + renderer.with_transformation( + scaling, + |renderer| { + renderer.with_layer( + child_layout.bounds(), + |renderer| { + child + .as_widget() + .draw( + state, + renderer, + theme, + default_style, + child_layout, + cursor, + viewport, + ); + }, + ); }, - style.moved_item_overlay, ); + }, + ); + } else { + let offset: i32 = + match target_index.cmp(index) { + std::cmp::Ordering::Less + if i >= target_index + && i < *index => + { + 1 + } + std::cmp::Ordering::Greater + if i > *index + && i <= target_index => + { + -1 + } + _ => 0, + }; - // Keep track of the total translation so we can - // draw the "ghost" of the dragged item later - translations -= (child_layout.bounds().height - + self.spacing) - * offset.signum() as f32; - } - }); + let translation = Vector::new( + 0.0, + offset as f32 * drag_height, + ); + renderer.with_translation( + translation, + |renderer| { + child.as_widget().draw( + state, + renderer, + theme, + default_style, + child_layout, + cursor, + viewport, + ); + // Draw an overlay if this item is being moved + // TODO: instead of drawing an overlay, it would be nicer to + // draw the item with a reduced opacity, but that's not possible today + if offset != 0 { + renderer.fill_quad( + renderer::Quad { + bounds: child_layout + .bounds(), + ..renderer::Quad::default( + ) + }, + style.moved_item_overlay, + ); + + // Keep track of the total translation so we can + // draw the "ghost" of the dragged item later + translations -= (child_layout + .bounds() + .height + + self.spacing) + * offset.signum() as f32; + } + }, + ); } } // Draw a ghost of the dragged item in its would-be position - let ghost_translation = Vector::new(0.0, translations); - renderer.with_translation(ghost_translation, |renderer| { - renderer.fill_quad( - renderer::Quad { - bounds: drag_bounds, - border: style.ghost_border, - ..renderer::Quad::default() - }, - style.ghost_background, - ); - }); + let ghost_translation = + Vector::new(0.0, translations); + renderer.with_translation( + ghost_translation, + |renderer| { + renderer.fill_quad( + renderer::Quad { + bounds: drag_bounds, + border: style.ghost_border, + ..renderer::Quad::default() + }, + style.ghost_background, + ); + }, + ); } _ => { // Draw all children normally when not dragging - if let Some(clipped_viewport) = layout.bounds().intersection(viewport) { + if let Some(clipped_viewport) = + layout.bounds().intersection(viewport) + { let viewport = if self.clip { &clipped_viewport } else { @@ -670,14 +783,18 @@ where .iter() .zip(&tree.children) .zip(layout.children()) - .filter(|(_, layout)| layout.bounds().intersects(viewport)) + .filter(|(_, layout)| { + layout.bounds().intersects(viewport) + }) { child.as_widget().draw( state, renderer, theme, default_style, - c_layout.with_virtual_offset(layout.virtual_offset()), + c_layout.with_virtual_offset( + layout.virtual_offset(), + ), cursor, viewport, ); @@ -690,9 +807,8 @@ where fn overlay<'b>( &'b mut self, tree: &'b mut Tree, - layout: Layout<'b>, + layout: Layout<'_>, renderer: &Renderer, - viewport: &Rectangle, translation: Vector, ) -> Option> { overlay::from_children( @@ -700,7 +816,6 @@ where tree, layout, renderer, - viewport, translation, ) } @@ -710,7 +825,7 @@ where state: &Tree, layout: Layout<'_>, renderer: &Renderer, - dnd_rectangles: &mut cosmic::iced::core::clipboard::DndDestinationRectangles, + dnd_rectangles: &mut cosmic::iced_core::clipboard::DndDestinationRectangles, ) { for ((e, c_layout), state) in self .children @@ -728,7 +843,8 @@ where } } -impl<'a, Message, Theme, Renderer> From> +impl<'a, Message, Theme, Renderer> + From> for Element<'a, Message, Theme, Renderer> where Message: 'a, @@ -784,7 +900,8 @@ impl Catalog for cosmic::Theme { pub fn default(theme: &Theme) -> Style { Style { scale: 1.05, - moved_item_overlay: Color::from(theme.cosmic().primary.base).scale_alpha(0.2), + moved_item_overlay: Color::from(theme.cosmic().primary.base) + .scale_alpha(0.2), ghost_border: Border { width: 1.0, color: theme.cosmic().secondary.base.into(), diff --git a/src/ui/widgets/draggable/flex_row.rs b/src/ui/widgets/draggable/flex_row.rs deleted file mode 100644 index ad03643..0000000 --- a/src/ui/widgets/draggable/flex_row.rs +++ /dev/null @@ -1,1325 +0,0 @@ -// Copyright 2026 System76 -// SPDX-License-Identifier: MPL-2.0 - -use cosmic::iced::core::event::Event; -use cosmic::iced::core::layout::{self, Layout}; -use cosmic::iced::core::mouse::{self, Cursor}; -use cosmic::iced::core::widget::Operation; -use cosmic::iced::core::widget::tree::{self, Tree}; -use cosmic::iced::core::{ - Background, Border, Clipboard, Length, Padding, Point, Rectangle, Renderer as _, - Shadow, Shell, Size, Vector, Widget, overlay, renderer, window, -}; -use cosmic::iced::{Alignment, Pixels, alignment}; -use cosmic::{Element, Renderer}; -use std::collections::{HashMap, HashSet}; -use std::hash::Hash; -use std::time::{Duration, Instant}; - -const DEFAULT_ANIMATION_DURATION: Duration = Duration::from_millis(120); -const DEFAULT_DRAG_LIFT: f32 = 10.0; -const DEFAULT_DRAG_THRESHOLD: f32 = 6.0; -const SHADOW_BLUR_RADIUS: f32 = 16.0; -const POSITION_EPSILON: f32 = 0.5; - -#[derive(Debug, Clone)] -struct SlotAnimation { - from: Point, - to: Point, - started_at: Option, -} - -impl SlotAnimation { - fn new(position: Point) -> Self { - Self { - from: position, - to: position, - started_at: None, - } - } - - fn current_position(&self, duration: Duration) -> Point { - let Some(started_at) = self.started_at else { - return self.to; - }; - - let duration_secs = duration.as_secs_f32(); - if duration_secs <= f32::EPSILON { - return self.to; - } - - let progress = - (started_at.elapsed().as_secs_f32() / duration_secs).clamp(0.0, 1.0); - let eased = 1.0 - (1.0 - progress).powi(3); - - Point::new( - self.from.x + (self.to.x - self.from.x) * eased, - self.from.y + (self.to.y - self.from.y) * eased, - ) - } - - fn retarget(&mut self, new_target: Point, duration: Duration) { - if approx_eq_point(self.to, new_target) { - if !self.is_animating(duration) { - self.from = new_target; - self.to = new_target; - self.started_at = None; - } - return; - } - - self.from = self.current_position(duration); - self.to = new_target; - self.started_at = Some(Instant::now()); - } - - fn is_animating(&self, duration: Duration) -> bool { - self.started_at - .is_some_and(|started_at| started_at.elapsed() < duration) - } - - fn finish_if_done(&mut self, duration: Duration) { - if self - .started_at - .is_some_and(|started_at| started_at.elapsed() >= duration) - { - self.from = self.to; - self.started_at = None; - } - } -} - -#[derive(Debug, Clone)] -struct PendingDragState -where - Key: Clone + Eq + Hash + 'static, -{ - key: Key, - item_index: usize, - original_index: usize, - press_local: Point, - pointer_offset: Vector, -} - -#[derive(Debug, Clone)] -struct DragState -where - Key: Clone + Eq + Hash + 'static, -{ - key: Key, - item_index: usize, - original_index: usize, - current_index: usize, - cursor_local: Point, - pointer_offset: Vector, -} - -#[derive(Debug, Clone)] -struct State -where - Key: Clone + Eq + Hash + 'static, -{ - keys: Vec, - slot_positions: HashMap, - pending_drag: Option>, - drag: Option>, - wrap_width: f32, - initialized: bool, -} - -impl Default for State -where - Key: Clone + Eq + Hash + 'static, -{ - fn default() -> Self { - Self { - keys: Vec::new(), - slot_positions: HashMap::new(), - pending_drag: None, - drag: None, - wrap_width: f32::INFINITY, - initialized: false, - } - } -} - -impl State -where - Key: Clone + Eq + Hash + 'static, -{ - fn retain_keys(&mut self, keys: &[Key]) { - let keep: HashSet<_> = keys.iter().cloned().collect(); - self.slot_positions.retain(|key, _| keep.contains(key)); - - if self - .pending_drag - .as_ref() - .is_some_and(|drag| !keep.contains(&drag.key)) - { - self.pending_drag = None; - } - - if self - .drag - .as_ref() - .is_some_and(|drag| !keep.contains(&drag.key)) - { - self.drag = None; - } - } - - fn finish_animations(&mut self, duration: Duration) { - self.slot_positions - .values_mut() - .for_each(|slot| slot.finish_if_done(duration)); - } - - fn is_animating(&self, duration: Duration) -> bool { - self.slot_positions - .values() - .any(|slot| slot.is_animating(duration)) - } - - fn current_slot_position( - &self, - key: &Key, - fallback: Point, - duration: Duration, - ) -> Point { - self.slot_positions - .get(key) - .map(|slot| slot.current_position(duration)) - .unwrap_or(fallback) - } - - fn retarget_slot(&mut self, key: &Key, target: Point, duration: Duration) { - self.slot_positions - .entry(key.clone()) - .or_insert_with(|| SlotAnimation::new(target)) - .retarget(target, duration); - } - - fn snap_slot(&mut self, key: &Key, target: Point) { - self.slot_positions - .insert(key.clone(), SlotAnimation::new(target)); - } - - fn apply_layout_position(&mut self, key: &Key, target: Point, duration: Duration) { - if self.initialized { - self.retarget_slot(key, target, duration); - } else { - self.snap_slot(key, target); - } - } -} - -#[derive(Debug, Clone)] -struct LocalSlot -where - Key: Clone + Eq + Hash + 'static, -{ - key: Key, - locked: bool, - bounds: Rectangle, -} - -/// A horizontal flex row with drag-to-reorder behavior. -#[must_use] -pub struct ReorderableFlexRow<'a, Key, Message> -where - Key: Clone + Eq + Hash + 'static, -{ - spacing: f32, - padding: Padding, - width: Length, - height: Length, - align: Alignment, - clip: bool, - drag_lift: f32, - animation_duration: Duration, - mouse_interaction: mouse::Interaction, - on_reorder: Box) -> Message + 'a>, - keys: Vec, - locked: Vec, - children: Vec>, -} - -impl<'a, Key, Message> ReorderableFlexRow<'a, Key, Message> -where - Key: Clone + Eq + Hash + 'static, -{ - pub fn new(on_reorder: impl Fn(Vec) -> Message + 'a) -> Self { - Self { - spacing: 0.0, - padding: Padding::ZERO, - width: Length::Shrink, - height: Length::Shrink, - align: Alignment::Start, - clip: false, - drag_lift: DEFAULT_DRAG_LIFT, - animation_duration: DEFAULT_ANIMATION_DURATION, - mouse_interaction: mouse::Interaction::None, - on_reorder: Box::new(on_reorder), - keys: Vec::new(), - locked: Vec::new(), - children: Vec::new(), - } - } - - pub fn with_capacity( - capacity: usize, - on_reorder: impl Fn(Vec) -> Message + 'a, - ) -> Self { - let mut row = Self::new(on_reorder); - row.keys = Vec::with_capacity(capacity); - row.locked = Vec::with_capacity(capacity); - row.children = Vec::with_capacity(capacity); - row - } - - pub fn spacing(mut self, amount: impl Into) -> Self { - self.spacing = amount.into().0; - self - } - - pub fn padding>(mut self, padding: P) -> Self { - self.padding = padding.into(); - self - } - - pub fn width(mut self, width: impl Into) -> Self { - self.width = width.into(); - self - } - - pub fn height(mut self, height: impl Into) -> Self { - self.height = height.into(); - self - } - - pub fn align_y(mut self, align: impl Into) -> Self { - self.align = Alignment::from(align.into()); - self - } - - pub fn mouse(mut self, mouse_interaction: mouse::Interaction) -> Self { - self.mouse_interaction = mouse_interaction; - self - } - - /// Leave disabled for dragged item to visibly lift above the row. - pub fn clip(mut self, clip: bool) -> Self { - self.clip = clip; - self - } - - pub fn drag_lift(mut self, lift: f32) -> Self { - self.drag_lift = lift.max(0.0); - self - } - - pub fn animation_duration(mut self, duration: Duration) -> Self { - self.animation_duration = duration; - self - } - - pub fn push(self, key: Key, child: impl Into>) -> Self { - self.push_with_lock(key, false, child) - } - - /// Item stays fixed, never participates in reordering. - pub fn push_locked(self, key: Key, child: impl Into>) -> Self { - self.push_with_lock(key, true, child) - } - - fn push_with_lock( - mut self, - key: Key, - locked: bool, - child: impl Into>, - ) -> Self { - let child = child.into(); - let child_size = child.as_widget().size_hint(); - - if !child_size.is_void() { - self.width = self.width.enclose(child_size.width); - self.height = self.height.enclose(child_size.height); - self.keys.push(key); - self.locked.push(locked); - self.children.push(child); - } - - self - } - - pub fn extend( - self, - items: impl IntoIterator)>, - ) -> Self { - items - .into_iter() - .fold(self, |row, (key, child)| row.push(key, child)) - } - - pub fn extend_locked( - self, - items: impl IntoIterator)>, - ) -> Self { - items - .into_iter() - .fold(self, |row, (key, child)| row.push_locked(key, child)) - } - - fn item_local_slots_from_layout( - &self, - bounds: Rectangle, - child_layouts: &[Layout<'_>], - ) -> Vec> { - self.keys - .iter() - .zip(self.locked.iter()) - .zip(child_layouts.iter()) - .map(|((key, locked), child_layout)| { - let child_bounds = child_layout.bounds(); - LocalSlot { - key: key.clone(), - locked: *locked, - bounds: Rectangle { - x: child_bounds.x - bounds.x, - y: child_bounds.y - bounds.y, - width: child_bounds.width, - height: child_bounds.height, - }, - } - }) - .collect() - } - - fn sync_slot_positions(&self, state: &mut State, slots: &[LocalSlot]) { - let ordered_keys: Vec = slots.iter().map(|slot| slot.key.clone()).collect(); - state.retain_keys(&ordered_keys); - - let size_by_key: HashMap = slots - .iter() - .map(|slot| { - ( - slot.key.clone(), - Size::new(slot.bounds.width, slot.bounds.height), - ) - }) - .collect(); - let locked_by_key: HashMap = slots - .iter() - .map(|slot| (slot.key.clone(), slot.locked)) - .collect(); - - let Some(drag_snapshot) = state.drag.as_ref().map(|drag| { - ( - drag.key.clone(), - drag.cursor_local, - drag.pointer_offset, - drag.item_index, - ) - }) else { - for slot in slots { - state.apply_layout_position( - &slot.key, - Point::new(slot.bounds.x, slot.bounds.y), - self.animation_duration, - ); - } - return; - }; - - let (drag_key, cursor_local, pointer_offset, drag_item_index) = drag_snapshot; - - let Some(dragged_slot) = slots.iter().find(|slot| slot.key == drag_key) else { - state.drag = None; - for slot in slots { - state.apply_layout_position( - &slot.key, - Point::new(slot.bounds.x, slot.bounds.y), - self.animation_duration, - ); - } - return; - }; - - if dragged_slot.locked { - state.drag = None; - return; - } - - let dragged_center = Point::new( - cursor_local.x - pointer_offset.x + dragged_slot.bounds.width / 2.0, - cursor_local.y - pointer_offset.y + dragged_slot.bounds.height / 2.0, - ); - let target_index = target_index_for_drag(slots, &drag_key, dragged_center); - let prior_index = state.drag.as_ref().map(|drag| drag.current_index); - - if let Some(drag) = state.drag.as_mut() { - drag.current_index = target_index; - drag.item_index = drag_item_index; - } - - if prior_index == Some(target_index) { - return; - } - - let reordered_keys = reordered_keys_for_drag( - &ordered_keys, - &locked_by_key, - &drag_key, - target_index, - ); - let (target_slots, _) = compute_wrapped_slots( - &reordered_keys, - &locked_by_key, - &size_by_key, - state.wrap_width, - self.padding, - self.spacing, - self.align, - ); - let target_positions: HashMap = target_slots - .iter() - .map(|slot| (slot.key.clone(), Point::new(slot.bounds.x, slot.bounds.y))) - .collect(); - - for slot in slots { - let target = target_positions - .get(&slot.key) - .copied() - .unwrap_or(Point::new(slot.bounds.x, slot.bounds.y)); - state.retarget_slot(&slot.key, target, self.animation_duration); - } - } -} - -impl<'a, Key, Message> Widget - for ReorderableFlexRow<'a, Key, Message> -where - Key: Clone + Eq + Hash + 'static, - Message: 'a, -{ - fn tag(&self) -> tree::Tag { - tree::Tag::of::>() - } - - fn state(&self) -> tree::State { - tree::State::new(State { - keys: self.keys.clone(), - ..State::default() - }) - } - - fn children(&self) -> Vec { - self.children.iter().map(Tree::new).collect() - } - - fn diff(&mut self, tree: &mut Tree) { - let Tree { - state, children, .. - } = tree; - let state = state.downcast_mut::>(); - let previous_keys = state.keys.clone(); - let previous_children = std::mem::take(children); - let mut previous_by_key = HashMap::with_capacity(previous_keys.len()); - - for (key, child_tree) in previous_keys.into_iter().zip(previous_children) { - previous_by_key.insert(key, child_tree); - } - - children.reserve(self.children.len()); - - for (key, child) in self.keys.iter().cloned().zip(self.children.iter_mut()) { - let mut child_tree = previous_by_key - .remove(&key) - .unwrap_or_else(|| Tree::new(child.as_widget())); - child.as_widget_mut().diff(&mut child_tree); - children.push(child_tree); - } - - if state.keys != self.keys { - state.keys.clone_from(&self.keys); - } - state.retain_keys(&self.keys); - } - - fn size(&self) -> Size { - Size { - width: self.width, - height: self.height, - } - } - - fn layout( - &mut self, - tree: &mut Tree, - renderer: &Renderer, - limits: &layout::Limits, - ) -> layout::Node { - let limits = limits - .width(self.width) - .height(self.height) - .shrink(self.padding); - let child_limits = limits.loose(); - let wrap_width = limits.max().width; - - let mut nodes = Vec::with_capacity(self.children.len()); - let mut size_by_key = HashMap::with_capacity(self.children.len()); - let locked_by_key: HashMap = self - .keys - .iter() - .cloned() - .zip(self.locked.iter().copied()) - .collect(); - - for ((key, child), child_tree) in self - .keys - .iter() - .zip(self.children.iter_mut()) - .zip(tree.children.iter_mut()) - { - let node = child - .as_widget_mut() - .layout(child_tree, renderer, &child_limits); - size_by_key.insert(key.clone(), node.size()); - nodes.push(node); - } - - let (slots, intrinsic_size) = compute_wrapped_slots( - &self.keys, - &locked_by_key, - &size_by_key, - wrap_width, - self.padding, - self.spacing, - self.align, - ); - - for (node, slot) in nodes.iter_mut().zip(&slots) { - node.move_to_mut(Point::new(slot.bounds.x, slot.bounds.y)); - } - - let size = limits.resolve(self.width, self.height, intrinsic_size); - let node = layout::Node::with_children(size.expand(self.padding), nodes); - let state = tree.state.downcast_mut::>(); - state.wrap_width = wrap_width; - self.sync_slot_positions(state, &slots); - - node - } - - fn operate( - &mut self, - tree: &mut Tree, - layout: Layout<'_>, - renderer: &Renderer, - operation: &mut dyn Operation, - ) { - operation.container(None, layout.bounds()); - operation.traverse(&mut |operation| { - self.children - .iter_mut() - .zip(&mut tree.children) - .zip(layout.children()) - .for_each(|((child, state), child_layout)| { - child.as_widget_mut().operate( - state, - child_layout.with_virtual_offset(layout.virtual_offset()), - renderer, - operation, - ); - }); - }); - } - - fn update( - &mut self, - tree: &mut Tree, - event: &Event, - layout: Layout<'_>, - cursor: Cursor, - renderer: &Renderer, - clipboard: &mut dyn Clipboard, - shell: &mut Shell<'_, Message>, - viewport: &Rectangle, - ) { - let bounds = layout.bounds(); - let state = tree.state.downcast_mut::>(); - let child_layouts: Vec<_> = layout.children().collect(); - - if let Event::Window(window::Event::RedrawRequested(_)) = event { - state.initialized = true; - state.finish_animations(self.animation_duration); - if state.drag.is_some() || state.is_animating(self.animation_duration) { - shell.request_redraw(); - } - } - - match event { - Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => { - if state.drag.is_none() - && state.pending_drag.is_none() - && let Some(cursor_pos) = cursor.position() - && let Some((index, child_layout)) = - child_layouts.iter().enumerate().find(|(_, child_layout)| { - child_layout.bounds().contains(cursor_pos) - }) - && !self.locked.get(index).copied().unwrap_or(false) - && let Some(reorder_index) = - reorderable_index_for_child(&self.locked, index) - { - let child_bounds = child_layout.bounds(); - state.pending_drag = Some(PendingDragState { - key: self.keys[index].clone(), - item_index: index, - original_index: reorder_index, - press_local: Point::new( - cursor_pos.x - bounds.x, - cursor_pos.y - bounds.y, - ), - pointer_offset: Vector::new( - cursor_pos.x - child_bounds.x, - cursor_pos.y - child_bounds.y, - ), - }); - } - } - Event::Mouse(mouse::Event::CursorMoved { .. }) => { - if let Some(pending) = state.pending_drag.clone() - && let Some(cursor_pos) = cursor.position() - { - let cursor_local = - Point::new(cursor_pos.x - bounds.x, cursor_pos.y - bounds.y); - let delta = Vector::new( - cursor_local.x - pending.press_local.x, - cursor_local.y - pending.press_local.y, - ); - let distance = (delta.x.powi(2) + delta.y.powi(2)).sqrt(); - - if distance >= DEFAULT_DRAG_THRESHOLD { - if let (Some(child), Some(child_tree), Some(child_layout)) = ( - self.children.get_mut(pending.item_index), - tree.children.get_mut(pending.item_index), - child_layouts.get(pending.item_index), - ) { - let cursor_left = Event::Mouse(mouse::Event::CursorLeft); - child.as_widget_mut().update( - child_tree, - &cursor_left, - child_layout.with_virtual_offset(layout.virtual_offset()), - cursor, - renderer, - clipboard, - shell, - viewport, - ); - } - - state.pending_drag = None; - state.drag = Some(DragState { - key: pending.key, - item_index: pending.item_index, - original_index: pending.original_index, - current_index: pending.original_index, - cursor_local, - pointer_offset: pending.pointer_offset, - }); - let slots = - self.item_local_slots_from_layout(bounds, &child_layouts); - self.sync_slot_positions(state, &slots); - shell.capture_event(); - shell.request_redraw(); - return; - } - } - - if let Some(drag) = state.drag.as_mut() - && let Some(cursor_pos) = cursor.position() - { - drag.cursor_local = - Point::new(cursor_pos.x - bounds.x, cursor_pos.y - bounds.y); - let slots = self.item_local_slots_from_layout(bounds, &child_layouts); - self.sync_slot_positions(state, &slots); - shell.capture_event(); - shell.request_redraw(); - return; - } - } - Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) => { - state.pending_drag = None; - - if state.drag.is_some() { - let slots = self.item_local_slots_from_layout(bounds, &child_layouts); - self.sync_slot_positions(state, &slots); - } - if let Some(drag) = state.drag.take() { - if drag.current_index != drag.original_index { - let locked_by_key: HashMap = self - .keys - .iter() - .cloned() - .zip(self.locked.iter().copied()) - .collect(); - let new_order = reordered_keys_for_drag( - &self.keys, - &locked_by_key, - &drag.key, - drag.current_index, - ); - shell.publish((self.on_reorder)(new_order)); - } - shell.capture_event(); - shell.request_redraw(); - return; - } - } - _ => {} - } - - if state.drag.is_some() { - return; - } - - for ((item, tree), child_layout) in self - .children - .iter_mut() - .zip(&mut tree.children) - .zip(child_layouts.into_iter()) - { - item.as_widget_mut().update( - tree, - event, - child_layout.with_virtual_offset(layout.virtual_offset()), - cursor, - renderer, - clipboard, - shell, - viewport, - ); - } - } - - fn mouse_interaction( - &self, - tree: &Tree, - layout: Layout<'_>, - cursor: Cursor, - viewport: &Rectangle, - renderer: &Renderer, - ) -> mouse::Interaction { - let state = tree.state.downcast_ref::>(); - - if state.drag.is_some() { - return mouse::Interaction::Grabbing; - } - - let Some(interaction) = self - .children - .iter() - .zip(&tree.children) - .zip(layout.children()) - .map(|((child, tree), child_layout)| { - child.as_widget().mouse_interaction( - tree, - child_layout.with_virtual_offset(layout.virtual_offset()), - cursor, - viewport, - renderer, - ) - }) - .max() - else { - if let Some(cursor_pos) = cursor.position() - && self.locked.iter().zip(layout.children()).any( - |(locked, child_layout)| { - !*locked && child_layout.bounds().contains(cursor_pos) - }, - ) - { - return self.mouse_interaction; - } - return mouse::Interaction::None; - }; - interaction - } - - fn draw( - &self, - tree: &Tree, - renderer: &mut Renderer, - theme: &cosmic::Theme, - style: &renderer::Style, - layout: Layout<'_>, - cursor: Cursor, - viewport: &Rectangle, - ) { - let state = tree.state.downcast_ref::>(); - let bounds = layout.bounds(); - - let Some(clipped_viewport) = bounds.intersection(viewport) else { - return; - }; - - let viewport = if self.clip { - &clipped_viewport - } else { - viewport - }; - let drag_key = state.drag.as_ref().map(|drag| &drag.key); - let drag_item = state.drag.as_ref().and_then(|drag| { - self.keys - .iter() - .zip(&self.children) - .zip(&tree.children) - .zip(layout.children()) - .find_map(|(((key, child), state), child_layout)| { - (key == &drag.key).then_some((key, child, state, child_layout, drag)) - }) - }); - - for (((key, child), child_tree), child_layout) in self - .keys - .iter() - .zip(&self.children) - .zip(&tree.children) - .zip(layout.children()) - { - if drag_key.is_some_and(|drag_key| drag_key == key) { - continue; - } - - let child_layout = child_layout.with_virtual_offset(layout.virtual_offset()); - let child_bounds = child_layout.bounds(); - let base_local = - Point::new(child_bounds.x - bounds.x, child_bounds.y - bounds.y); - let target_local = - state.current_slot_position(key, base_local, self.animation_duration); - let translation = - Vector::new(target_local.x - base_local.x, target_local.y - base_local.y); - let translated_bounds = translate_rect(child_bounds, translation); - - if translated_bounds.intersects(viewport) { - renderer.with_translation(translation, |renderer| { - child.as_widget().draw( - child_tree, - renderer, - theme, - style, - child_layout, - cursor, - viewport, - ); - }); - } - } - - if let Some((_key, child, child_tree, child_layout, drag)) = drag_item { - let child_layout = child_layout.with_virtual_offset(layout.virtual_offset()); - let child_bounds = child_layout.bounds(); - let base_local = - Point::new(child_bounds.x - bounds.x, child_bounds.y - bounds.y); - let drag_local = Point::new( - drag.cursor_local.x - drag.pointer_offset.x, - drag.cursor_local.y - drag.pointer_offset.y - self.drag_lift, - ); - let translation = - Vector::new(drag_local.x - base_local.x, drag_local.y - base_local.y); - - { - let translated_bounds = translate_rect(child_bounds, translation); - draw_drag_backdrop(renderer, theme, translated_bounds); - } - - renderer.with_translation(translation, |renderer| { - child.as_widget().draw( - child_tree, - renderer, - theme, - style, - child_layout, - cursor, - viewport, - ); - }); - } - } - - fn overlay<'b>( - &'b mut self, - tree: &'b mut Tree, - layout: Layout<'b>, - renderer: &Renderer, - viewport: &Rectangle, - translation: Vector, - ) -> Option> { - overlay::from_children( - &mut self.children, - tree, - layout, - renderer, - viewport, - translation, - ) - } - - fn drag_destinations( - &self, - state: &Tree, - layout: Layout<'_>, - renderer: &Renderer, - dnd_rectangles: &mut cosmic::iced::core::clipboard::DndDestinationRectangles, - ) { - for ((item, child_layout), child_state) in self - .children - .iter() - .zip(layout.children()) - .zip(state.children.iter()) - { - item.as_widget().drag_destinations( - child_state, - child_layout.with_virtual_offset(layout.virtual_offset()), - renderer, - dnd_rectangles, - ); - } - } -} - -impl<'a, Key, Message> From> for Element<'a, Message> -where - Key: Clone + Eq + Hash + 'static, - Message: 'a, -{ - fn from(row: ReorderableFlexRow<'a, Key, Message>) -> Self { - Element::new(row) - } -} - -/// Create a horizontal flex row with drag-to-reorder behavior. -pub fn flex_row<'a, Key, Message>( - on_reorder: impl Fn(Vec) -> Message + 'a, -) -> ReorderableFlexRow<'a, Key, Message> -where - Key: Clone + Eq + Hash + 'static, -{ - ReorderableFlexRow::new(on_reorder) -} - -fn compute_wrapped_slots( - ordered_keys: &[Key], - locked_by_key: &HashMap, - size_by_key: &HashMap, - wrap_width: f32, - padding: Padding, - spacing: f32, - align: Alignment, -) -> (Vec>, Size) -where - Key: Clone + Eq + Hash + 'static, -{ - let wrap_width = if wrap_width.is_finite() { - wrap_width.max(0.0) - } else { - f32::INFINITY - }; - - let mut slots = Vec::with_capacity(ordered_keys.len()); - let mut intrinsic_size = Size::ZERO; - let mut row_start = 0; - let mut row_height = 0.0; - let mut x = 0.0; - let mut y = 0.0; - - let align_factor = match align { - Alignment::Start => 0.0, - Alignment::Center => 2.0, - Alignment::End => 1.0, - }; - - let align_row = - |range: std::ops::Range, row_height: f32, slots: &mut [LocalSlot]| { - if align_factor == 0.0 { - return; - } - - for slot in &mut slots[range] { - slot.bounds.y += (row_height - slot.bounds.height) / align_factor; - } - }; - - for (index, key) in ordered_keys.iter().enumerate() { - let size = size_by_key.get(key).copied().unwrap_or(Size::ZERO); - - if x != 0.0 && x + size.width > wrap_width { - intrinsic_size.width = intrinsic_size.width.max(x - spacing); - align_row(row_start..index, row_height, &mut slots); - y += row_height + spacing; - x = 0.0; - row_start = index; - row_height = 0.0; - } - - row_height = row_height.max(size.height); - - slots.push(LocalSlot { - key: key.clone(), - locked: locked_by_key.get(key).copied().unwrap_or(false), - bounds: Rectangle { - x: x + padding.left, - y: y + padding.top, - width: size.width, - height: size.height, - }, - }); - - x += size.width + spacing; - } - - if x != 0.0 { - intrinsic_size.width = intrinsic_size.width.max(x - spacing); - } - - intrinsic_size.height = y + row_height; - align_row(row_start..slots.len(), row_height, &mut slots); - - (slots, intrinsic_size) -} - -fn reordered_keys_for_drag( - ordered_keys: &[Key], - locked_by_key: &HashMap, - dragged_key: &Key, - target_index: usize, -) -> Vec -where - Key: Clone + Eq + Hash + 'static, -{ - let movable_keys: Vec = ordered_keys - .iter() - .filter(|key| !locked_by_key.get(*key).copied().unwrap_or(false)) - .cloned() - .collect(); - let mut remaining: Vec = movable_keys - .iter() - .filter(|key| *key != dragged_key) - .cloned() - .collect(); - - remaining.insert(target_index.min(remaining.len()), dragged_key.clone()); - merge_locked_and_reordered_keys(ordered_keys, locked_by_key, &remaining) -} - -/// Picks insertion index among movable items using row-aware midpoint rule. -/// -/// Walks laid-out slots in reading order, counting how many non-dragged movable -/// items the cursor has moved past. Skips locked slots. O(n) single pass, no -/// allocations. -fn target_index_for_drag( - slots: &[LocalSlot], - dragged_key: &Key, - dragged_center: Point, -) -> usize -where - Key: Clone + Eq + Hash + 'static, -{ - let mut target = 0; - let mut passed_movable: usize = 0; - let mut found_target = false; - - let mut i = 0; - while i < slots.len() { - let slot = &slots[i]; - - if slot.locked || &slot.key == dragged_key { - i += 1; - continue; - } - - let row_top = slot.bounds.y; - let row_bottom = row_top + slot.bounds.height; - - if !found_target && dragged_center.y < row_top { - target = passed_movable; - found_target = true; - break; - } - - if dragged_center.y > row_bottom { - passed_movable += 1; - i += 1; - continue; - } - - let center_x = slot.bounds.x + slot.bounds.width / 2.0; - if dragged_center.x < center_x { - target = passed_movable; - found_target = true; - break; - } - - passed_movable += 1; - i += 1; - } - - if !found_target { - target = passed_movable; - } - - target -} - -fn reorderable_index_for_child(locked: &[bool], item_index: usize) -> Option { - (!locked.get(item_index).copied().unwrap_or(false)).then(|| { - locked[..item_index] - .iter() - .filter(|is_locked| !**is_locked) - .count() - }) -} - -fn merge_locked_and_reordered_keys( - ordered_keys: &[Key], - locked_by_key: &HashMap, - reordered_movable_keys: &[Key], -) -> Vec -where - Key: Clone + Eq + Hash + 'static, -{ - let mut movable = reordered_movable_keys.iter(); - - ordered_keys - .iter() - .map(|key| { - if locked_by_key.get(key).copied().unwrap_or(false) { - key.clone() - } else { - movable.next().cloned().unwrap_or_else(|| key.clone()) - } - }) - .collect() -} - -fn approx_eq_point(a: Point, b: Point) -> bool { - (a.x - b.x).abs() <= POSITION_EPSILON && (a.y - b.y).abs() <= POSITION_EPSILON -} - -fn translate_rect(bounds: Rectangle, translation: Vector) -> Rectangle { - Rectangle { - x: bounds.x + translation.x, - y: bounds.y + translation.y, - width: bounds.width, - height: bounds.height, - } -} - -fn draw_drag_backdrop(renderer: &mut Renderer, theme: &cosmic::Theme, bounds: Rectangle) { - let cosmic = theme.cosmic(); - let backdrop = cosmic::iced::Color { - a: 0.08, - ..cosmic::iced::Color::from(cosmic.bg_component_color()) - }; - - renderer.fill_quad( - renderer::Quad { - bounds, - border: Border { - radius: cosmic.corner_radii.radius_m.into(), - ..Border::default() - }, - shadow: Shadow { - color: cosmic.shade.into(), - offset: Vector::new(0.0, 8.0), - blur_radius: SHADOW_BLUR_RADIUS, - }, - snap: true, - }, - Background::Color(backdrop), - ); -} - -#[cfg(test)] -mod tests { - use super::{compute_wrapped_slots, reordered_keys_for_drag, target_index_for_drag}; - use cosmic::iced::{Alignment, Padding, Point, Size}; - use std::collections::HashMap; - - fn size_map(keys: &[usize], width: f32, height: f32) -> HashMap { - keys.iter() - .copied() - .map(|key| (key, Size::new(width, height))) - .collect() - } - - fn locked_map(keys: &[usize], locked_keys: &[usize]) -> HashMap { - keys.iter() - .copied() - .map(|key| (key, locked_keys.contains(&key))) - .collect() - } - - #[test] - fn compute_wrapped_slots_creates_new_rows() { - let ordered_keys = vec![0, 1, 2]; - let locked_by_key = locked_map(&ordered_keys, &[]); - let size_by_key = size_map(&ordered_keys, 100.0, 40.0); - let (slots, intrinsic_size) = compute_wrapped_slots( - &ordered_keys, - &locked_by_key, - &size_by_key, - 220.0, - Padding::ZERO, - 10.0, - Alignment::Start, - ); - - assert_eq!(slots[0].bounds.x, 0.0); - assert_eq!(slots[0].bounds.y, 0.0); - assert_eq!(slots[1].bounds.x, 110.0); - assert_eq!(slots[1].bounds.y, 0.0); - assert_eq!(slots[2].bounds.x, 0.0); - assert_eq!(slots[2].bounds.y, 50.0); - assert_eq!(intrinsic_size.width, 210.0); - assert_eq!(intrinsic_size.height, 90.0); - } - - #[test] - fn reordered_keys_for_drag_inserts_key_at_target_index() { - let keys = [0, 1, 2, 3]; - let locked_by_key = locked_map(&keys, &[]); - let reordered = reordered_keys_for_drag(&keys, &locked_by_key, &0, 3); - assert_eq!(reordered, vec![1, 2, 3, 0]); - } - - #[test] - fn target_index_tracks_wrapped_drop_positions() { - let ordered_keys = vec![0, 1, 2, 3]; - let locked_by_key = locked_map(&ordered_keys, &[]); - let size_by_key = size_map(&ordered_keys, 100.0, 40.0); - - let (slots, _) = compute_wrapped_slots( - &ordered_keys, - &locked_by_key, - &size_by_key, - 220.0, - Padding::ZERO, - 10.0, - Alignment::Start, - ); - - let target_index = target_index_for_drag(&slots, &0, Point::new(160.0, 70.0)); - - assert_eq!(target_index, 3); - } - - #[test] - fn reordered_keys_for_drag_preserves_locked_positions() { - let keys = [10, 11, 12, 13]; - let locked_by_key = locked_map(&keys, &[10, 13]); - let reordered = reordered_keys_for_drag(&keys, &locked_by_key, &11, 1); - - assert_eq!(reordered, vec![10, 12, 11, 13]); - } -} diff --git a/src/ui/widgets/draggable/mod.rs b/src/ui/widgets/draggable/mod.rs index f240763..11b8e08 100644 --- a/src/ui/widgets/draggable/mod.rs +++ b/src/ui/widgets/draggable/mod.rs @@ -1,10 +1,8 @@ use cosmic::iced::Point; pub use self::column::column; -pub use self::flex_row::flex_row; pub use self::row::row; pub mod column; -pub mod flex_row; pub mod row; #[derive(Debug, Clone)] diff --git a/src/ui/widgets/draggable/row.rs b/src/ui/widgets/draggable/row.rs index 97b3bc3..597def2 100644 --- a/src/ui/widgets/draggable/row.rs +++ b/src/ui/widgets/draggable/row.rs @@ -27,16 +27,19 @@ use cosmic::iced::advanced::layout::{self, Layout}; use cosmic::iced::advanced::widget::{Operation, Tree, Widget, tree}; use cosmic::iced::advanced::{Clipboard, Shell, overlay, renderer}; use cosmic::iced::alignment::{self, Alignment}; -use cosmic::iced::event::Event; +use cosmic::iced::event::{self, Event}; +use cosmic::iced::{self, Transformation, mouse}; use cosmic::iced::{ - self, Background, Border, Color, Element, Length, Padding, Pixels, Point, Rectangle, - Size, Transformation, Vector, mouse, + Background, Border, Color, Element, Length, Padding, Pixels, + Point, Rectangle, Size, Vector, }; use super::{Action, DragEvent, DropPosition}; pub fn row<'a, Message, Theme, Renderer>( - children: impl IntoIterator>, + children: impl IntoIterator< + Item = Element<'a, Message, Theme, Renderer>, + >, ) -> Row<'a, Message, Theme, Renderer> where Renderer: renderer::Renderer, @@ -105,7 +108,9 @@ where /// Creates a [`Row`] with the given elements. pub fn with_children( - children: impl IntoIterator>, + children: impl IntoIterator< + Item = Element<'a, Message, Theme, Renderer>, + >, ) -> Self { let iterator = children.into_iter(); @@ -120,7 +125,9 @@ where /// If any of the children have a [`Length::Fill`] strategy, you will need to /// call [`Row::width`] or [`Row::height`] accordingly. #[must_use] - pub fn from_vec(children: Vec>) -> Self { + pub fn from_vec( + children: Vec>, + ) -> Self { Self { spacing: 0.0, padding: Padding::ZERO, @@ -164,7 +171,10 @@ where } /// Sets the vertical alignment of the contents of the [`Row`] . - pub fn align_y(mut self, align: impl Into) -> Self { + pub fn align_y( + mut self, + align: impl Into, + ) -> Self { self.align = Alignment::from(align.into()); self } @@ -200,7 +210,9 @@ where /// Adds an element to the [`Row`], if `Some`. pub fn push_maybe( self, - child: Option>>, + child: Option< + impl Into>, + >, ) -> Self { if let Some(child) = child { self.push(child) @@ -211,7 +223,10 @@ where /// Sets the style of the [`Row`]. #[must_use] - pub fn style(mut self, style: impl Fn(&Theme) -> Style + 'a) -> Self + pub fn style( + mut self, + style: impl Fn(&Theme) -> Style + 'a, + ) -> Self where Theme::Class<'a>: From>, { @@ -221,7 +236,10 @@ where /// Sets the style class of the [`Row`]. #[must_use] - pub fn class(mut self, class: impl Into>) -> Self { + pub fn class( + mut self, + class: impl Into>, + ) -> Self { self.class = class.into(); self } @@ -229,7 +247,9 @@ where /// Extends the [`Row`] with the given children. pub fn extend( self, - children: impl IntoIterator>, + children: impl IntoIterator< + Item = Element<'a, Message, Theme, Renderer>, + >, ) -> Self { children.into_iter().fold(self, Self::push) } @@ -237,12 +257,17 @@ where /// Turns the [`Row`] into a [`Wrapping`] row. /// /// The original alignment of the [`Row`] is preserved per row wrapped. - pub const fn wrap(self) -> Wrapping<'a, Message, Theme, Renderer> { + pub const fn wrap( + self, + ) -> Wrapping<'a, Message, Theme, Renderer> { Wrapping { row: self } } /// The message produced by the [`Row`] when a child is dragged. - pub fn on_drag(mut self, on_reorder: impl Fn(DragEvent) -> Message + 'a) -> Self { + pub fn on_drag( + mut self, + on_reorder: impl Fn(DragEvent) -> Message + 'a, + ) -> Self { self.on_drag = Some(Box::new(on_reorder)); self } @@ -307,7 +332,9 @@ impl<'a, Message, Theme, Renderer: renderer::Renderer> where Theme: Catalog, { - fn from_iter>>( + fn from_iter< + T: IntoIterator>, + >( iter: T, ) -> Self { Self::with_children(iter) @@ -344,7 +371,7 @@ where } fn layout( - &mut self, + &self, tree: &mut Tree, renderer: &Renderer, limits: &layout::Limits, @@ -358,73 +385,69 @@ where self.padding, self.spacing, self.align, - &mut self.children, + &self.children, &mut tree.children, ) } fn operate( - &mut self, + &self, tree: &mut Tree, layout: Layout<'_>, renderer: &Renderer, operation: &mut dyn Operation, ) { - operation.container(None, layout.bounds()); - operation.traverse(&mut |operation| { - self.children - .iter_mut() - .zip(&mut tree.children) - .zip(layout.children()) - .for_each(|((child, state), layout)| { - child - .as_widget_mut() - .operate(state, layout, renderer, operation); - }); - }); + operation.container( + None, + layout.bounds(), + &mut |operation| { + self.children + .iter() + .zip(&mut tree.children) + .zip(layout.children()) + .for_each(|((child, state), layout)| { + child.as_widget().operate( + state, layout, renderer, operation, + ); + }); + }, + ); } - fn update( + fn on_event( &mut self, tree: &mut Tree, - event: &Event, + event: Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message>, viewport: &Rectangle, - ) { + ) -> event::Status { + let mut event_status = event::Status::Ignored; + let action = tree.state.downcast_mut::(); - // let children have precedence - self.children - .iter_mut() - .zip(&mut tree.children) - .zip(layout.children()) - .for_each(|((child, state), layout)| { - child.as_widget_mut().update( - state, - &event.clone(), - layout, - cursor, - renderer, - clipboard, - shell, - viewport, - ) - }); - match event { - Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => { - if let Some(cursor_position) = cursor.position_over(layout.bounds()) { - for (index, child_layout) in layout.children().enumerate() { - if child_layout.bounds().contains(cursor_position) { + Event::Mouse(mouse::Event::ButtonPressed( + mouse::Button::Left, + )) => { + if let Some(cursor_position) = + cursor.position_over(layout.bounds()) + { + for (index, child_layout) in + layout.children().enumerate() + { + if child_layout + .bounds() + .contains(cursor_position) + { *action = Action::Picking { index, origin: cursor_position, }; - shell.capture_event(); + event_status = event::Status::Captured; break; } } @@ -433,8 +456,10 @@ where Event::Mouse(mouse::Event::CursorMoved { .. }) => { match *action { Action::Picking { index, origin } => { - if let Some(cursor_position) = cursor.position() - && cursor_position.distance(origin) > self.deadband_zone + if let Some(cursor_position) = + cursor.position() + && cursor_position.distance(origin) + > self.deadband_zone { // Start dragging *action = Action::Dragging { @@ -443,44 +468,66 @@ where last_cursor: cursor_position, }; if let Some(on_reorder) = &self.on_drag { - shell.publish(on_reorder(DragEvent::Picked { index })); + shell.publish(on_reorder( + DragEvent::Picked { index }, + )); } - shell.capture_event(); + event_status = event::Status::Captured; } } Action::Dragging { origin, index, .. } => { - if let Some(cursor_position) = cursor.position() { + if let Some(cursor_position) = + cursor.position() + { *action = Action::Dragging { last_cursor: cursor_position, origin, index, }; - shell.capture_event(); + event_status = event::Status::Captured; } } _ => {} } } - Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) => { + Event::Mouse(mouse::Event::ButtonReleased( + mouse::Button::Left, + )) => { match *action { Action::Dragging { index, .. } => { - if let Some(cursor_position) = cursor.position() { + if let Some(cursor_position) = + cursor.position() + { let bounds = layout.bounds(); if bounds.contains(cursor_position) { - let (target_index, drop_position) = self - .compute_target_index(cursor_position, layout, index); - - if let Some(on_reorder) = &self.on_drag { - shell.publish(on_reorder(DragEvent::Dropped { + let (target_index, drop_position) = + self.compute_target_index( + cursor_position, + layout, index, - target_index, - drop_position, - })); - shell.capture_event(); + ); + + if let Some(on_reorder) = + &self.on_drag + { + shell.publish(on_reorder( + DragEvent::Dropped { + index, + target_index, + drop_position, + }, + )); + event_status = + event::Status::Captured; } - } else if let Some(on_reorder) = &self.on_drag { - shell.publish(on_reorder(DragEvent::Canceled { index })); - shell.capture_event(); + } else if let Some(on_reorder) = + &self.on_drag + { + shell.publish(on_reorder( + DragEvent::Canceled { index }, + )); + event_status = + event::Status::Captured; } } *action = Action::Idle; @@ -494,6 +541,27 @@ where } _ => {} } + + let child_status = self + .children + .iter_mut() + .zip(&mut tree.children) + .zip(layout.children()) + .map(|((child, state), layout)| { + child.as_widget_mut().on_event( + state, + event.clone(), + layout, + cursor, + renderer, + clipboard, + shell, + viewport, + ) + }) + .fold(event::Status::Ignored, event::Status::merge); + + event::Status::merge(event_status, child_status) } fn mouse_interaction( @@ -515,9 +583,9 @@ where .zip(&tree.children) .zip(layout.children()) .map(|((child, state), layout)| { - child - .as_widget() - .mouse_interaction(state, layout, cursor, viewport, renderer) + child.as_widget().mouse_interaction( + state, layout, cursor, viewport, renderer, + ) }) .max() .unwrap_or_default() @@ -547,15 +615,20 @@ where // Determine the target index based on cursor position let target_index = if cursor.position().is_some() { - let (target_index, _) = - self.compute_target_index(*last_cursor, layout, *index); + let (target_index, _) = self + .compute_target_index( + *last_cursor, + layout, + *index, + ); target_index.min(child_count - 1) } else { *index }; // Store the width of the dragged item - let drag_bounds = layout.children().nth(*index).unwrap().bounds(); + let drag_bounds = + layout.children().nth(*index).unwrap().bounds(); let drag_width = drag_bounds.width + self.spacing; // Draw all children except the one being dragged @@ -563,88 +636,118 @@ where for i in 0..child_count { let child = &self.children[i]; let state = &tree.children[i]; - let child_layout = layout.children().nth(i).unwrap(); + let child_layout = + layout.children().nth(i).unwrap(); // Draw the dragged item separately // TODO: Draw a shadow below the picked item to enhance the // floating effect if i == *index { - let scaling = Transformation::scale(style.scale); - let translation = *last_cursor - *origin * scaling; - renderer.with_translation(translation, |renderer| { - renderer.with_transformation(scaling, |renderer| { - renderer.with_layer(child_layout.bounds(), |renderer| { - child.as_widget().draw( - state, - renderer, - theme, - defaults, - child_layout, - cursor, - viewport, - ); - }); - }); - }); - } else { - let offset: i32 = match target_index.cmp(index) { - std::cmp::Ordering::Less - if i >= target_index && i < *index => - { - 1 - } - std::cmp::Ordering::Greater - if i > *index && i <= target_index => - { - -1 - } - _ => 0, - }; - - let translation = Vector::new(offset as f32 * drag_width, 0.0); - renderer.with_translation(translation, |renderer| { - child.as_widget().draw( - state, - renderer, - theme, - defaults, - child_layout, - cursor, - viewport, - ); - // Draw an overlay if this item is being moved - // TODO: instead of drawing an overlay, it would be nicer to - // draw the item with a reduced opacity, but that's not possible today - if offset != 0 { - renderer.fill_quad( - renderer::Quad { - bounds: child_layout.bounds(), - ..renderer::Quad::default() + let scaling = + Transformation::scale(style.scale); + let translation = + *last_cursor - *origin * scaling; + renderer.with_translation( + translation, + |renderer| { + renderer.with_transformation( + scaling, + |renderer| { + renderer.with_layer( + child_layout.bounds(), + |renderer| { + child + .as_widget() + .draw( + state, + renderer, + theme, + defaults, + child_layout, + cursor, + viewport, + ); + }, + ); }, - style.moved_item_overlay, ); + }, + ); + } else { + let offset: i32 = + match target_index.cmp(index) { + std::cmp::Ordering::Less + if i >= target_index + && i < *index => + { + 1 + } + std::cmp::Ordering::Greater + if i > *index + && i <= target_index => + { + -1 + } + _ => 0, + }; - // Keep track of the total translation so we can - // draw the "ghost" of the dragged item later - translations -= (child_layout.bounds().width - + self.spacing) - * offset.signum() as f32; - } - }); + let translation = Vector::new( + offset as f32 * drag_width, + 0.0, + ); + renderer.with_translation( + translation, + |renderer| { + child.as_widget().draw( + state, + renderer, + theme, + defaults, + child_layout, + cursor, + viewport, + ); + // Draw an overlay if this item is being moved + // TODO: instead of drawing an overlay, it would be nicer to + // draw the item with a reduced opacity, but that's not possible today + if offset != 0 { + renderer.fill_quad( + renderer::Quad { + bounds: child_layout + .bounds(), + ..renderer::Quad::default( + ) + }, + style.moved_item_overlay, + ); + + // Keep track of the total translation so we can + // draw the "ghost" of the dragged item later + translations -= + (child_layout.bounds().width + + self.spacing) + * offset.signum() as f32; + } + }, + ); } } // Draw a ghost of the dragged item in its would-be position - let ghost_translation = Vector::new(translations, 0.0); - renderer.with_translation(ghost_translation, |renderer| { - renderer.fill_quad( - renderer::Quad { - bounds: drag_bounds, - border: style.ghost_border, - ..renderer::Quad::default() - }, - style.ghost_background, - ); - }); + let ghost_translation = + Vector::new(translations, 0.0); + renderer.with_translation( + ghost_translation, + |renderer| { + renderer.fill_quad( + renderer::Quad { + bounds: drag_bounds, + border: style.ghost_border, + ..renderer::Quad::default() + }, + style.ghost_background, + ); + }, + ); } _ => { // Draw all children normally when not dragging @@ -654,9 +757,10 @@ where .zip(&tree.children) .zip(layout.children()) { - child - .as_widget() - .draw(state, renderer, theme, defaults, layout, cursor, viewport); + child.as_widget().draw( + state, renderer, theme, defaults, layout, + cursor, viewport, + ); } } } @@ -665,9 +769,8 @@ where fn overlay<'b>( &'b mut self, tree: &'b mut Tree, - layout: Layout<'b>, + layout: Layout<'_>, renderer: &Renderer, - viewport: &Rectangle, translation: Vector, ) -> Option> { overlay::from_children( @@ -675,13 +778,13 @@ where tree, layout, renderer, - viewport, translation, ) } } -impl<'a, Message, Theme, Renderer> From> +impl<'a, Message, Theme, Renderer> + From> for Element<'a, Message, Theme, Renderer> where Message: 'a, @@ -700,8 +803,12 @@ where /// /// The original alignment of the [`Row`] is preserved per row wrapped. #[allow(missing_debug_implementations)] -pub struct Wrapping<'a, Message, Theme = cosmic::Theme, Renderer = iced::Renderer> -where +pub struct Wrapping< + 'a, + Message, + Theme = cosmic::Theme, + Renderer = iced::Renderer, +> where Theme: Catalog, { row: Row<'a, Message, Theme, Renderer>, @@ -726,7 +833,7 @@ where } fn layout( - &mut self, + &self, tree: &mut Tree, renderer: &Renderer, limits: &layout::Limits, @@ -752,31 +859,34 @@ where Alignment::End => 1.0, }; - let align = |row_start: std::ops::Range, - row_height: f32, - children: &mut Vec| { - if align_factor != 0.0 { - for node in &mut children[row_start] { - let height = node.size().height; + let align = + |row_start: std::ops::Range, + row_height: f32, + children: &mut Vec| { + if align_factor != 0.0 { + for node in &mut children[row_start] { + let height = node.size().height; - node.translate_mut(Vector::new( - 0.0, - (row_height - height) / align_factor, - )); + node.translate_mut(Vector::new( + 0.0, + (row_height - height) / align_factor, + )); + } } - } - }; + }; - for (i, child) in self.row.children.iter_mut().enumerate() { - let node = - child - .as_widget_mut() - .layout(&mut tree.children[i], renderer, &limits); + for (i, child) in self.row.children.iter().enumerate() { + let node = child.as_widget().layout( + &mut tree.children[i], + renderer, + &limits, + ); let child_size = node.size(); if x != 0.0 && x + child_size.width > max_width { - intrinsic_size.width = intrinsic_size.width.max(x - spacing); + intrinsic_size.width = + intrinsic_size.width.max(x - spacing); align(row_start..i, row_height, &mut children); @@ -788,27 +898,36 @@ where row_height = row_height.max(child_size.height); - children.push( - node.move_to((x + self.row.padding.left, y + self.row.padding.top)), - ); + children.push(node.move_to(( + x + self.row.padding.left, + y + self.row.padding.top, + ))); x += child_size.width + spacing; } if x != 0.0 { - intrinsic_size.width = intrinsic_size.width.max(x - spacing); + intrinsic_size.width = + intrinsic_size.width.max(x - spacing); } intrinsic_size.height = y + row_height; align(row_start..children.len(), row_height, &mut children); - let size = limits.resolve(self.row.width, self.row.height, intrinsic_size); + let size = limits.resolve( + self.row.width, + self.row.height, + intrinsic_size, + ); - layout::Node::with_children(size.expand(self.row.padding), children) + layout::Node::with_children( + size.expand(self.row.padding), + children, + ) } fn operate( - &mut self, + &self, tree: &mut Tree, layout: Layout<'_>, renderer: &Renderer, @@ -817,19 +936,20 @@ where self.row.operate(tree, layout, renderer, operation); } - fn update( + fn on_event( &mut self, tree: &mut Tree, - event: &Event, + event: Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message>, viewport: &Rectangle, - ) { - self.row.update( - tree, event, layout, cursor, renderer, clipboard, shell, viewport, + ) -> event::Status { + self.row.on_event( + tree, event, layout, cursor, renderer, clipboard, shell, + viewport, ) } @@ -841,8 +961,9 @@ where viewport: &Rectangle, renderer: &Renderer, ) -> mouse::Interaction { - self.row - .mouse_interaction(tree, layout, cursor, viewport, renderer) + self.row.mouse_interaction( + tree, layout, cursor, viewport, renderer, + ) } fn draw( @@ -855,24 +976,24 @@ where cursor: mouse::Cursor, viewport: &Rectangle, ) { - self.row - .draw(tree, renderer, theme, style, layout, cursor, viewport); + self.row.draw( + tree, renderer, theme, style, layout, cursor, viewport, + ); } fn overlay<'b>( &'b mut self, tree: &'b mut Tree, - layout: Layout<'b>, + layout: Layout<'_>, renderer: &Renderer, - viewport: &Rectangle, translation: Vector, ) -> Option> { - self.row - .overlay(tree, layout, renderer, viewport, translation) + self.row.overlay(tree, layout, renderer, translation) } } -impl<'a, Message, Theme, Renderer> From> +impl<'a, Message, Theme, Renderer> + From> for Element<'a, Message, Theme, Renderer> where Message: 'a, @@ -928,15 +1049,19 @@ impl Catalog for cosmic::Theme { pub fn default(theme: &cosmic::Theme) -> Style { Style { scale: 1.05, - moved_item_overlay: Color::from(theme.cosmic().primary.base.color) - .scale_alpha(0.2), + moved_item_overlay: Color::from( + theme.cosmic().primary.base.color, + ) + .scale_alpha(0.2), ghost_border: Border { width: 1.0, color: theme.cosmic().secondary.base.color.into(), radius: 0.0.into(), }, - ghost_background: Color::from(theme.cosmic().secondary.base.color) - .scale_alpha(0.2) - .into(), + ghost_background: Color::from( + theme.cosmic().secondary.base.color, + ) + .scale_alpha(0.2) + .into(), } } diff --git a/src/ui/widgets/loaded_image.rs b/src/ui/widgets/loaded_image.rs deleted file mode 100644 index 01dbb10..0000000 --- a/src/ui/widgets/loaded_image.rs +++ /dev/null @@ -1,239 +0,0 @@ -use cosmic::iced::{core as iced_core, widget as iced_widget}; -use iced_core::event::Event; -use iced_core::widget::{Operation, Tree}; -use iced_core::{ - Clipboard, Element, Layout, Length, Rectangle, Shell, Vector, Widget, layout, mouse, - overlay, renderer, -}; - -pub fn loaded_image<'a, Message: 'static, Theme, Renderer>( - handle: impl Into<::Handle>, - content: impl Into>, -) -> LoadedImage<'a, Message, Theme, Renderer> -where - Theme: iced_widget::container::Catalog, - ::Class<'a>: - From>, - Renderer: iced_core::Renderer - + iced_core::image::Renderer, - ::Handle: 'a, -{ - LoadedImage::new(handle.into(), content.into()) -} - -/// Forces the wrapped image to be loaded before drawing. -/// -/// May cause a dropped frame if the image is not already in the cache. -/// This is useful when you want to ensure an image is loaded before it is drawn, for example when swapping out a placeholder. -/// Otherwise, the image may be blank until the next redraw. -#[allow(missing_debug_implementations)] -pub struct LoadedImage<'a, Message, Theme, Renderer> -where - Renderer: iced_core::Renderer + iced_core::image::Renderer, -{ - handle: ::Handle, - content: cosmic::iced::Element<'a, Message, Theme, Renderer>, -} - -impl<'a, Message, Theme, Renderer> LoadedImage<'a, Message, Theme, Renderer> -where - Renderer: iced_core::Renderer + iced_core::image::Renderer, - ::Handle: 'a, -{ - /// Creates an empty [`LoadedImage`]. - pub(crate) fn new( - handle: ::Handle, - content: impl Into>, - ) -> Self { - LoadedImage { - handle, - content: content.into(), - } - } -} - -impl Widget - for LoadedImage<'_, Message, Theme, Renderer> -where - Renderer: iced_core::Renderer + iced_core::image::Renderer, -{ - fn children(&self) -> Vec { - vec![Tree::new(&self.content)] - } - - fn diff(&mut self, tree: &mut Tree) { - tree.diff_children(std::slice::from_mut(&mut self.content)); - } - - fn size(&self) -> iced_core::Size { - self.content.as_widget().size() - } - - fn layout( - &mut self, - tree: &mut Tree, - renderer: &Renderer, - limits: &layout::Limits, - ) -> layout::Node { - let node = - self.content - .as_widget_mut() - .layout(&mut tree.children[0], renderer, limits); - let size = node.size(); - layout::Node::with_children(size, vec![node]) - } - - fn operate( - &mut self, - tree: &mut Tree, - layout: Layout<'_>, - renderer: &Renderer, - operation: &mut dyn Operation, - ) { - operation.container(None, layout.bounds()); - operation.traverse(&mut |operation| { - self.content.as_widget_mut().operate( - &mut tree.children[0], - layout - .children() - .next() - .expect("There should always be a child") - .with_virtual_offset(layout.virtual_offset()), - renderer, - operation, - ); - }); - } - - fn update( - &mut self, - tree: &mut Tree, - event: &Event, - layout: Layout<'_>, - cursor_position: mouse::Cursor, - renderer: &Renderer, - clipboard: &mut dyn Clipboard, - shell: &mut Shell<'_, Message>, - viewport: &Rectangle, - ) { - self.content.as_widget_mut().update( - &mut tree.children[0], - event, - layout - .children() - .next() - .expect("There should always be a child") - .with_virtual_offset(layout.virtual_offset()), - cursor_position, - renderer, - clipboard, - shell, - viewport, - ); - } - - fn mouse_interaction( - &self, - tree: &Tree, - layout: Layout<'_>, - cursor_position: mouse::Cursor, - viewport: &Rectangle, - renderer: &Renderer, - ) -> mouse::Interaction { - let content_layout = layout - .children() - .next() - .expect("There should always be a child"); - - self.content.as_widget().mouse_interaction( - &tree.children[0], - content_layout.with_virtual_offset(layout.virtual_offset()), - cursor_position, - viewport, - renderer, - ) - } - - fn draw( - &self, - tree: &Tree, - renderer: &mut Renderer, - theme: &Theme, - renderer_style: &renderer::Style, - layout: Layout<'_>, - cursor_position: mouse::Cursor, - viewport: &Rectangle, - ) { - let content_layout = layout - .children() - .next() - .expect("There should always be a child"); - - // forces image to be loaded before drawing - _ = renderer.load_image(&self.handle); - self.content.as_widget().draw( - &tree.children[0], - renderer, - theme, - renderer_style, - content_layout.with_virtual_offset(layout.virtual_offset()), - cursor_position, - viewport, - ); - } - - fn overlay<'b>( - &'b mut self, - tree: &'b mut Tree, - layout: Layout<'b>, - renderer: &Renderer, - viewport: &Rectangle, - translation: Vector, - ) -> Option> { - self.content.as_widget_mut().overlay( - &mut tree.children[0], - layout - .children() - .next() - .expect("There should always be a child") - .with_virtual_offset(layout.virtual_offset()), - renderer, - viewport, - translation, - ) - } - - fn drag_destinations( - &self, - state: &Tree, - layout: Layout<'_>, - renderer: &Renderer, - dnd_rectangles: &mut iced_core::clipboard::DndDestinationRectangles, - ) { - let content_layout = layout - .children() - .next() - .expect("There should always be a child"); - self.content.as_widget().drag_destinations( - &state.children[0], - content_layout.with_virtual_offset(layout.virtual_offset()), - renderer, - dnd_rectangles, - ); - } -} - -#[allow(clippy::use_self)] -impl<'a, Message, Theme, Renderer> From> - for Element<'a, Message, Theme, Renderer> -where - Message: 'a, - Renderer: 'a + iced_core::Renderer + iced_core::image::Renderer, - Theme: 'a, -{ - fn from( - c: LoadedImage<'a, Message, Theme, Renderer>, - ) -> Element<'a, Message, Theme, Renderer> { - Self::new(c) - } -} diff --git a/src/ui/widgets/mod.rs b/src/ui/widgets/mod.rs index 96775ba..46325a7 100644 --- a/src/ui/widgets/mod.rs +++ b/src/ui/widgets/mod.rs @@ -1,7 +1,3 @@ -#[allow(clippy::unwrap_used)] -#[allow(clippy::nursery)] -#[allow(clippy::pedantic)] pub mod draggable; -pub mod loaded_image; +pub mod slide_text; pub mod verse_editor; -// pub mod slide_text; diff --git a/src/ui/widgets/slide_text.rs b/src/ui/widgets/slide_text.rs index faefa22..efdaa54 100644 --- a/src/ui/widgets/slide_text.rs +++ b/src/ui/widgets/slide_text.rs @@ -3,12 +3,12 @@ use cosmic::iced::advanced::renderer; use cosmic::iced::advanced::widget::{self, Widget}; use cosmic::iced::border; use cosmic::iced::mouse; -use cosmic::iced::wgpu::Primitive; -use cosmic::iced::wgpu::primitive::Renderer as PrimitiveRenderer; use cosmic::iced::{Color, Element, Length, Rectangle, Size}; +use cosmic::iced_wgpu::Primitive; +use cosmic::iced_wgpu::primitive::Renderer as PrimitiveRenderer; pub struct SlideText { - _text: String, + text: String, font_size: f32, } @@ -16,7 +16,7 @@ impl SlideText { pub fn new(text: impl AsRef) -> Self { let text = text.as_ref(); Self { - _text: text.to_string(), + text: text.to_string(), font_size: 50.0, } } @@ -40,7 +40,7 @@ where } fn layout( - &mut self, + &self, _tree: &mut widget::Tree, _renderer: &Renderer, _limits: &layout::Limits, @@ -88,8 +88,8 @@ where #[derive(Debug, Clone)] pub(crate) struct TextPrimitive { - _text_id: u64, - _size: (u32, u32), + text_id: u64, + size: (u32, u32), } impl TextPrimitive { diff --git a/src/ui/widgets/verse_editor.rs b/src/ui/widgets/verse_editor.rs index bd8ecfd..29016dd 100644 --- a/src/ui/widgets/verse_editor.rs +++ b/src/ui/widgets/verse_editor.rs @@ -1,8 +1,14 @@ -use cosmic::cosmic_theme::palette::WithAlpha; -use cosmic::iced::widget::{column, row}; -use cosmic::iced::{Background, Border}; -use cosmic::widget::{button, combo_box, container, icon, space, text_editor}; -use cosmic::{Element, Task, theme}; +use cosmic::{ + Element, Task, + cosmic_theme::palette::WithAlpha, + iced::{Background, Border, Color, Point}, + iced_widget::{column, row}, + theme, + widget::{ + button, combo_box, container, horizontal_space, icon, text, + text_editor, text_input, + }, +}; use crate::core::songs::VerseName; @@ -29,46 +35,39 @@ pub enum Action { UpdateVerse((VerseName, String)), UpdateVerseName(String), DeleteVerse(VerseName), - ScrollVerses(f32), None, } -#[allow(clippy::cast_precision_loss)] impl VerseEditor { #[must_use] - pub fn new(verse: VerseName, lyric: &str) -> Self { + pub fn new(verse: VerseName, lyric: String) -> Self { Self { verse_name: verse, - lyric: lyric.to_string(), - content: text_editor::Content::with_text(lyric), + lyric: lyric.clone(), + content: text_editor::Content::with_text(&lyric), editing_verse_name: false, - verse_name_combo: combo_box::State::new(VerseName::all_names()), + verse_name_combo: combo_box::State::new( + VerseName::all_names(), + ), } } pub fn update(&mut self, message: Message) -> Action { match message { - Message::UpdateLyric(action) => match action { - text_editor::Action::Edit(ref _edit) => { - self.content.perform(action); - let lyrics = self.content.text(); - self.lyric.clone_from(&lyrics); - let verse = self.verse_name; - Action::UpdateVerse((verse, lyrics)) - } - text_editor::Action::Scroll { lines } => { - if self.content.line_count() > 6 { - self.content.perform(action); - Action::None - } else { - Action::ScrollVerses(lines as f32) + Message::UpdateLyric(action) => { + self.content.perform(action.clone()); + match action { + text_editor::Action::Edit(_edit) => { + let lyrics = self.content.text(); + self.lyric = lyrics.clone(); + let verse = self.verse_name; + Action::UpdateVerse((verse, lyrics)) } + _ => Action::None, } - _ => { - self.content.perform(action); - Action::None - } - }, - Message::UpdateVerseName(verse_name) => Action::UpdateVerseName(verse_name), + } + Message::UpdateVerseName(verse_name) => { + Action::UpdateVerseName(verse_name) + } Message::EditVerseName => { self.editing_verse_name = !self.editing_verse_name; Action::None @@ -80,14 +79,16 @@ impl VerseEditor { pub fn view(&self) -> Element { let cosmic::cosmic_theme::Spacing { - space_xxs: _, + space_xxs, space_s, space_m, .. } = theme::spacing(); let delete_button = button::text("Delete") - .trailing_icon(icon::from_name("window-close-symbolic")) + .trailing_icon( + icon::from_name("view-close").symbolic(true), + ) .class(theme::Button::Destructive) .on_press(Message::DeleteVerse(self.verse_name)); let combo = combo_box( @@ -97,43 +98,64 @@ impl VerseEditor { Message::UpdateVerseName, ); - let verse_title = row![combo, space::horizontal(), delete_button]; + let verse_title = + row![combo, horizontal_space(), delete_button]; - let lyric: Element = if self.verse_name == VerseName::Blank { - space::horizontal().into() + let lyric: Element = if self.verse_name + == VerseName::Blank + { + horizontal_space().into() } else { text_editor(&self.content) .on_action(Message::UpdateLyric) .padding(space_m) - .class(theme::iced::TextEditor::Custom(Box::new(move |t, s| { - let neutral = t.cosmic().palette.neutral_9; - let mut base_style = text_editor::Style { - background: Background::Color( - t.cosmic().background.small_widget.with_alpha(0.25).into(), - ), - border: Border::default() - .rounded(space_s as u8) - .width(2) - .color(t.cosmic().bg_component_divider()), - placeholder: neutral.with_alpha(0.7).into(), - value: neutral.into(), - selection: t.cosmic().accent.base.into(), - }; - let hovered_border = Border::default() - .rounded(space_s as u8) - .width(3) - .color(t.cosmic().accent.hover); - match s { - text_editor::Status::Hovered - | text_editor::Status::Focused { .. } => { - base_style.border = hovered_border; - base_style + .class(theme::iced::TextEditor::Custom(Box::new( + move |t, s| { + let neutral = t.cosmic().palette.neutral_9; + let mut base_style = text_editor::Style { + background: Background::Color( + t.cosmic() + .background + .small_widget + .with_alpha(0.25) + .into(), + ), + border: Border::default() + .rounded(space_s) + .width(2) + .color( + t.cosmic().bg_component_divider(), + ), + icon: t + .cosmic() + .primary_component_color() + .into(), + placeholder: neutral + .with_alpha(0.7) + .into(), + value: neutral.into(), + selection: t.cosmic().accent.base.into(), + }; + let hovered_border = Border::default() + .rounded(space_s) + .width(3) + .color(t.cosmic().accent.hover); + match s { + text_editor::Status::Active => base_style, + text_editor::Status::Hovered => { + base_style.border = hovered_border; + base_style + } + text_editor::Status::Focused => { + base_style.border = hovered_border; + base_style + } + text_editor::Status::Disabled => { + base_style + } } - text_editor::Status::Active | text_editor::Status::Disabled => { - base_style - } - } - }))) + }, + ))) .height(150) .into() }; @@ -143,4 +165,13 @@ impl VerseEditor { .class(theme::Container::Card) .into() } + + // TODO not done yet. This doesn't work, need to find a way to either reset the + // cursor position or not make new widgets + pub fn set_cursor_position(&mut self, position: (usize, usize)) { + self.content.perform(text_editor::Action::Click(Point::new( + position.0 as f32, + position.1 as f32, + ))); + } } diff --git a/test.db b/test.db deleted file mode 100644 index b3c0c1c..0000000 Binary files a/test.db and /dev/null differ diff --git a/test_presentation.ron b/test_presentation.ron index f3865d1..f7b37ad 100644 --- a/test_presentation.ron +++ b/test_presentation.ron @@ -6,15 +6,10 @@ kind: Image ), text: "This is Frodo", - font: Some(Font( - name: "Quicksand", - weight: Normal, - style: Normal, - size: 130, - )), - font_size: 130, - stroke: None, - shadow: None, + font: "Quicksand", + font_size: 50, + stroke_size: 0, + stroke_color: None, text_alignment: MiddleCenter, video_loop: false, video_start_time: 0.0, @@ -29,15 +24,10 @@ kind: Video ), text: "This is Frodo", - font: Some(Font( - name: "Quicksand", - weight: Normal, - style: Normal, - size: 130, - )), - font_size: 130, - stroke: None, - shadow: None, + font: "Quicksand", + font_size: 50, + stroke_size: 0, + stroke_color: None, text_alignment: MiddleCenter, video_loop: false, video_start_time: 0.0, diff --git a/xyz.cochrun.lumina.yml b/xyz.cochrun.lumina.yml deleted file mode 100644 index 90d7e24..0000000 --- a/xyz.cochrun.lumina.yml +++ /dev/null @@ -1,77 +0,0 @@ -app-id: xyz.cochrun.lumina -runtime: org.freedesktop.Platform -runtime-version: '25.08' -sdk: org.freedesktop.Sdk -sdk-extensions: - - org.freedesktop.Sdk.Extension.rust-nightly - - org.freedesktop.Sdk.Extension.llvm22 -base: com.system76.Cosmic.BaseApp -command: lumina -add-extensions: - org.freedesktop.Platform.ffmpeg-full: - version: '25.08' # replace by appropriate version - directory: lib/ffmpeg - add-ld-path: . - org.freedesktop.Platform.GStreamer: - version: '25.08' - add-ld-path: . -finish-args: - - --share=ipc - - --socket=fallback-x11 - - --socket=wayland - - --device=dri - - --share=network - - --talk-name=com.system76.CosmicSettingsDaemon - - --talk-name=com.system76.CosmicSettingsDaemon.* - - --filesystem=home:rw - - --filesystem=xdg-config/cosmic:rw - - --filesystem=xdg-data/lumina:rw - - --filesystem=xdg-cache/lumina:rw -build-options: - append-path: /usr/lib/sdk/rust-nightly/bin:/usr/lib/sdk/llvm22/bin - # append-path: /usr/lib/sdk/llvm22/bin - prepend-ld-library-path: /usr/lib/sdk/llvm22/lib - env: - CARGO_HOME: /run/build/lumina/cargo - LIBCLANG_PATH: /usr/lib/sdk/llvm22/lib - BINDGEN_EXTRA_CLANG_ARGS: -I/usr/lib/sdk/llvm22/lib/clang/22/include - PKG_CONFIG_PATH: /app/lib64/pkgconfig:/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig - # CC: gcc - # CXX: g++ - # CARGO_NET_OFFLINE: 'true' -modules: - # - name: mupdf-rs - # buildsystem: simple - # build-commands: - # - cargo build --offline --release - # sources: - # - type: git - # url: https://github.com/messense/mupdf-rs.git - # commit: 902d44bf7becfc84f8349c524cb8acfb18a6f3d4 - # - mupdf-cargo-sources.json - - - name: lumina - buildsystem: simple - build-options: - env: - CARGO_HOME: /run/build/lumina/cargo - DATABASE_URL: sqlite://./test.db - # CARGO_NET_OFFLINE: 'true' - build-commands: - - just build-offline - # - cargo build --release - - - install -Dm755 target/release/lumina -t /app/bin - - install -Dm644 res/icons/lumina.svg -t /app/share/icons/hicolor/scalable/apps - - install -Dm644 res/${FLATPAK_ID}.desktop -t /app/share/applications - - install -Dm644 res/${FLATPAK_ID}.metainfo.xml -t /app/share/metainfo - - sources: - # - type: git - # url: https://git.tfcconnection.org/chris/lumina.git - # commit: 53d1ad6163634658a274293d3a2ca7a69a4d9421 - - - type: dir - path: . - - - cargo-sources.json