aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--Cargo.toml29
-rw-r--r--Makefile12
-rw-r--r--README.md16
-rw-r--r--build-aux/cargo-sources.json2673
-rw-r--r--build-aux/systems.tranquil.Map.yml1872
-rw-r--r--clippy.toml3
-rw-r--r--po/en_US.mobin13775 -> 0 bytes
-rw-r--r--po/en_US/LC_MESSAGES/systems.tranquil.Map.mobin13775 -> 0 bytes
-rw-r--r--resources/systems.tranquil.Map.desktop2
-rw-r--r--src/actions.rs4
-rw-r--r--src/dialogs.rs12
-rw-r--r--src/file_registry.rs2
-rw-r--r--src/handlers/export.rs28
-rw-r--r--src/handlers/view.rs6
-rw-r--r--src/i18n.rs4
-rw-r--r--src/main.rs239
-rw-r--r--src/preferences/models.rs21
-rw-r--r--src/preferences/pages/editor.rs24
-rw-r--r--src/preferences/pages/general.rs2
-rw-r--r--src/preferences/pages/map.rs65
-rw-r--r--src/preferences/pages/stages.rs72
-rw-r--r--src/preferences/pages/templates.rs16
-rw-r--r--src/preferences/window.rs187
-rw-r--r--src/stages.rs46
25 files changed, 3189 insertions, 2149 deletions
diff --git a/.gitignore b/.gitignore
index 9dfc82b..4959a24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
/target
/repo
+*.mo
+builddir
+.flatpak-builder
diff --git a/Cargo.toml b/Cargo.toml
index 2c1df06..df3b9fe 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,3 +20,32 @@ wmap-renderer = "1.1.0"
[build-dependencies]
relm4-icons-build = "0.10.0"
+
+[profile.release]
+strip = true
+lto = true
+panic = "abort"
+
+[package.metadata.generate-rpm]
+assets = [
+ { source = "target/release/map", dest = "/usr/bin/map", mode = "755" },
+ # missing all the other files in resources
+]
+
+[package.metadata.deb]
+assets = [
+ ["target/release/map", "/usr/bin/map", "755" ],
+ # missing all the other files in resources
+]
+
+[lints.clippy]
+pedantic = { level = "warn", priority = -1 }
+all = "deny"
+unwrap_used = "deny"
+expect_used = "deny"
+panic = "deny"
+indexing_slicing = "deny"
+unreachable = "deny"
+undocumented_unsafe_blocks = "deny"
+unwrap_in_result = "deny"
+ok_expect = "deny"
diff --git a/Makefile b/Makefile
index 0f6087d..e0533ff 100644
--- a/Makefile
+++ b/Makefile
@@ -3,8 +3,9 @@ target = $(shell rustc -vV | grep host | awk '{print $$2}')
architectures := x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu
app_name := map
deploy_host := deploy@build.r.bdr.sh
-deploy_path := /srv/http/build.r.bdr.sh/$(app_name)
+deploy_path := /srv/http/build.r.bdr.sh/$(app_name)-linux
install_path := /usr/local/bin/$(app_name)
+flatpak_cargo_generator := $(HOME)/projects/vendor/flatpak-builder-tools/cargo
define sign_and_deploy
@./scripts/sign.sh "$(1)" "$(channel)" "$(architecture)"
@@ -24,7 +25,7 @@ endif
# Build ########################################################################
-build: prepare
+build: compile_translations prepare
@$(eval target_dir := ./target/$(target)/$(profile)/map)
cargo build --profile $(profile) --target $(target)
@@ -66,7 +67,10 @@ package: $(architectures)
release: rpm tar deb
@$(eval filename := $(app_name)-$(target)-$(channel))
-flatpak:
+update_flatpak_dependencies:
+ cd $(flatpak_cargo_generator) && `poetry env activate` && python3 flatpak-cargo-generator.py $(CURDIR)/Cargo.lock -o $(CURDIR)/build-aux/cargo-sources.json && deactivate
+
+flatpak: update_flatpak_dependencies
@flatpak-builder --force-clean --user --install-deps-from=flathub --repo=repo --install builddir ./build-aux/systems.tranquil.Map.yml
deb: build
@@ -112,4 +116,4 @@ else
endif
-.PHONY: default build $(architectures) rpm package prepare set_rust ci release test coverage format flatpak extract_strings find_translatable_files compile_translations
+.PHONY: default build $(architectures) rpm package prepare set_rust ci release test coverage format flatpak update_flatpak_dependencies extract_strings find_translatable_files compile_translations
diff --git a/README.md b/README.md
index 67db2f2..34a5b68 100644
--- a/README.md
+++ b/README.md
@@ -23,8 +23,17 @@ flatpak.
### Flatpak
+Build it with `make flatpak`
+
Since flatpak expects offline building, we use `flatpak-cargo-generator` to
-generate the sources.
+generate the sources. This will be done every time you run `make flatpak`.
+
+The project assumes `flatpak-cargo-generator.py` lives in
+`~/projects/vendor/flatpak-builder-tools/cargo`, but you can override this with
+the environment variable `flatpak_cargo_generator` (eg.
+`make -e flatpak_cargo_generator=~/your/path/to/flatpak_cargo_generator`). It
+expects this directory to have the poetry configuration, as it enables the
+virtualenv using poetry.
## Localization / Internationalization
@@ -35,6 +44,11 @@ with:
make extract_strings
```
+This updates the available POTFILES by checking for the presence of the tr!
+macro or `gettext`, and extracts the strings to the template file.
+
+You can then edit the strings using a tool like Poedit.
+
## The wmap language
Learn more about the language at [map.tranquil.systems][map].
diff --git a/build-aux/cargo-sources.json b/build-aux/cargo-sources.json
new file mode 100644
index 0000000..dffaf44
--- /dev/null
+++ b/build-aux/cargo-sources.json
@@ -0,0 +1,2673 @@
+[
+ {
+ "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/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/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/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/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/bitflags/bitflags-2.10.0.crate",
+ "sha256": "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3",
+ "dest": "cargo/vendor/bitflags-2.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3\", \"files\": {}}",
+ "dest": "cargo/vendor/bitflags-2.10.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/bumpalo/bumpalo-3.19.1.crate",
+ "sha256": "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510",
+ "dest": "cargo/vendor/bumpalo-3.19.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510\", \"files\": {}}",
+ "dest": "cargo/vendor/bumpalo-3.19.1",
+ "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/cairo-rs/cairo-rs-0.21.5.crate",
+ "sha256": "b01fe135c0bd16afe262b6dea349bd5ea30e6de50708cec639aae7c5c14cc7e4",
+ "dest": "cargo/vendor/cairo-rs-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"b01fe135c0bd16afe262b6dea349bd5ea30e6de50708cec639aae7c5c14cc7e4\", \"files\": {}}",
+ "dest": "cargo/vendor/cairo-rs-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/cairo-sys-rs/cairo-sys-rs-0.21.5.crate",
+ "sha256": "06c28280c6b12055b5e39e4554271ae4e6630b27c0da9148c4cf6485fc6d245c",
+ "dest": "cargo/vendor/cairo-sys-rs-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"06c28280c6b12055b5e39e4554271ae4e6630b27c0da9148c4cf6485fc6d245c\", \"files\": {}}",
+ "dest": "cargo/vendor/cairo-sys-rs-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/cc/cc-1.2.53.crate",
+ "sha256": "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932",
+ "dest": "cargo/vendor/cc-1.2.53"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932\", \"files\": {}}",
+ "dest": "cargo/vendor/cc-1.2.53",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/cfg-expr/cfg-expr-0.20.5.crate",
+ "sha256": "21be0e1ce6cdb2ee7fff840f922fb04ead349e5cfb1e750b769132d44ce04720",
+ "dest": "cargo/vendor/cfg-expr-0.20.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"21be0e1ce6cdb2ee7fff840f922fb04ead349e5cfb1e750b769132d44ce04720\", \"files\": {}}",
+ "dest": "cargo/vendor/cfg-expr-0.20.5",
+ "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/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": "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-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/dirs/dirs-5.0.1.crate",
+ "sha256": "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225",
+ "dest": "cargo/vendor/dirs-5.0.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225\", \"files\": {}}",
+ "dest": "cargo/vendor/dirs-5.0.1",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/dirs-sys/dirs-sys-0.4.1.crate",
+ "sha256": "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c",
+ "dest": "cargo/vendor/dirs-sys-0.4.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c\", \"files\": {}}",
+ "dest": "cargo/vendor/dirs-sys-0.4.1",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/earcutr/earcutr-0.4.3.crate",
+ "sha256": "79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01",
+ "dest": "cargo/vendor/earcutr-0.4.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01\", \"files\": {}}",
+ "dest": "cargo/vendor/earcutr-0.4.3",
+ "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/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/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/fastrand/fastrand-2.3.0.crate",
+ "sha256": "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be",
+ "dest": "cargo/vendor/fastrand-2.3.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be\", \"files\": {}}",
+ "dest": "cargo/vendor/fastrand-2.3.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/field-offset/field-offset-0.3.6.crate",
+ "sha256": "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f",
+ "dest": "cargo/vendor/field-offset-0.3.6"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f\", \"files\": {}}",
+ "dest": "cargo/vendor/field-offset-0.3.6",
+ "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.8.crate",
+ "sha256": "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db",
+ "dest": "cargo/vendor/find-msvc-tools-0.1.8"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db\", \"files\": {}}",
+ "dest": "cargo/vendor/find-msvc-tools-0.1.8",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/flate2/flate2-1.1.5.crate",
+ "sha256": "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb",
+ "dest": "cargo/vendor/flate2-1.1.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb\", \"files\": {}}",
+ "dest": "cargo/vendor/flate2-1.1.5",
+ "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/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/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/fragile/fragile-2.0.1.crate",
+ "sha256": "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619",
+ "dest": "cargo/vendor/fragile-2.0.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619\", \"files\": {}}",
+ "dest": "cargo/vendor/fragile-2.0.1",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures/futures-0.3.31.crate",
+ "sha256": "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876",
+ "dest": "cargo/vendor/futures-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-channel/futures-channel-0.3.31.crate",
+ "sha256": "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10",
+ "dest": "cargo/vendor/futures-channel-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-channel-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-core/futures-core-0.3.31.crate",
+ "sha256": "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e",
+ "dest": "cargo/vendor/futures-core-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-core-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-executor/futures-executor-0.3.31.crate",
+ "sha256": "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f",
+ "dest": "cargo/vendor/futures-executor-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-executor-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-io/futures-io-0.3.31.crate",
+ "sha256": "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6",
+ "dest": "cargo/vendor/futures-io-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-io-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-macro/futures-macro-0.3.31.crate",
+ "sha256": "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650",
+ "dest": "cargo/vendor/futures-macro-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-macro-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-sink/futures-sink-0.3.31.crate",
+ "sha256": "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7",
+ "dest": "cargo/vendor/futures-sink-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-sink-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-task/futures-task-0.3.31.crate",
+ "sha256": "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988",
+ "dest": "cargo/vendor/futures-task-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-task-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/futures-util/futures-util-0.3.31.crate",
+ "sha256": "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81",
+ "dest": "cargo/vendor/futures-util-0.3.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81\", \"files\": {}}",
+ "dest": "cargo/vendor/futures-util-0.3.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gdk-pixbuf/gdk-pixbuf-0.21.5.crate",
+ "sha256": "debb0d39e3cdd84626edfd54d6e4a6ba2da9a0ef2e796e691c4e9f8646fda00c",
+ "dest": "cargo/vendor/gdk-pixbuf-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"debb0d39e3cdd84626edfd54d6e4a6ba2da9a0ef2e796e691c4e9f8646fda00c\", \"files\": {}}",
+ "dest": "cargo/vendor/gdk-pixbuf-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gdk-pixbuf-sys/gdk-pixbuf-sys-0.21.5.crate",
+ "sha256": "bd95ad50b9a3d2551e25dd4f6892aff0b772fe5372d84514e9d0583af60a0ce7",
+ "dest": "cargo/vendor/gdk-pixbuf-sys-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"bd95ad50b9a3d2551e25dd4f6892aff0b772fe5372d84514e9d0583af60a0ce7\", \"files\": {}}",
+ "dest": "cargo/vendor/gdk-pixbuf-sys-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gdk4/gdk4-0.10.3.crate",
+ "sha256": "756564212bbe4a4ce05d88ffbd2582581ac6003832d0d32822d0825cca84bfbf",
+ "dest": "cargo/vendor/gdk4-0.10.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"756564212bbe4a4ce05d88ffbd2582581ac6003832d0d32822d0825cca84bfbf\", \"files\": {}}",
+ "dest": "cargo/vendor/gdk4-0.10.3",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gdk4-sys/gdk4-sys-0.10.3.crate",
+ "sha256": "a6d4e5b3ccf591826a4adcc83f5f57b4e59d1925cb4bf620b0d645f79498b034",
+ "dest": "cargo/vendor/gdk4-sys-0.10.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"a6d4e5b3ccf591826a4adcc83f5f57b4e59d1925cb4bf620b0d645f79498b034\", \"files\": {}}",
+ "dest": "cargo/vendor/gdk4-sys-0.10.3",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/geo/geo-0.32.0.crate",
+ "sha256": "3f3901269ec6d4f6068d3f09e5f02f995bd076398dcd1dfec407cd230b02d11b",
+ "dest": "cargo/vendor/geo-0.32.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"3f3901269ec6d4f6068d3f09e5f02f995bd076398dcd1dfec407cd230b02d11b\", \"files\": {}}",
+ "dest": "cargo/vendor/geo-0.32.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/geo-types/geo-types-0.7.18.crate",
+ "sha256": "24f8647af4005fa11da47cd56252c6ef030be8fa97bdbf355e7dfb6348f0a82c",
+ "dest": "cargo/vendor/geo-types-0.7.18"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"24f8647af4005fa11da47cd56252c6ef030be8fa97bdbf355e7dfb6348f0a82c\", \"files\": {}}",
+ "dest": "cargo/vendor/geo-types-0.7.18",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/geographiclib-rs/geographiclib-rs-0.2.5.crate",
+ "sha256": "f611040a2bb37eaa29a78a128d1e92a378a03e0b6e66ae27398d42b1ba9a7841",
+ "dest": "cargo/vendor/geographiclib-rs-0.2.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"f611040a2bb37eaa29a78a128d1e92a378a03e0b6e66ae27398d42b1ba9a7841\", \"files\": {}}",
+ "dest": "cargo/vendor/geographiclib-rs-0.2.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/getrandom/getrandom-0.2.16.crate",
+ "sha256": "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592",
+ "dest": "cargo/vendor/getrandom-0.2.16"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592\", \"files\": {}}",
+ "dest": "cargo/vendor/getrandom-0.2.16",
+ "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/gettext-rs/gettext-rs-0.7.7.crate",
+ "sha256": "5d5857dc1b7f0fee86961de833f434e29494d72af102ce5355738c0664222bdf",
+ "dest": "cargo/vendor/gettext-rs-0.7.7"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"5d5857dc1b7f0fee86961de833f434e29494d72af102ce5355738c0664222bdf\", \"files\": {}}",
+ "dest": "cargo/vendor/gettext-rs-0.7.7",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gettext-sys/gettext-sys-0.26.0.crate",
+ "sha256": "4ea859ab0dd7e70ff823032b3e077d03d39c965d68c6c10775add60e999d8ee9",
+ "dest": "cargo/vendor/gettext-sys-0.26.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"4ea859ab0dd7e70ff823032b3e077d03d39c965d68c6c10775add60e999d8ee9\", \"files\": {}}",
+ "dest": "cargo/vendor/gettext-sys-0.26.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gio/gio-0.21.5.crate",
+ "sha256": "c5ff48bf600c68b476e61dc6b7c762f2f4eb91deef66583ba8bb815c30b5811a",
+ "dest": "cargo/vendor/gio-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"c5ff48bf600c68b476e61dc6b7c762f2f4eb91deef66583ba8bb815c30b5811a\", \"files\": {}}",
+ "dest": "cargo/vendor/gio-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gio-sys/gio-sys-0.21.5.crate",
+ "sha256": "0071fe88dba8e40086c8ff9bbb62622999f49628344b1d1bf490a48a29d80f22",
+ "dest": "cargo/vendor/gio-sys-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"0071fe88dba8e40086c8ff9bbb62622999f49628344b1d1bf490a48a29d80f22\", \"files\": {}}",
+ "dest": "cargo/vendor/gio-sys-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/glib/glib-0.21.5.crate",
+ "sha256": "16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b",
+ "dest": "cargo/vendor/glib-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b\", \"files\": {}}",
+ "dest": "cargo/vendor/glib-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/glib-macros/glib-macros-0.21.5.crate",
+ "sha256": "cf59b675301228a696fe01c3073974643365080a76cc3ed5bc2cbc466ad87f17",
+ "dest": "cargo/vendor/glib-macros-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"cf59b675301228a696fe01c3073974643365080a76cc3ed5bc2cbc466ad87f17\", \"files\": {}}",
+ "dest": "cargo/vendor/glib-macros-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/glib-sys/glib-sys-0.21.5.crate",
+ "sha256": "2d95e1a3a19ae464a7286e14af9a90683c64d70c02532d88d87ce95056af3e6c",
+ "dest": "cargo/vendor/glib-sys-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"2d95e1a3a19ae464a7286e14af9a90683c64d70c02532d88d87ce95056af3e6c\", \"files\": {}}",
+ "dest": "cargo/vendor/glib-sys-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gobject-sys/gobject-sys-0.21.5.crate",
+ "sha256": "2dca35da0d19a18f4575f3cb99fe1c9e029a2941af5662f326f738a21edaf294",
+ "dest": "cargo/vendor/gobject-sys-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"2dca35da0d19a18f4575f3cb99fe1c9e029a2941af5662f326f738a21edaf294\", \"files\": {}}",
+ "dest": "cargo/vendor/gobject-sys-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/graphene-rs/graphene-rs-0.21.5.crate",
+ "sha256": "2730030ac9db663fd8bfe1e7093742c1cafb92db9c315c9417c29032341fe2f9",
+ "dest": "cargo/vendor/graphene-rs-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"2730030ac9db663fd8bfe1e7093742c1cafb92db9c315c9417c29032341fe2f9\", \"files\": {}}",
+ "dest": "cargo/vendor/graphene-rs-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/graphene-sys/graphene-sys-0.21.5.crate",
+ "sha256": "915e32091ea9ad241e4b044af62b7351c2d68aeb24f489a0d7f37a0fc484fd93",
+ "dest": "cargo/vendor/graphene-sys-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"915e32091ea9ad241e4b044af62b7351c2d68aeb24f489a0d7f37a0fc484fd93\", \"files\": {}}",
+ "dest": "cargo/vendor/graphene-sys-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gsk4/gsk4-0.10.3.crate",
+ "sha256": "e755de9d8c5896c5beaa028b89e1969d067f1b9bf1511384ede971f5983aa153",
+ "dest": "cargo/vendor/gsk4-0.10.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"e755de9d8c5896c5beaa028b89e1969d067f1b9bf1511384ede971f5983aa153\", \"files\": {}}",
+ "dest": "cargo/vendor/gsk4-0.10.3",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gsk4-sys/gsk4-sys-0.10.3.crate",
+ "sha256": "7ce91472391146f482065f1041876d8f869057b195b95399414caa163d72f4f7",
+ "dest": "cargo/vendor/gsk4-sys-0.10.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"7ce91472391146f482065f1041876d8f869057b195b95399414caa163d72f4f7\", \"files\": {}}",
+ "dest": "cargo/vendor/gsk4-sys-0.10.3",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gtk4/gtk4-0.10.3.crate",
+ "sha256": "acb21d53cfc6f7bfaf43549731c43b67ca47d87348d81c8cfc4dcdd44828e1a4",
+ "dest": "cargo/vendor/gtk4-0.10.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"acb21d53cfc6f7bfaf43549731c43b67ca47d87348d81c8cfc4dcdd44828e1a4\", \"files\": {}}",
+ "dest": "cargo/vendor/gtk4-0.10.3",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gtk4-macros/gtk4-macros-0.10.3.crate",
+ "sha256": "3ccfb5a14a3d941244815d5f8101fa12d4577b59cc47245778d8d907b0003e42",
+ "dest": "cargo/vendor/gtk4-macros-0.10.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"3ccfb5a14a3d941244815d5f8101fa12d4577b59cc47245778d8d907b0003e42\", \"files\": {}}",
+ "dest": "cargo/vendor/gtk4-macros-0.10.3",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gtk4-sys/gtk4-sys-0.10.3.crate",
+ "sha256": "842577fe5a1ee15d166cd3afe804ce0cab6173bc789ca32e21308834f20088dd",
+ "dest": "cargo/vendor/gtk4-sys-0.10.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"842577fe5a1ee15d166cd3afe804ce0cab6173bc789ca32e21308834f20088dd\", \"files\": {}}",
+ "dest": "cargo/vendor/gtk4-sys-0.10.3",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/gvdb/gvdb-0.9.0.crate",
+ "sha256": "b9d94c8a63f94bbc35cf63e105791c5992bd60d4516d41fe5bf3db8d10b30b43",
+ "dest": "cargo/vendor/gvdb-0.9.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"b9d94c8a63f94bbc35cf63e105791c5992bd60d4516d41fe5bf3db8d10b30b43\", \"files\": {}}",
+ "dest": "cargo/vendor/gvdb-0.9.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/hash32/hash32-0.3.1.crate",
+ "sha256": "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606",
+ "dest": "cargo/vendor/hash32-0.3.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606\", \"files\": {}}",
+ "dest": "cargo/vendor/hash32-0.3.1",
+ "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/heapless/heapless-0.8.0.crate",
+ "sha256": "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad",
+ "dest": "cargo/vendor/heapless-0.8.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad\", \"files\": {}}",
+ "dest": "cargo/vendor/heapless-0.8.0",
+ "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/i_float/i_float-1.15.0.crate",
+ "sha256": "010025c2c532c8d82e42d0b8bb5184afa449fa6f06c709ea9adcb16c49ae405b",
+ "dest": "cargo/vendor/i_float-1.15.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"010025c2c532c8d82e42d0b8bb5184afa449fa6f06c709ea9adcb16c49ae405b\", \"files\": {}}",
+ "dest": "cargo/vendor/i_float-1.15.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/i_key_sort/i_key_sort-0.6.0.crate",
+ "sha256": "9190f86706ca38ac8add223b2aed8b1330002b5cdbbce28fb58b10914d38fc27",
+ "dest": "cargo/vendor/i_key_sort-0.6.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"9190f86706ca38ac8add223b2aed8b1330002b5cdbbce28fb58b10914d38fc27\", \"files\": {}}",
+ "dest": "cargo/vendor/i_key_sort-0.6.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/i_overlay/i_overlay-4.0.6.crate",
+ "sha256": "0fcccbd4e4274e0f80697f5fbc6540fdac533cce02f2081b328e68629cce24f9",
+ "dest": "cargo/vendor/i_overlay-4.0.6"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"0fcccbd4e4274e0f80697f5fbc6540fdac533cce02f2081b328e68629cce24f9\", \"files\": {}}",
+ "dest": "cargo/vendor/i_overlay-4.0.6",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/i_shape/i_shape-1.14.0.crate",
+ "sha256": "1ea154b742f7d43dae2897fcd5ead86bc7b5eefcedd305a7ebf9f69d44d61082",
+ "dest": "cargo/vendor/i_shape-1.14.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"1ea154b742f7d43dae2897fcd5ead86bc7b5eefcedd305a7ebf9f69d44d61082\", \"files\": {}}",
+ "dest": "cargo/vendor/i_shape-1.14.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/i_tree/i_tree-0.16.0.crate",
+ "sha256": "35e6d558e6d4c7b82bc51d9c771e7a927862a161a7d87bf2b0541450e0e20915",
+ "dest": "cargo/vendor/i_tree-0.16.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"35e6d558e6d4c7b82bc51d9c771e7a927862a161a7d87bf2b0541450e0e20915\", \"files\": {}}",
+ "dest": "cargo/vendor/i_tree-0.16.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/indexmap/indexmap-2.12.1.crate",
+ "sha256": "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2",
+ "dest": "cargo/vendor/indexmap-2.12.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2\", \"files\": {}}",
+ "dest": "cargo/vendor/indexmap-2.12.1",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/itertools/itertools-0.11.0.crate",
+ "sha256": "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57",
+ "dest": "cargo/vendor/itertools-0.11.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57\", \"files\": {}}",
+ "dest": "cargo/vendor/itertools-0.11.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/itoa/itoa-1.0.16.crate",
+ "sha256": "7ee5b5339afb4c41626dde77b7a611bd4f2c202b897852b4bcf5d03eddc61010",
+ "dest": "cargo/vendor/itoa-1.0.16"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"7ee5b5339afb4c41626dde77b7a611bd4f2c202b897852b4bcf5d03eddc61010\", \"files\": {}}",
+ "dest": "cargo/vendor/itoa-1.0.16",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/js-sys/js-sys-0.3.83.crate",
+ "sha256": "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8",
+ "dest": "cargo/vendor/js-sys-0.3.83"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8\", \"files\": {}}",
+ "dest": "cargo/vendor/js-sys-0.3.83",
+ "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/libc/libc-0.2.178.crate",
+ "sha256": "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091",
+ "dest": "cargo/vendor/libc-0.2.178"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091\", \"files\": {}}",
+ "dest": "cargo/vendor/libc-0.2.178",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/libm/libm-0.2.15.crate",
+ "sha256": "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de",
+ "dest": "cargo/vendor/libm-0.2.15"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de\", \"files\": {}}",
+ "dest": "cargo/vendor/libm-0.2.15",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/libredox/libredox-0.1.12.crate",
+ "sha256": "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616",
+ "dest": "cargo/vendor/libredox-0.1.12"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616\", \"files\": {}}",
+ "dest": "cargo/vendor/libredox-0.1.12",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/linux-raw-sys/linux-raw-sys-0.11.0.crate",
+ "sha256": "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039",
+ "dest": "cargo/vendor/linux-raw-sys-0.11.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039\", \"files\": {}}",
+ "dest": "cargo/vendor/linux-raw-sys-0.11.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/locale_config/locale_config-0.3.0.crate",
+ "sha256": "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934",
+ "dest": "cargo/vendor/locale_config-0.3.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934\", \"files\": {}}",
+ "dest": "cargo/vendor/locale_config-0.3.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/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/memchr/memchr-2.7.6.crate",
+ "sha256": "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273",
+ "dest": "cargo/vendor/memchr-2.7.6"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273\", \"files\": {}}",
+ "dest": "cargo/vendor/memchr-2.7.6",
+ "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/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/nanorand/nanorand-0.7.0.crate",
+ "sha256": "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3",
+ "dest": "cargo/vendor/nanorand-0.7.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3\", \"files\": {}}",
+ "dest": "cargo/vendor/nanorand-0.7.0",
+ "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/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_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/once_cell/once_cell-1.21.3.crate",
+ "sha256": "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d",
+ "dest": "cargo/vendor/once_cell-1.21.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d\", \"files\": {}}",
+ "dest": "cargo/vendor/once_cell-1.21.3",
+ "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/pango/pango-0.21.5.crate",
+ "sha256": "52d1d85e2078077a065bb7fc072783d5bcd4e51b379f22d67107d0a16937eb69",
+ "dest": "cargo/vendor/pango-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"52d1d85e2078077a065bb7fc072783d5bcd4e51b379f22d67107d0a16937eb69\", \"files\": {}}",
+ "dest": "cargo/vendor/pango-0.21.5",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/pango-sys/pango-sys-0.21.5.crate",
+ "sha256": "b4f06627d36ed5ff303d2df65211fc2e52ba5b17bf18dd80ff3d9628d6e06cfd",
+ "dest": "cargo/vendor/pango-sys-0.21.5"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"b4f06627d36ed5ff303d2df65211fc2e52ba5b17bf18dd80ff3d9628d6e06cfd\", \"files\": {}}",
+ "dest": "cargo/vendor/pango-sys-0.21.5",
+ "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.16.crate",
+ "sha256": "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b",
+ "dest": "cargo/vendor/pin-project-lite-0.2.16"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b\", \"files\": {}}",
+ "dest": "cargo/vendor/pin-project-lite-0.2.16",
+ "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/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/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/proc-macro-crate/proc-macro-crate-3.4.0.crate",
+ "sha256": "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983",
+ "dest": "cargo/vendor/proc-macro-crate-3.4.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983\", \"files\": {}}",
+ "dest": "cargo/vendor/proc-macro-crate-3.4.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/proc-macro2/proc-macro2-1.0.103.crate",
+ "sha256": "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8",
+ "dest": "cargo/vendor/proc-macro2-1.0.103"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8\", \"files\": {}}",
+ "dest": "cargo/vendor/proc-macro2-1.0.103",
+ "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/quote/quote-1.0.42.crate",
+ "sha256": "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f",
+ "dest": "cargo/vendor/quote-1.0.42"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f\", \"files\": {}}",
+ "dest": "cargo/vendor/quote-1.0.42",
+ "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/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_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_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/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/redox_users/redox_users-0.4.6.crate",
+ "sha256": "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43",
+ "dest": "cargo/vendor/redox_users-0.4.6"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43\", \"files\": {}}",
+ "dest": "cargo/vendor/redox_users-0.4.6",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/regex/regex-1.12.2.crate",
+ "sha256": "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4",
+ "dest": "cargo/vendor/regex-1.12.2"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4\", \"files\": {}}",
+ "dest": "cargo/vendor/regex-1.12.2",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/regex-automata/regex-automata-0.4.13.crate",
+ "sha256": "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c",
+ "dest": "cargo/vendor/regex-automata-0.4.13"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c\", \"files\": {}}",
+ "dest": "cargo/vendor/regex-automata-0.4.13",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/regex-syntax/regex-syntax-0.8.8.crate",
+ "sha256": "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58",
+ "dest": "cargo/vendor/regex-syntax-0.8.8"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58\", \"files\": {}}",
+ "dest": "cargo/vendor/regex-syntax-0.8.8",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/relm4/relm4-0.10.0.crate",
+ "sha256": "6bae902de22fd92e62641f047975abf228573425b9b8de175e8ab5b6cda10379",
+ "dest": "cargo/vendor/relm4-0.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"6bae902de22fd92e62641f047975abf228573425b9b8de175e8ab5b6cda10379\", \"files\": {}}",
+ "dest": "cargo/vendor/relm4-0.10.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/relm4-components/relm4-components-0.10.0.crate",
+ "sha256": "3155d84425d33cdc62929ed2c79bfcfdcb2fff6340c5f7041ed24b56577c9d57",
+ "dest": "cargo/vendor/relm4-components-0.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"3155d84425d33cdc62929ed2c79bfcfdcb2fff6340c5f7041ed24b56577c9d57\", \"files\": {}}",
+ "dest": "cargo/vendor/relm4-components-0.10.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/relm4-css/relm4-css-0.10.0.crate",
+ "sha256": "37dbe7a114855a22618f0e13595ce6b3f165478c13c2dfc4f4f99614da105797",
+ "dest": "cargo/vendor/relm4-css-0.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"37dbe7a114855a22618f0e13595ce6b3f165478c13c2dfc4f4f99614da105797\", \"files\": {}}",
+ "dest": "cargo/vendor/relm4-css-0.10.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/relm4-icons/relm4-icons-0.10.0.crate",
+ "sha256": "28869f8322ed72bed568cbb704403037ff62a66c966ded7a862ad5732f108530",
+ "dest": "cargo/vendor/relm4-icons-0.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"28869f8322ed72bed568cbb704403037ff62a66c966ded7a862ad5732f108530\", \"files\": {}}",
+ "dest": "cargo/vendor/relm4-icons-0.10.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/relm4-icons-build/relm4-icons-build-0.10.0.crate",
+ "sha256": "75f2de558afdd570680a69c96dc9f812b241922c6355dae351f7ffbb5fac675d",
+ "dest": "cargo/vendor/relm4-icons-build-0.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"75f2de558afdd570680a69c96dc9f812b241922c6355dae351f7ffbb5fac675d\", \"files\": {}}",
+ "dest": "cargo/vendor/relm4-icons-build-0.10.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/relm4-macros/relm4-macros-0.10.0.crate",
+ "sha256": "175fce497fc6f11dde7ea56daa30ff7ad29a534bbc209d59d766659c880ba5f1",
+ "dest": "cargo/vendor/relm4-macros-0.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"175fce497fc6f11dde7ea56daa30ff7ad29a534bbc209d59d766659c880ba5f1\", \"files\": {}}",
+ "dest": "cargo/vendor/relm4-macros-0.10.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/robust/robust-1.2.0.crate",
+ "sha256": "4e27ee8bb91ca0adcf0ecb116293afa12d393f9c2b9b9cd54d33e8078fe19839",
+ "dest": "cargo/vendor/robust-1.2.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"4e27ee8bb91ca0adcf0ecb116293afa12d393f9c2b9b9cd54d33e8078fe19839\", \"files\": {}}",
+ "dest": "cargo/vendor/robust-1.2.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/rstar/rstar-0.12.2.crate",
+ "sha256": "421400d13ccfd26dfa5858199c30a5d76f9c54e0dba7575273025b43c5175dbb",
+ "dest": "cargo/vendor/rstar-0.12.2"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"421400d13ccfd26dfa5858199c30a5d76f9c54e0dba7575273025b43c5175dbb\", \"files\": {}}",
+ "dest": "cargo/vendor/rstar-0.12.2",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/rustc-hash/rustc-hash-2.1.1.crate",
+ "sha256": "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d",
+ "dest": "cargo/vendor/rustc-hash-2.1.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d\", \"files\": {}}",
+ "dest": "cargo/vendor/rustc-hash-2.1.1",
+ "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-1.1.3.crate",
+ "sha256": "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34",
+ "dest": "cargo/vendor/rustix-1.1.3"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34\", \"files\": {}}",
+ "dest": "cargo/vendor/rustix-1.1.3",
+ "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/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/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/semver/semver-1.0.27.crate",
+ "sha256": "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2",
+ "dest": "cargo/vendor/semver-1.0.27"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2\", \"files\": {}}",
+ "dest": "cargo/vendor/semver-1.0.27",
+ "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.147.crate",
+ "sha256": "6af14725505314343e673e9ecb7cd7e8a36aa9791eb936235a3567cc31447ae4",
+ "dest": "cargo/vendor/serde_json-1.0.147"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"6af14725505314343e673e9ecb7cd7e8a36aa9791eb936235a3567cc31447ae4\", \"files\": {}}",
+ "dest": "cargo/vendor/serde_json-1.0.147",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/serde_spanned/serde_spanned-1.0.4.crate",
+ "sha256": "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776",
+ "dest": "cargo/vendor/serde_spanned-1.0.4"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776\", \"files\": {}}",
+ "dest": "cargo/vendor/serde_spanned-1.0.4",
+ "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/sif-itree/sif-itree-0.4.0.crate",
+ "sha256": "142099cd6db3c4fab61e5133c62ff80b26674391e195860791fda0b1be3e5080",
+ "dest": "cargo/vendor/sif-itree-0.4.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"142099cd6db3c4fab61e5133c62ff80b26674391e195860791fda0b1be3e5080\", \"files\": {}}",
+ "dest": "cargo/vendor/sif-itree-0.4.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/simd-adler32/simd-adler32-0.3.8.crate",
+ "sha256": "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2",
+ "dest": "cargo/vendor/simd-adler32-0.3.8"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2\", \"files\": {}}",
+ "dest": "cargo/vendor/simd-adler32-0.3.8",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/slab/slab-0.4.11.crate",
+ "sha256": "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589",
+ "dest": "cargo/vendor/slab-0.4.11"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589\", \"files\": {}}",
+ "dest": "cargo/vendor/slab-0.4.11",
+ "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/sourceview5/sourceview5-0.10.0.crate",
+ "sha256": "6e4acb02162917d7b689c84f4ed710c22302c67c7e61da28a4e8ac548c04442c",
+ "dest": "cargo/vendor/sourceview5-0.10.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"6e4acb02162917d7b689c84f4ed710c22302c67c7e61da28a4e8ac548c04442c\", \"files\": {}}",
+ "dest": "cargo/vendor/sourceview5-0.10.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/sourceview5-sys/sourceview5-sys-0.10.1.crate",
+ "sha256": "e1c1529de5df2653788828ef71d44b113bb80e496bc17315f4122106bd6eebae",
+ "dest": "cargo/vendor/sourceview5-sys-0.10.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"e1c1529de5df2653788828ef71d44b113bb80e496bc17315f4122106bd6eebae\", \"files\": {}}",
+ "dest": "cargo/vendor/sourceview5-sys-0.10.1",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/spade/spade-2.15.0.crate",
+ "sha256": "fb313e1c8afee5b5647e00ee0fe6855e3d529eb863a0fdae1d60006c4d1e9990",
+ "dest": "cargo/vendor/spade-2.15.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"fb313e1c8afee5b5647e00ee0fe6855e3d529eb863a0fdae1d60006c4d1e9990\", \"files\": {}}",
+ "dest": "cargo/vendor/spade-2.15.0",
+ "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/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/syn/syn-2.0.111.crate",
+ "sha256": "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87",
+ "dest": "cargo/vendor/syn-2.0.111"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87\", \"files\": {}}",
+ "dest": "cargo/vendor/syn-2.0.111",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/system-deps/system-deps-7.0.7.crate",
+ "sha256": "48c8f33736f986f16d69b6cb8b03f55ddcad5c41acc4ccc39dd88e84aa805e7f",
+ "dest": "cargo/vendor/system-deps-7.0.7"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"48c8f33736f986f16d69b6cb8b03f55ddcad5c41acc4ccc39dd88e84aa805e7f\", \"files\": {}}",
+ "dest": "cargo/vendor/system-deps-7.0.7",
+ "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/temp-dir/temp-dir-0.1.16.crate",
+ "sha256": "83176759e9416cf81ee66cb6508dbfe9c96f20b8b56265a39917551c23c70964",
+ "dest": "cargo/vendor/temp-dir-0.1.16"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"83176759e9416cf81ee66cb6508dbfe9c96f20b8b56265a39917551c23c70964\", \"files\": {}}",
+ "dest": "cargo/vendor/temp-dir-0.1.16",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/tempfile/tempfile-3.24.0.crate",
+ "sha256": "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c",
+ "dest": "cargo/vendor/tempfile-3.24.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c\", \"files\": {}}",
+ "dest": "cargo/vendor/tempfile-3.24.0",
+ "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.17.crate",
+ "sha256": "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8",
+ "dest": "cargo/vendor/thiserror-2.0.17"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8\", \"files\": {}}",
+ "dest": "cargo/vendor/thiserror-2.0.17",
+ "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.17.crate",
+ "sha256": "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913",
+ "dest": "cargo/vendor/thiserror-impl-2.0.17"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913\", \"files\": {}}",
+ "dest": "cargo/vendor/thiserror-impl-2.0.17",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/tokio/tokio-1.48.0.crate",
+ "sha256": "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408",
+ "dest": "cargo/vendor/tokio-1.48.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408\", \"files\": {}}",
+ "dest": "cargo/vendor/tokio-1.48.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/toml/toml-0.9.10+spec-1.1.0.crate",
+ "sha256": "0825052159284a1a8b4d6c0c86cbc801f2da5afd2b225fa548c72f2e74002f48",
+ "dest": "cargo/vendor/toml-0.9.10+spec-1.1.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"0825052159284a1a8b4d6c0c86cbc801f2da5afd2b225fa548c72f2e74002f48\", \"files\": {}}",
+ "dest": "cargo/vendor/toml-0.9.10+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-0.7.5+spec-1.1.0.crate",
+ "sha256": "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347",
+ "dest": "cargo/vendor/toml_datetime-0.7.5+spec-1.1.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347\", \"files\": {}}",
+ "dest": "cargo/vendor/toml_datetime-0.7.5+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.23.10+spec-1.0.0.crate",
+ "sha256": "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269",
+ "dest": "cargo/vendor/toml_edit-0.23.10+spec-1.0.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269\", \"files\": {}}",
+ "dest": "cargo/vendor/toml_edit-0.23.10+spec-1.0.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/toml_parser/toml_parser-1.0.6+spec-1.1.0.crate",
+ "sha256": "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44",
+ "dest": "cargo/vendor/toml_parser-1.0.6+spec-1.1.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44\", \"files\": {}}",
+ "dest": "cargo/vendor/toml_parser-1.0.6+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.0.6+spec-1.1.0.crate",
+ "sha256": "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607",
+ "dest": "cargo/vendor/toml_writer-1.0.6+spec-1.1.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607\", \"files\": {}}",
+ "dest": "cargo/vendor/toml_writer-1.0.6+spec-1.1.0",
+ "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/tracker/tracker-0.2.2.crate",
+ "sha256": "ce5c98457ff700aaeefcd4a4a492096e78a2af1dd8523c66e94a3adb0fdbd415",
+ "dest": "cargo/vendor/tracker-0.2.2"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"ce5c98457ff700aaeefcd4a4a492096e78a2af1dd8523c66e94a3adb0fdbd415\", \"files\": {}}",
+ "dest": "cargo/vendor/tracker-0.2.2",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/tracker-macros/tracker-macros-0.2.2.crate",
+ "sha256": "dc19eb2373ccf3d1999967c26c3d44534ff71ae5d8b9dacf78f4b13132229e48",
+ "dest": "cargo/vendor/tracker-macros-0.2.2"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"dc19eb2373ccf3d1999967c26c3d44534ff71ae5d8b9dacf78f4b13132229e48\", \"files\": {}}",
+ "dest": "cargo/vendor/tracker-macros-0.2.2",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/unicode-ident/unicode-ident-1.0.22.crate",
+ "sha256": "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5",
+ "dest": "cargo/vendor/unicode-ident-1.0.22"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5\", \"files\": {}}",
+ "dest": "cargo/vendor/unicode-ident-1.0.22",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/uuid/uuid-1.19.0.crate",
+ "sha256": "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a",
+ "dest": "cargo/vendor/uuid-1.19.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a\", \"files\": {}}",
+ "dest": "cargo/vendor/uuid-1.19.0",
+ "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/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/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.1+wasi-0.2.4.crate",
+ "sha256": "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7",
+ "dest": "cargo/vendor/wasip2-1.0.1+wasi-0.2.4"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7\", \"files\": {}}",
+ "dest": "cargo/vendor/wasip2-1.0.1+wasi-0.2.4",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.106.crate",
+ "sha256": "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd",
+ "dest": "cargo/vendor/wasm-bindgen-0.2.106"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd\", \"files\": {}}",
+ "dest": "cargo/vendor/wasm-bindgen-0.2.106",
+ "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.106.crate",
+ "sha256": "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3",
+ "dest": "cargo/vendor/wasm-bindgen-macro-0.2.106"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3\", \"files\": {}}",
+ "dest": "cargo/vendor/wasm-bindgen-macro-0.2.106",
+ "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.106.crate",
+ "sha256": "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40",
+ "dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.106"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40\", \"files\": {}}",
+ "dest": "cargo/vendor/wasm-bindgen-macro-support-0.2.106",
+ "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.106.crate",
+ "sha256": "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4",
+ "dest": "cargo/vendor/wasm-bindgen-shared-0.2.106"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4\", \"files\": {}}",
+ "dest": "cargo/vendor/wasm-bindgen-shared-0.2.106",
+ "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": "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-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.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.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_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_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_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_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_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_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_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/winnow/winnow-0.7.14.crate",
+ "sha256": "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829",
+ "dest": "cargo/vendor/winnow-0.7.14"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829\", \"files\": {}}",
+ "dest": "cargo/vendor/winnow-0.7.14",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/wit-bindgen/wit-bindgen-0.46.0.crate",
+ "sha256": "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59",
+ "dest": "cargo/vendor/wit-bindgen-0.46.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59\", \"files\": {}}",
+ "dest": "cargo/vendor/wit-bindgen-0.46.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/wmap-parser/wmap-parser-1.0.0.crate",
+ "sha256": "c5a2c331c28b392f06cd9d81118a6f73b084708c6ff320457f4cbd75912d499b",
+ "dest": "cargo/vendor/wmap-parser-1.0.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"c5a2c331c28b392f06cd9d81118a6f73b084708c6ff320457f4cbd75912d499b\", \"files\": {}}",
+ "dest": "cargo/vendor/wmap-parser-1.0.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/wmap-renderer/wmap-renderer-1.1.0.crate",
+ "sha256": "6eaff4963c129be024d3252a61380f69aa40d927b46fa89eb256eeac72a6a676",
+ "dest": "cargo/vendor/wmap-renderer-1.1.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"6eaff4963c129be024d3252a61380f69aa40d927b46fa89eb256eeac72a6a676\", \"files\": {}}",
+ "dest": "cargo/vendor/wmap-renderer-1.1.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/zerocopy/zerocopy-0.8.31.crate",
+ "sha256": "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3",
+ "dest": "cargo/vendor/zerocopy-0.8.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3\", \"files\": {}}",
+ "dest": "cargo/vendor/zerocopy-0.8.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.31.crate",
+ "sha256": "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a",
+ "dest": "cargo/vendor/zerocopy-derive-0.8.31"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a\", \"files\": {}}",
+ "dest": "cargo/vendor/zerocopy-derive-0.8.31",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/zmij/zmij-0.1.9.crate",
+ "sha256": "d0095ecd462946aa3927d9297b63ef82fb9a5316d7a37d134eeb36e58228615a",
+ "dest": "cargo/vendor/zmij-0.1.9"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"d0095ecd462946aa3927d9297b63ef82fb9a5316d7a37d134eeb36e58228615a\", \"files\": {}}",
+ "dest": "cargo/vendor/zmij-0.1.9",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/zvariant/zvariant-5.8.0.crate",
+ "sha256": "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c",
+ "dest": "cargo/vendor/zvariant-5.8.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c\", \"files\": {}}",
+ "dest": "cargo/vendor/zvariant-5.8.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/zvariant_derive/zvariant_derive-5.8.0.crate",
+ "sha256": "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006",
+ "dest": "cargo/vendor/zvariant_derive-5.8.0"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006\", \"files\": {}}",
+ "dest": "cargo/vendor/zvariant_derive-5.8.0",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "archive",
+ "archive-type": "tar-gzip",
+ "url": "https://static.crates.io/crates/zvariant_utils/zvariant_utils-3.2.1.crate",
+ "sha256": "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599",
+ "dest": "cargo/vendor/zvariant_utils-3.2.1"
+ },
+ {
+ "type": "inline",
+ "contents": "{\"package\": \"c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599\", \"files\": {}}",
+ "dest": "cargo/vendor/zvariant_utils-3.2.1",
+ "dest-filename": ".cargo-checksum.json"
+ },
+ {
+ "type": "inline",
+ "contents": "[source.vendored-sources]\ndirectory = \"cargo/vendor\"\n\n[source.crates-io]\nreplace-with = \"vendored-sources\"\n",
+ "dest": "cargo",
+ "dest-filename": "config"
+ }
+] \ No newline at end of file
diff --git a/build-aux/systems.tranquil.Map.yml b/build-aux/systems.tranquil.Map.yml
index 6c6dd40..a5becef 100644
--- a/build-aux/systems.tranquil.Map.yml
+++ b/build-aux/systems.tranquil.Map.yml
@@ -21,1875 +21,19 @@ modules:
build-commands:
- cargo --offline fetch --manifest-path Cargo.toml --verbose
- cargo build --offline --release --all-features
- - install -Dm0755 target/release/map ${FLATPAK_DEST}/bin/${FLATPAK_ID}
+ - install -Dm0755 target/release/map ${FLATPAK_DEST}/bin/map
- install -Dm0644 resources/logo.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg
- install -Dm0644 resources/${FLATPAK_ID}.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- install -Dm0644 resources/${FLATPAK_ID}.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
- install -Dm0644 resources/${FLATPAK_ID}.service ${FLATPAK_DEST}/share/dbus-1/services/${FLATPAK_ID}.service
- install -Dm0644 resources/wmap.lang ${FLATPAK_DEST}/share/gtksourceview-5/language-specs/wmap.lang
+ - |
+ for po_file in po/*.po; do
+ locale=$(basename "$po_file" .po)
+ mkdir -p ${FLATPAK_DEST}/share/locale/${locale}/LC_MESSAGES
+ msgfmt "$po_file" -o ${FLATPAK_DEST}/share/locale/${locale}/LC_MESSAGES/${FLATPAK_ID}.mo
+ done
sources:
- type: dir
path: ..
- - 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/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/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/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/bitflags/bitflags-2.10.0.crate
- sha256: 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
- dest: cargo/vendor/bitflags-2.10.0
- - type: inline
- contents: '{"package": "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3",
- "files": {}}'
- dest: cargo/vendor/bitflags-2.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/bumpalo/bumpalo-3.19.1.crate
- sha256: 5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510
- dest: cargo/vendor/bumpalo-3.19.1
- - type: inline
- contents: '{"package": "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510",
- "files": {}}'
- dest: cargo/vendor/bumpalo-3.19.1
- 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/cairo-rs/cairo-rs-0.21.5.crate
- sha256: b01fe135c0bd16afe262b6dea349bd5ea30e6de50708cec639aae7c5c14cc7e4
- dest: cargo/vendor/cairo-rs-0.21.5
- - type: inline
- contents: '{"package": "b01fe135c0bd16afe262b6dea349bd5ea30e6de50708cec639aae7c5c14cc7e4",
- "files": {}}'
- dest: cargo/vendor/cairo-rs-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/cairo-sys-rs/cairo-sys-rs-0.21.5.crate
- sha256: 06c28280c6b12055b5e39e4554271ae4e6630b27c0da9148c4cf6485fc6d245c
- dest: cargo/vendor/cairo-sys-rs-0.21.5
- - type: inline
- contents: '{"package": "06c28280c6b12055b5e39e4554271ae4e6630b27c0da9148c4cf6485fc6d245c",
- "files": {}}'
- dest: cargo/vendor/cairo-sys-rs-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/cfg-expr/cfg-expr-0.20.5.crate
- sha256: 21be0e1ce6cdb2ee7fff840f922fb04ead349e5cfb1e750b769132d44ce04720
- dest: cargo/vendor/cfg-expr-0.20.5
- - type: inline
- contents: '{"package": "21be0e1ce6cdb2ee7fff840f922fb04ead349e5cfb1e750b769132d44ce04720",
- "files": {}}'
- dest: cargo/vendor/cfg-expr-0.20.5
- 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/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: 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-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/dirs/dirs-5.0.1.crate
- sha256: 44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225
- dest: cargo/vendor/dirs-5.0.1
- - type: inline
- contents: '{"package": "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225",
- "files": {}}'
- dest: cargo/vendor/dirs-5.0.1
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/dirs-sys/dirs-sys-0.4.1.crate
- sha256: 520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c
- dest: cargo/vendor/dirs-sys-0.4.1
- - type: inline
- contents: '{"package": "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c",
- "files": {}}'
- dest: cargo/vendor/dirs-sys-0.4.1
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/earcutr/earcutr-0.4.3.crate
- sha256: 79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01
- dest: cargo/vendor/earcutr-0.4.3
- - type: inline
- contents: '{"package": "79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01",
- "files": {}}'
- dest: cargo/vendor/earcutr-0.4.3
- 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/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/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/fastrand/fastrand-2.3.0.crate
- sha256: 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
- dest: cargo/vendor/fastrand-2.3.0
- - type: inline
- contents: '{"package": "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be",
- "files": {}}'
- dest: cargo/vendor/fastrand-2.3.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/field-offset/field-offset-0.3.6.crate
- sha256: 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
- dest: cargo/vendor/field-offset-0.3.6
- - type: inline
- contents: '{"package": "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f",
- "files": {}}'
- dest: cargo/vendor/field-offset-0.3.6
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/flate2/flate2-1.1.5.crate
- sha256: bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb
- dest: cargo/vendor/flate2-1.1.5
- - type: inline
- contents: '{"package": "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb",
- "files": {}}'
- dest: cargo/vendor/flate2-1.1.5
- 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/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/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/fragile/fragile-2.0.1.crate
- sha256: 28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619
- dest: cargo/vendor/fragile-2.0.1
- - type: inline
- contents: '{"package": "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619",
- "files": {}}'
- dest: cargo/vendor/fragile-2.0.1
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures/futures-0.3.31.crate
- sha256: 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
- dest: cargo/vendor/futures-0.3.31
- - type: inline
- contents: '{"package": "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876",
- "files": {}}'
- dest: cargo/vendor/futures-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-channel/futures-channel-0.3.31.crate
- sha256: 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
- dest: cargo/vendor/futures-channel-0.3.31
- - type: inline
- contents: '{"package": "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10",
- "files": {}}'
- dest: cargo/vendor/futures-channel-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-core/futures-core-0.3.31.crate
- sha256: 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e
- dest: cargo/vendor/futures-core-0.3.31
- - type: inline
- contents: '{"package": "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e",
- "files": {}}'
- dest: cargo/vendor/futures-core-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-executor/futures-executor-0.3.31.crate
- sha256: 1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f
- dest: cargo/vendor/futures-executor-0.3.31
- - type: inline
- contents: '{"package": "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f",
- "files": {}}'
- dest: cargo/vendor/futures-executor-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-io/futures-io-0.3.31.crate
- sha256: 9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6
- dest: cargo/vendor/futures-io-0.3.31
- - type: inline
- contents: '{"package": "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6",
- "files": {}}'
- dest: cargo/vendor/futures-io-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-macro/futures-macro-0.3.31.crate
- sha256: 162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650
- dest: cargo/vendor/futures-macro-0.3.31
- - type: inline
- contents: '{"package": "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650",
- "files": {}}'
- dest: cargo/vendor/futures-macro-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-sink/futures-sink-0.3.31.crate
- sha256: e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7
- dest: cargo/vendor/futures-sink-0.3.31
- - type: inline
- contents: '{"package": "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7",
- "files": {}}'
- dest: cargo/vendor/futures-sink-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-task/futures-task-0.3.31.crate
- sha256: f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988
- dest: cargo/vendor/futures-task-0.3.31
- - type: inline
- contents: '{"package": "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988",
- "files": {}}'
- dest: cargo/vendor/futures-task-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/futures-util/futures-util-0.3.31.crate
- sha256: 9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81
- dest: cargo/vendor/futures-util-0.3.31
- - type: inline
- contents: '{"package": "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81",
- "files": {}}'
- dest: cargo/vendor/futures-util-0.3.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gdk-pixbuf/gdk-pixbuf-0.21.5.crate
- sha256: debb0d39e3cdd84626edfd54d6e4a6ba2da9a0ef2e796e691c4e9f8646fda00c
- dest: cargo/vendor/gdk-pixbuf-0.21.5
- - type: inline
- contents: '{"package": "debb0d39e3cdd84626edfd54d6e4a6ba2da9a0ef2e796e691c4e9f8646fda00c",
- "files": {}}'
- dest: cargo/vendor/gdk-pixbuf-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gdk-pixbuf-sys/gdk-pixbuf-sys-0.21.5.crate
- sha256: bd95ad50b9a3d2551e25dd4f6892aff0b772fe5372d84514e9d0583af60a0ce7
- dest: cargo/vendor/gdk-pixbuf-sys-0.21.5
- - type: inline
- contents: '{"package": "bd95ad50b9a3d2551e25dd4f6892aff0b772fe5372d84514e9d0583af60a0ce7",
- "files": {}}'
- dest: cargo/vendor/gdk-pixbuf-sys-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gdk4/gdk4-0.10.3.crate
- sha256: 756564212bbe4a4ce05d88ffbd2582581ac6003832d0d32822d0825cca84bfbf
- dest: cargo/vendor/gdk4-0.10.3
- - type: inline
- contents: '{"package": "756564212bbe4a4ce05d88ffbd2582581ac6003832d0d32822d0825cca84bfbf",
- "files": {}}'
- dest: cargo/vendor/gdk4-0.10.3
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gdk4-sys/gdk4-sys-0.10.3.crate
- sha256: a6d4e5b3ccf591826a4adcc83f5f57b4e59d1925cb4bf620b0d645f79498b034
- dest: cargo/vendor/gdk4-sys-0.10.3
- - type: inline
- contents: '{"package": "a6d4e5b3ccf591826a4adcc83f5f57b4e59d1925cb4bf620b0d645f79498b034",
- "files": {}}'
- dest: cargo/vendor/gdk4-sys-0.10.3
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/geo/geo-0.32.0.crate
- sha256: 3f3901269ec6d4f6068d3f09e5f02f995bd076398dcd1dfec407cd230b02d11b
- dest: cargo/vendor/geo-0.32.0
- - type: inline
- contents: '{"package": "3f3901269ec6d4f6068d3f09e5f02f995bd076398dcd1dfec407cd230b02d11b",
- "files": {}}'
- dest: cargo/vendor/geo-0.32.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/geo-types/geo-types-0.7.18.crate
- sha256: 24f8647af4005fa11da47cd56252c6ef030be8fa97bdbf355e7dfb6348f0a82c
- dest: cargo/vendor/geo-types-0.7.18
- - type: inline
- contents: '{"package": "24f8647af4005fa11da47cd56252c6ef030be8fa97bdbf355e7dfb6348f0a82c",
- "files": {}}'
- dest: cargo/vendor/geo-types-0.7.18
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/geographiclib-rs/geographiclib-rs-0.2.5.crate
- sha256: f611040a2bb37eaa29a78a128d1e92a378a03e0b6e66ae27398d42b1ba9a7841
- dest: cargo/vendor/geographiclib-rs-0.2.5
- - type: inline
- contents: '{"package": "f611040a2bb37eaa29a78a128d1e92a378a03e0b6e66ae27398d42b1ba9a7841",
- "files": {}}'
- dest: cargo/vendor/geographiclib-rs-0.2.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/getrandom/getrandom-0.2.16.crate
- sha256: 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
- dest: cargo/vendor/getrandom-0.2.16
- - type: inline
- contents: '{"package": "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592",
- "files": {}}'
- dest: cargo/vendor/getrandom-0.2.16
- 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/gio/gio-0.21.5.crate
- sha256: c5ff48bf600c68b476e61dc6b7c762f2f4eb91deef66583ba8bb815c30b5811a
- dest: cargo/vendor/gio-0.21.5
- - type: inline
- contents: '{"package": "c5ff48bf600c68b476e61dc6b7c762f2f4eb91deef66583ba8bb815c30b5811a",
- "files": {}}'
- dest: cargo/vendor/gio-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gio-sys/gio-sys-0.21.5.crate
- sha256: 0071fe88dba8e40086c8ff9bbb62622999f49628344b1d1bf490a48a29d80f22
- dest: cargo/vendor/gio-sys-0.21.5
- - type: inline
- contents: '{"package": "0071fe88dba8e40086c8ff9bbb62622999f49628344b1d1bf490a48a29d80f22",
- "files": {}}'
- dest: cargo/vendor/gio-sys-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/glib/glib-0.21.5.crate
- sha256: 16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b
- dest: cargo/vendor/glib-0.21.5
- - type: inline
- contents: '{"package": "16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b",
- "files": {}}'
- dest: cargo/vendor/glib-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/glib-macros/glib-macros-0.21.5.crate
- sha256: cf59b675301228a696fe01c3073974643365080a76cc3ed5bc2cbc466ad87f17
- dest: cargo/vendor/glib-macros-0.21.5
- - type: inline
- contents: '{"package": "cf59b675301228a696fe01c3073974643365080a76cc3ed5bc2cbc466ad87f17",
- "files": {}}'
- dest: cargo/vendor/glib-macros-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/glib-sys/glib-sys-0.21.5.crate
- sha256: 2d95e1a3a19ae464a7286e14af9a90683c64d70c02532d88d87ce95056af3e6c
- dest: cargo/vendor/glib-sys-0.21.5
- - type: inline
- contents: '{"package": "2d95e1a3a19ae464a7286e14af9a90683c64d70c02532d88d87ce95056af3e6c",
- "files": {}}'
- dest: cargo/vendor/glib-sys-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gobject-sys/gobject-sys-0.21.5.crate
- sha256: 2dca35da0d19a18f4575f3cb99fe1c9e029a2941af5662f326f738a21edaf294
- dest: cargo/vendor/gobject-sys-0.21.5
- - type: inline
- contents: '{"package": "2dca35da0d19a18f4575f3cb99fe1c9e029a2941af5662f326f738a21edaf294",
- "files": {}}'
- dest: cargo/vendor/gobject-sys-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/graphene-rs/graphene-rs-0.21.5.crate
- sha256: 2730030ac9db663fd8bfe1e7093742c1cafb92db9c315c9417c29032341fe2f9
- dest: cargo/vendor/graphene-rs-0.21.5
- - type: inline
- contents: '{"package": "2730030ac9db663fd8bfe1e7093742c1cafb92db9c315c9417c29032341fe2f9",
- "files": {}}'
- dest: cargo/vendor/graphene-rs-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/graphene-sys/graphene-sys-0.21.5.crate
- sha256: 915e32091ea9ad241e4b044af62b7351c2d68aeb24f489a0d7f37a0fc484fd93
- dest: cargo/vendor/graphene-sys-0.21.5
- - type: inline
- contents: '{"package": "915e32091ea9ad241e4b044af62b7351c2d68aeb24f489a0d7f37a0fc484fd93",
- "files": {}}'
- dest: cargo/vendor/graphene-sys-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gsk4/gsk4-0.10.3.crate
- sha256: e755de9d8c5896c5beaa028b89e1969d067f1b9bf1511384ede971f5983aa153
- dest: cargo/vendor/gsk4-0.10.3
- - type: inline
- contents: '{"package": "e755de9d8c5896c5beaa028b89e1969d067f1b9bf1511384ede971f5983aa153",
- "files": {}}'
- dest: cargo/vendor/gsk4-0.10.3
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gsk4-sys/gsk4-sys-0.10.3.crate
- sha256: 7ce91472391146f482065f1041876d8f869057b195b95399414caa163d72f4f7
- dest: cargo/vendor/gsk4-sys-0.10.3
- - type: inline
- contents: '{"package": "7ce91472391146f482065f1041876d8f869057b195b95399414caa163d72f4f7",
- "files": {}}'
- dest: cargo/vendor/gsk4-sys-0.10.3
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gtk4/gtk4-0.10.3.crate
- sha256: acb21d53cfc6f7bfaf43549731c43b67ca47d87348d81c8cfc4dcdd44828e1a4
- dest: cargo/vendor/gtk4-0.10.3
- - type: inline
- contents: '{"package": "acb21d53cfc6f7bfaf43549731c43b67ca47d87348d81c8cfc4dcdd44828e1a4",
- "files": {}}'
- dest: cargo/vendor/gtk4-0.10.3
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gtk4-macros/gtk4-macros-0.10.3.crate
- sha256: 3ccfb5a14a3d941244815d5f8101fa12d4577b59cc47245778d8d907b0003e42
- dest: cargo/vendor/gtk4-macros-0.10.3
- - type: inline
- contents: '{"package": "3ccfb5a14a3d941244815d5f8101fa12d4577b59cc47245778d8d907b0003e42",
- "files": {}}'
- dest: cargo/vendor/gtk4-macros-0.10.3
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gtk4-sys/gtk4-sys-0.10.3.crate
- sha256: 842577fe5a1ee15d166cd3afe804ce0cab6173bc789ca32e21308834f20088dd
- dest: cargo/vendor/gtk4-sys-0.10.3
- - type: inline
- contents: '{"package": "842577fe5a1ee15d166cd3afe804ce0cab6173bc789ca32e21308834f20088dd",
- "files": {}}'
- dest: cargo/vendor/gtk4-sys-0.10.3
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/gvdb/gvdb-0.9.0.crate
- sha256: b9d94c8a63f94bbc35cf63e105791c5992bd60d4516d41fe5bf3db8d10b30b43
- dest: cargo/vendor/gvdb-0.9.0
- - type: inline
- contents: '{"package": "b9d94c8a63f94bbc35cf63e105791c5992bd60d4516d41fe5bf3db8d10b30b43",
- "files": {}}'
- dest: cargo/vendor/gvdb-0.9.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/hash32/hash32-0.3.1.crate
- sha256: 47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606
- dest: cargo/vendor/hash32-0.3.1
- - type: inline
- contents: '{"package": "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606",
- "files": {}}'
- dest: cargo/vendor/hash32-0.3.1
- 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/heapless/heapless-0.8.0.crate
- sha256: 0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad
- dest: cargo/vendor/heapless-0.8.0
- - type: inline
- contents: '{"package": "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad",
- "files": {}}'
- dest: cargo/vendor/heapless-0.8.0
- 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/i_float/i_float-1.15.0.crate
- sha256: 010025c2c532c8d82e42d0b8bb5184afa449fa6f06c709ea9adcb16c49ae405b
- dest: cargo/vendor/i_float-1.15.0
- - type: inline
- contents: '{"package": "010025c2c532c8d82e42d0b8bb5184afa449fa6f06c709ea9adcb16c49ae405b",
- "files": {}}'
- dest: cargo/vendor/i_float-1.15.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/i_key_sort/i_key_sort-0.6.0.crate
- sha256: 9190f86706ca38ac8add223b2aed8b1330002b5cdbbce28fb58b10914d38fc27
- dest: cargo/vendor/i_key_sort-0.6.0
- - type: inline
- contents: '{"package": "9190f86706ca38ac8add223b2aed8b1330002b5cdbbce28fb58b10914d38fc27",
- "files": {}}'
- dest: cargo/vendor/i_key_sort-0.6.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/i_overlay/i_overlay-4.0.6.crate
- sha256: 0fcccbd4e4274e0f80697f5fbc6540fdac533cce02f2081b328e68629cce24f9
- dest: cargo/vendor/i_overlay-4.0.6
- - type: inline
- contents: '{"package": "0fcccbd4e4274e0f80697f5fbc6540fdac533cce02f2081b328e68629cce24f9",
- "files": {}}'
- dest: cargo/vendor/i_overlay-4.0.6
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/i_shape/i_shape-1.14.0.crate
- sha256: 1ea154b742f7d43dae2897fcd5ead86bc7b5eefcedd305a7ebf9f69d44d61082
- dest: cargo/vendor/i_shape-1.14.0
- - type: inline
- contents: '{"package": "1ea154b742f7d43dae2897fcd5ead86bc7b5eefcedd305a7ebf9f69d44d61082",
- "files": {}}'
- dest: cargo/vendor/i_shape-1.14.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/i_tree/i_tree-0.16.0.crate
- sha256: 35e6d558e6d4c7b82bc51d9c771e7a927862a161a7d87bf2b0541450e0e20915
- dest: cargo/vendor/i_tree-0.16.0
- - type: inline
- contents: '{"package": "35e6d558e6d4c7b82bc51d9c771e7a927862a161a7d87bf2b0541450e0e20915",
- "files": {}}'
- dest: cargo/vendor/i_tree-0.16.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/indexmap/indexmap-2.12.1.crate
- sha256: 0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2
- dest: cargo/vendor/indexmap-2.12.1
- - type: inline
- contents: '{"package": "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2",
- "files": {}}'
- dest: cargo/vendor/indexmap-2.12.1
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/itertools/itertools-0.11.0.crate
- sha256: b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57
- dest: cargo/vendor/itertools-0.11.0
- - type: inline
- contents: '{"package": "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57",
- "files": {}}'
- dest: cargo/vendor/itertools-0.11.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/itoa/itoa-1.0.16.crate
- sha256: 7ee5b5339afb4c41626dde77b7a611bd4f2c202b897852b4bcf5d03eddc61010
- dest: cargo/vendor/itoa-1.0.16
- - type: inline
- contents: '{"package": "7ee5b5339afb4c41626dde77b7a611bd4f2c202b897852b4bcf5d03eddc61010",
- "files": {}}'
- dest: cargo/vendor/itoa-1.0.16
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/js-sys/js-sys-0.3.83.crate
- sha256: 464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8
- dest: cargo/vendor/js-sys-0.3.83
- - type: inline
- contents: '{"package": "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8",
- "files": {}}'
- dest: cargo/vendor/js-sys-0.3.83
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/libc/libc-0.2.178.crate
- sha256: 37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091
- dest: cargo/vendor/libc-0.2.178
- - type: inline
- contents: '{"package": "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091",
- "files": {}}'
- dest: cargo/vendor/libc-0.2.178
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/libm/libm-0.2.15.crate
- sha256: f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de
- dest: cargo/vendor/libm-0.2.15
- - type: inline
- contents: '{"package": "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de",
- "files": {}}'
- dest: cargo/vendor/libm-0.2.15
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/libredox/libredox-0.1.12.crate
- sha256: 3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616
- dest: cargo/vendor/libredox-0.1.12
- - type: inline
- contents: '{"package": "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616",
- "files": {}}'
- dest: cargo/vendor/libredox-0.1.12
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/linux-raw-sys/linux-raw-sys-0.11.0.crate
- sha256: df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039
- dest: cargo/vendor/linux-raw-sys-0.11.0
- - type: inline
- contents: '{"package": "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039",
- "files": {}}'
- dest: cargo/vendor/linux-raw-sys-0.11.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/memchr/memchr-2.7.6.crate
- sha256: f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
- dest: cargo/vendor/memchr-2.7.6
- - type: inline
- contents: '{"package": "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273",
- "files": {}}'
- dest: cargo/vendor/memchr-2.7.6
- 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/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/nanorand/nanorand-0.7.0.crate
- sha256: 6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3
- dest: cargo/vendor/nanorand-0.7.0
- - type: inline
- contents: '{"package": "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3",
- "files": {}}'
- dest: cargo/vendor/nanorand-0.7.0
- 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/once_cell/once_cell-1.21.3.crate
- sha256: 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
- dest: cargo/vendor/once_cell-1.21.3
- - type: inline
- contents: '{"package": "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d",
- "files": {}}'
- dest: cargo/vendor/once_cell-1.21.3
- 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/pango/pango-0.21.5.crate
- sha256: 52d1d85e2078077a065bb7fc072783d5bcd4e51b379f22d67107d0a16937eb69
- dest: cargo/vendor/pango-0.21.5
- - type: inline
- contents: '{"package": "52d1d85e2078077a065bb7fc072783d5bcd4e51b379f22d67107d0a16937eb69",
- "files": {}}'
- dest: cargo/vendor/pango-0.21.5
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/pango-sys/pango-sys-0.21.5.crate
- sha256: b4f06627d36ed5ff303d2df65211fc2e52ba5b17bf18dd80ff3d9628d6e06cfd
- dest: cargo/vendor/pango-sys-0.21.5
- - type: inline
- contents: '{"package": "b4f06627d36ed5ff303d2df65211fc2e52ba5b17bf18dd80ff3d9628d6e06cfd",
- "files": {}}'
- dest: cargo/vendor/pango-sys-0.21.5
- 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.16.crate
- sha256: 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b
- dest: cargo/vendor/pin-project-lite-0.2.16
- - type: inline
- contents: '{"package": "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b",
- "files": {}}'
- dest: cargo/vendor/pin-project-lite-0.2.16
- 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/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/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/proc-macro-crate/proc-macro-crate-3.4.0.crate
- sha256: 219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983
- dest: cargo/vendor/proc-macro-crate-3.4.0
- - type: inline
- contents: '{"package": "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983",
- "files": {}}'
- dest: cargo/vendor/proc-macro-crate-3.4.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/proc-macro2/proc-macro2-1.0.103.crate
- sha256: 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
- dest: cargo/vendor/proc-macro2-1.0.103
- - type: inline
- contents: '{"package": "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8",
- "files": {}}'
- dest: cargo/vendor/proc-macro2-1.0.103
- 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/quote/quote-1.0.42.crate
- sha256: a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f
- dest: cargo/vendor/quote-1.0.42
- - type: inline
- contents: '{"package": "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f",
- "files": {}}'
- dest: cargo/vendor/quote-1.0.42
- 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/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_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_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/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/redox_users/redox_users-0.4.6.crate
- sha256: ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43
- dest: cargo/vendor/redox_users-0.4.6
- - type: inline
- contents: '{"package": "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43",
- "files": {}}'
- dest: cargo/vendor/redox_users-0.4.6
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/relm4/relm4-0.10.0.crate
- sha256: 6bae902de22fd92e62641f047975abf228573425b9b8de175e8ab5b6cda10379
- dest: cargo/vendor/relm4-0.10.0
- - type: inline
- contents: '{"package": "6bae902de22fd92e62641f047975abf228573425b9b8de175e8ab5b6cda10379",
- "files": {}}'
- dest: cargo/vendor/relm4-0.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/relm4-components/relm4-components-0.10.0.crate
- sha256: 3155d84425d33cdc62929ed2c79bfcfdcb2fff6340c5f7041ed24b56577c9d57
- dest: cargo/vendor/relm4-components-0.10.0
- - type: inline
- contents: '{"package": "3155d84425d33cdc62929ed2c79bfcfdcb2fff6340c5f7041ed24b56577c9d57",
- "files": {}}'
- dest: cargo/vendor/relm4-components-0.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/relm4-css/relm4-css-0.10.0.crate
- sha256: 37dbe7a114855a22618f0e13595ce6b3f165478c13c2dfc4f4f99614da105797
- dest: cargo/vendor/relm4-css-0.10.0
- - type: inline
- contents: '{"package": "37dbe7a114855a22618f0e13595ce6b3f165478c13c2dfc4f4f99614da105797",
- "files": {}}'
- dest: cargo/vendor/relm4-css-0.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/relm4-icons/relm4-icons-0.10.0.crate
- sha256: 28869f8322ed72bed568cbb704403037ff62a66c966ded7a862ad5732f108530
- dest: cargo/vendor/relm4-icons-0.10.0
- - type: inline
- contents: '{"package": "28869f8322ed72bed568cbb704403037ff62a66c966ded7a862ad5732f108530",
- "files": {}}'
- dest: cargo/vendor/relm4-icons-0.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/relm4-icons-build/relm4-icons-build-0.10.0.crate
- sha256: 75f2de558afdd570680a69c96dc9f812b241922c6355dae351f7ffbb5fac675d
- dest: cargo/vendor/relm4-icons-build-0.10.0
- - type: inline
- contents: '{"package": "75f2de558afdd570680a69c96dc9f812b241922c6355dae351f7ffbb5fac675d",
- "files": {}}'
- dest: cargo/vendor/relm4-icons-build-0.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/relm4-macros/relm4-macros-0.10.0.crate
- sha256: 175fce497fc6f11dde7ea56daa30ff7ad29a534bbc209d59d766659c880ba5f1
- dest: cargo/vendor/relm4-macros-0.10.0
- - type: inline
- contents: '{"package": "175fce497fc6f11dde7ea56daa30ff7ad29a534bbc209d59d766659c880ba5f1",
- "files": {}}'
- dest: cargo/vendor/relm4-macros-0.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/robust/robust-1.2.0.crate
- sha256: 4e27ee8bb91ca0adcf0ecb116293afa12d393f9c2b9b9cd54d33e8078fe19839
- dest: cargo/vendor/robust-1.2.0
- - type: inline
- contents: '{"package": "4e27ee8bb91ca0adcf0ecb116293afa12d393f9c2b9b9cd54d33e8078fe19839",
- "files": {}}'
- dest: cargo/vendor/robust-1.2.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/rstar/rstar-0.12.2.crate
- sha256: 421400d13ccfd26dfa5858199c30a5d76f9c54e0dba7575273025b43c5175dbb
- dest: cargo/vendor/rstar-0.12.2
- - type: inline
- contents: '{"package": "421400d13ccfd26dfa5858199c30a5d76f9c54e0dba7575273025b43c5175dbb",
- "files": {}}'
- dest: cargo/vendor/rstar-0.12.2
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/rustc-hash/rustc-hash-2.1.1.crate
- sha256: 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
- dest: cargo/vendor/rustc-hash-2.1.1
- - type: inline
- contents: '{"package": "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d",
- "files": {}}'
- dest: cargo/vendor/rustc-hash-2.1.1
- 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-1.1.3.crate
- sha256: 146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34
- dest: cargo/vendor/rustix-1.1.3
- - type: inline
- contents: '{"package": "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34",
- "files": {}}'
- dest: cargo/vendor/rustix-1.1.3
- 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/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/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/semver/semver-1.0.27.crate
- sha256: d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2
- dest: cargo/vendor/semver-1.0.27
- - type: inline
- contents: '{"package": "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2",
- "files": {}}'
- dest: cargo/vendor/semver-1.0.27
- 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.147.crate
- sha256: 6af14725505314343e673e9ecb7cd7e8a36aa9791eb936235a3567cc31447ae4
- dest: cargo/vendor/serde_json-1.0.147
- - type: inline
- contents: '{"package": "6af14725505314343e673e9ecb7cd7e8a36aa9791eb936235a3567cc31447ae4",
- "files": {}}'
- dest: cargo/vendor/serde_json-1.0.147
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/serde_spanned/serde_spanned-1.0.4.crate
- sha256: f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776
- dest: cargo/vendor/serde_spanned-1.0.4
- - type: inline
- contents: '{"package": "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776",
- "files": {}}'
- dest: cargo/vendor/serde_spanned-1.0.4
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/sif-itree/sif-itree-0.4.0.crate
- sha256: 142099cd6db3c4fab61e5133c62ff80b26674391e195860791fda0b1be3e5080
- dest: cargo/vendor/sif-itree-0.4.0
- - type: inline
- contents: '{"package": "142099cd6db3c4fab61e5133c62ff80b26674391e195860791fda0b1be3e5080",
- "files": {}}'
- dest: cargo/vendor/sif-itree-0.4.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/simd-adler32/simd-adler32-0.3.8.crate
- sha256: e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2
- dest: cargo/vendor/simd-adler32-0.3.8
- - type: inline
- contents: '{"package": "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2",
- "files": {}}'
- dest: cargo/vendor/simd-adler32-0.3.8
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/slab/slab-0.4.11.crate
- sha256: 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589
- dest: cargo/vendor/slab-0.4.11
- - type: inline
- contents: '{"package": "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589",
- "files": {}}'
- dest: cargo/vendor/slab-0.4.11
- 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/sourceview5/sourceview5-0.10.0.crate
- sha256: 6e4acb02162917d7b689c84f4ed710c22302c67c7e61da28a4e8ac548c04442c
- dest: cargo/vendor/sourceview5-0.10.0
- - type: inline
- contents: '{"package": "6e4acb02162917d7b689c84f4ed710c22302c67c7e61da28a4e8ac548c04442c",
- "files": {}}'
- dest: cargo/vendor/sourceview5-0.10.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/sourceview5-sys/sourceview5-sys-0.10.1.crate
- sha256: e1c1529de5df2653788828ef71d44b113bb80e496bc17315f4122106bd6eebae
- dest: cargo/vendor/sourceview5-sys-0.10.1
- - type: inline
- contents: '{"package": "e1c1529de5df2653788828ef71d44b113bb80e496bc17315f4122106bd6eebae",
- "files": {}}'
- dest: cargo/vendor/sourceview5-sys-0.10.1
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/spade/spade-2.15.0.crate
- sha256: fb313e1c8afee5b5647e00ee0fe6855e3d529eb863a0fdae1d60006c4d1e9990
- dest: cargo/vendor/spade-2.15.0
- - type: inline
- contents: '{"package": "fb313e1c8afee5b5647e00ee0fe6855e3d529eb863a0fdae1d60006c4d1e9990",
- "files": {}}'
- dest: cargo/vendor/spade-2.15.0
- 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/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/syn/syn-2.0.111.crate
- sha256: 390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87
- dest: cargo/vendor/syn-2.0.111
- - type: inline
- contents: '{"package": "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87",
- "files": {}}'
- dest: cargo/vendor/syn-2.0.111
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/system-deps/system-deps-7.0.7.crate
- sha256: 48c8f33736f986f16d69b6cb8b03f55ddcad5c41acc4ccc39dd88e84aa805e7f
- dest: cargo/vendor/system-deps-7.0.7
- - type: inline
- contents: '{"package": "48c8f33736f986f16d69b6cb8b03f55ddcad5c41acc4ccc39dd88e84aa805e7f",
- "files": {}}'
- dest: cargo/vendor/system-deps-7.0.7
- 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.24.0.crate
- sha256: 655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c
- dest: cargo/vendor/tempfile-3.24.0
- - type: inline
- contents: '{"package": "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c",
- "files": {}}'
- dest: cargo/vendor/tempfile-3.24.0
- 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.17.crate
- sha256: f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
- dest: cargo/vendor/thiserror-2.0.17
- - type: inline
- contents: '{"package": "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8",
- "files": {}}'
- dest: cargo/vendor/thiserror-2.0.17
- 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.17.crate
- sha256: 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
- dest: cargo/vendor/thiserror-impl-2.0.17
- - type: inline
- contents: '{"package": "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913",
- "files": {}}'
- dest: cargo/vendor/thiserror-impl-2.0.17
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/tokio/tokio-1.48.0.crate
- sha256: ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408
- dest: cargo/vendor/tokio-1.48.0
- - type: inline
- contents: '{"package": "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408",
- "files": {}}'
- dest: cargo/vendor/tokio-1.48.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/toml/toml-0.9.10+spec-1.1.0.crate
- sha256: 0825052159284a1a8b4d6c0c86cbc801f2da5afd2b225fa548c72f2e74002f48
- dest: cargo/vendor/toml-0.9.10+spec-1.1.0
- - type: inline
- contents: '{"package": "0825052159284a1a8b4d6c0c86cbc801f2da5afd2b225fa548c72f2e74002f48",
- "files": {}}'
- dest: cargo/vendor/toml-0.9.10+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-0.7.5+spec-1.1.0.crate
- sha256: 92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347
- dest: cargo/vendor/toml_datetime-0.7.5+spec-1.1.0
- - type: inline
- contents: '{"package": "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347",
- "files": {}}'
- dest: cargo/vendor/toml_datetime-0.7.5+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.23.10+spec-1.0.0.crate
- sha256: 84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269
- dest: cargo/vendor/toml_edit-0.23.10+spec-1.0.0
- - type: inline
- contents: '{"package": "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269",
- "files": {}}'
- dest: cargo/vendor/toml_edit-0.23.10+spec-1.0.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/toml_parser/toml_parser-1.0.6+spec-1.1.0.crate
- sha256: a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44
- dest: cargo/vendor/toml_parser-1.0.6+spec-1.1.0
- - type: inline
- contents: '{"package": "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44",
- "files": {}}'
- dest: cargo/vendor/toml_parser-1.0.6+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.0.6+spec-1.1.0.crate
- sha256: ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607
- dest: cargo/vendor/toml_writer-1.0.6+spec-1.1.0
- - type: inline
- contents: '{"package": "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607",
- "files": {}}'
- dest: cargo/vendor/toml_writer-1.0.6+spec-1.1.0
- 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/tracker/tracker-0.2.2.crate
- sha256: ce5c98457ff700aaeefcd4a4a492096e78a2af1dd8523c66e94a3adb0fdbd415
- dest: cargo/vendor/tracker-0.2.2
- - type: inline
- contents: '{"package": "ce5c98457ff700aaeefcd4a4a492096e78a2af1dd8523c66e94a3adb0fdbd415",
- "files": {}}'
- dest: cargo/vendor/tracker-0.2.2
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/tracker-macros/tracker-macros-0.2.2.crate
- sha256: dc19eb2373ccf3d1999967c26c3d44534ff71ae5d8b9dacf78f4b13132229e48
- dest: cargo/vendor/tracker-macros-0.2.2
- - type: inline
- contents: '{"package": "dc19eb2373ccf3d1999967c26c3d44534ff71ae5d8b9dacf78f4b13132229e48",
- "files": {}}'
- dest: cargo/vendor/tracker-macros-0.2.2
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/unicode-ident/unicode-ident-1.0.22.crate
- sha256: 9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5
- dest: cargo/vendor/unicode-ident-1.0.22
- - type: inline
- contents: '{"package": "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5",
- "files": {}}'
- dest: cargo/vendor/unicode-ident-1.0.22
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/uuid/uuid-1.19.0.crate
- sha256: e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a
- dest: cargo/vendor/uuid-1.19.0
- - type: inline
- contents: '{"package": "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a",
- "files": {}}'
- dest: cargo/vendor/uuid-1.19.0
- 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/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/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.1+wasi-0.2.4.crate
- sha256: 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7
- dest: cargo/vendor/wasip2-1.0.1+wasi-0.2.4
- - type: inline
- contents: '{"package": "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7",
- "files": {}}'
- dest: cargo/vendor/wasip2-1.0.1+wasi-0.2.4
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.106.crate
- sha256: 0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd
- dest: cargo/vendor/wasm-bindgen-0.2.106
- - type: inline
- contents: '{"package": "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd",
- "files": {}}'
- dest: cargo/vendor/wasm-bindgen-0.2.106
- 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.106.crate
- sha256: 48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3
- dest: cargo/vendor/wasm-bindgen-macro-0.2.106
- - type: inline
- contents: '{"package": "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3",
- "files": {}}'
- dest: cargo/vendor/wasm-bindgen-macro-0.2.106
- 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.106.crate
- sha256: cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40
- dest: cargo/vendor/wasm-bindgen-macro-support-0.2.106
- - type: inline
- contents: '{"package": "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40",
- "files": {}}'
- dest: cargo/vendor/wasm-bindgen-macro-support-0.2.106
- 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.106.crate
- sha256: cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4
- dest: cargo/vendor/wasm-bindgen-shared-0.2.106
- - type: inline
- contents: '{"package": "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4",
- "files": {}}'
- dest: cargo/vendor/wasm-bindgen-shared-0.2.106
- 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/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-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.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.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_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_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_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_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_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_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_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/winnow/winnow-0.7.14.crate
- sha256: 5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829
- dest: cargo/vendor/winnow-0.7.14
- - type: inline
- contents: '{"package": "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829",
- "files": {}}'
- dest: cargo/vendor/winnow-0.7.14
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/wit-bindgen/wit-bindgen-0.46.0.crate
- sha256: f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
- dest: cargo/vendor/wit-bindgen-0.46.0
- - type: inline
- contents: '{"package": "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59",
- "files": {}}'
- dest: cargo/vendor/wit-bindgen-0.46.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/wmap-parser/wmap-parser-1.0.0.crate
- sha256: c5a2c331c28b392f06cd9d81118a6f73b084708c6ff320457f4cbd75912d499b
- dest: cargo/vendor/wmap-parser-1.0.0
- - type: inline
- contents: '{"package": "c5a2c331c28b392f06cd9d81118a6f73b084708c6ff320457f4cbd75912d499b",
- "files": {}}'
- dest: cargo/vendor/wmap-parser-1.0.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/wmap-renderer/wmap-renderer-1.1.0.crate
- sha256: 6eaff4963c129be024d3252a61380f69aa40d927b46fa89eb256eeac72a6a676
- dest: cargo/vendor/wmap-renderer-1.1.0
- - type: inline
- contents: '{"package": "6eaff4963c129be024d3252a61380f69aa40d927b46fa89eb256eeac72a6a676",
- "files": {}}'
- dest: cargo/vendor/wmap-renderer-1.1.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/zerocopy/zerocopy-0.8.31.crate
- sha256: fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3
- dest: cargo/vendor/zerocopy-0.8.31
- - type: inline
- contents: '{"package": "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3",
- "files": {}}'
- dest: cargo/vendor/zerocopy-0.8.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.31.crate
- sha256: d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a
- dest: cargo/vendor/zerocopy-derive-0.8.31
- - type: inline
- contents: '{"package": "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a",
- "files": {}}'
- dest: cargo/vendor/zerocopy-derive-0.8.31
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/zmij/zmij-0.1.9.crate
- sha256: d0095ecd462946aa3927d9297b63ef82fb9a5316d7a37d134eeb36e58228615a
- dest: cargo/vendor/zmij-0.1.9
- - type: inline
- contents: '{"package": "d0095ecd462946aa3927d9297b63ef82fb9a5316d7a37d134eeb36e58228615a",
- "files": {}}'
- dest: cargo/vendor/zmij-0.1.9
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/zvariant/zvariant-5.8.0.crate
- sha256: 2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c
- dest: cargo/vendor/zvariant-5.8.0
- - type: inline
- contents: '{"package": "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c",
- "files": {}}'
- dest: cargo/vendor/zvariant-5.8.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/zvariant_derive/zvariant_derive-5.8.0.crate
- sha256: da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006
- dest: cargo/vendor/zvariant_derive-5.8.0
- - type: inline
- contents: '{"package": "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006",
- "files": {}}'
- dest: cargo/vendor/zvariant_derive-5.8.0
- dest-filename: .cargo-checksum.json
- - type: archive
- archive-type: tar-gzip
- url: https://static.crates.io/crates/zvariant_utils/zvariant_utils-3.2.1.crate
- sha256: c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599
- dest: cargo/vendor/zvariant_utils-3.2.1
- - type: inline
- contents: '{"package": "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599",
- "files": {}}'
- dest: cargo/vendor/zvariant_utils-3.2.1
- dest-filename: .cargo-checksum.json
- - type: inline
- contents: '[source.vendored-sources]
-
- directory = "cargo/vendor"
-
-
- [source.crates-io]
-
- replace-with = "vendored-sources"
-
- '
- dest: cargo
- dest-filename: config
+ - cargo-sources.json
diff --git a/clippy.toml b/clippy.toml
new file mode 100644
index 0000000..4c47523
--- /dev/null
+++ b/clippy.toml
@@ -0,0 +1,3 @@
+allow-panic-in-tests = true
+allow-unwrap-in-tests = true
+allow-expect-in-tests = true
diff --git a/po/en_US.mo b/po/en_US.mo
deleted file mode 100644
index 9daf8c8..0000000
--- a/po/en_US.mo
+++ /dev/null
Binary files differ
diff --git a/po/en_US/LC_MESSAGES/systems.tranquil.Map.mo b/po/en_US/LC_MESSAGES/systems.tranquil.Map.mo
deleted file mode 100644
index 9daf8c8..0000000
--- a/po/en_US/LC_MESSAGES/systems.tranquil.Map.mo
+++ /dev/null
Binary files differ
diff --git a/resources/systems.tranquil.Map.desktop b/resources/systems.tranquil.Map.desktop
index 53337d8..f76d73a 100644
--- a/resources/systems.tranquil.Map.desktop
+++ b/resources/systems.tranquil.Map.desktop
@@ -5,7 +5,7 @@ GenericName=Wardley Map Editor
Comment=Wardley Map Editor for Linux
Categories=GNOME;GTK;Graphics;Utility;
Icon=systems.tranquil.Map
-Exec=systems.tranquil.Map %u
+Exec=map %u
Terminal=false
Keywords=wardley;wmap;maps;editor;wardley maps;wardley mapping;
X-GNOME-Gettext-Domain=systems.tranquil.Map
diff --git a/src/actions.rs b/src/actions.rs
index 859d559..fdea125 100644
--- a/src/actions.rs
+++ b/src/actions.rs
@@ -25,14 +25,14 @@ pub enum ImageFormat {
}
impl ImageFormat {
- pub fn extension(&self) -> &'static str {
+ pub fn extension(self) -> &'static str {
match self {
ImageFormat::Png => "png",
ImageFormat::Svg => "svg",
}
}
- pub fn mime_type(&self) -> &'static str {
+ pub fn mime_type(self) -> &'static str {
match self {
ImageFormat::Png => "image/png",
ImageFormat::Svg => "image/svg+xml",
diff --git a/src/dialogs.rs b/src/dialogs.rs
index 8f5b951..41b8c86 100644
--- a/src/dialogs.rs
+++ b/src/dialogs.rs
@@ -94,7 +94,7 @@ pub fn show_open_dialog(
/// Shows a file save dialog and handles the response.
pub fn show_save_dialog(
window: &gtk::Window,
- current_file: Option<PathBuf>,
+ current_file: Option<&PathBuf>,
close_after: bool,
sender: ComponentSender<AppModel>,
) {
@@ -110,7 +110,7 @@ pub fn show_save_dialog(
dialog.add_filter(&create_file_filter());
let default_filename = "map.wmap";
- if let Some(ref current_path) = current_file {
+ if let Some(current_path) = current_file {
if let Some(parent) = current_path.parent() {
let folder = gtk::gio::File::for_path(parent);
dialog.set_current_folder(Some(&folder)).ok();
@@ -191,7 +191,7 @@ fn create_image_filter(format: ImageFormat) -> gtk::FileFilter {
/// Shows an export image dialog and handles the response.
pub fn show_export_dialog(
window: &gtk::Window,
- current_file: Option<PathBuf>,
+ current_file: Option<&PathBuf>,
sender: ComponentSender<AppModel>,
) {
let dialog = gtk::FileChooserDialog::new(
@@ -217,13 +217,13 @@ pub fn show_export_dialog(
.unwrap_or("map")
.to_string();
- if let Some(ref current_path) = current_file
+ if let Some(current_path) = current_file
&& let Some(parent) = current_path.parent()
{
let folder = gtk::gio::File::for_path(parent);
dialog.set_current_folder(Some(&folder)).ok();
}
- dialog.set_current_name(&format!("{}.png", base_name));
+ dialog.set_current_name(&format!("{base_name}.png"));
// Update extension when filter changes
{
@@ -235,7 +235,7 @@ pub fn show_export_dialog(
} else {
"svg"
};
- dialog.set_current_name(&format!("{}.{}", base_name_clone, ext));
+ dialog.set_current_name(&format!("{base_name_clone}.{ext}"));
});
}
diff --git a/src/file_registry.rs b/src/file_registry.rs
index 73299f6..749697d 100644
--- a/src/file_registry.rs
+++ b/src/file_registry.rs
@@ -78,7 +78,7 @@ pub fn register_sender(sender: relm4::Sender<Action>) {
}
/// Broadcasts a message to all windows via their registered senders.
-pub fn broadcast_to_all_windows(message: Action) {
+pub fn broadcast_to_all_windows(message: &Action) {
WINDOW_SENDERS.with_borrow(|senders| {
for sender in senders {
sender.emit(message.clone());
diff --git a/src/handlers/export.rs b/src/handlers/export.rs
index a0a4451..bf9dfc5 100644
--- a/src/handlers/export.rs
+++ b/src/handlers/export.rs
@@ -18,23 +18,27 @@ use std::path::PathBuf;
use crate::AppModel;
use crate::actions::ImageFormat;
use crate::dialogs;
-use crate::tr;
use crate::stages::LocalizedStageType;
+use crate::tr;
use wmap_renderer::{render_to_png, render_to_svg};
/// Exports the map to an image file in the specified format.
-pub fn export_to_file(model: &AppModel, path: PathBuf, format: ImageFormat) {
+pub fn export_to_file(model: &AppModel, path: &PathBuf, format: ImageFormat) {
let result: Result<(), String> = match format {
- ImageFormat::Png => {
- render_to_png(&model.map, &model.stage_type.to_localized(), &model.render_configuration)
- .map_err(|e| e.to_string())
- .and_then(|data| std::fs::write(&path, data).map_err(|e| e.to_string()))
- }
- ImageFormat::Svg => {
- render_to_svg(&model.map, &model.stage_type.to_localized(), &model.render_configuration)
- .map_err(|e| e.to_string())
- .and_then(|data| std::fs::write(&path, data).map_err(|e| e.to_string()))
- }
+ ImageFormat::Png => render_to_png(
+ &model.map,
+ &model.stage_type.to_localized(),
+ &model.render_configuration,
+ )
+ .map_err(|e| e.to_string())
+ .and_then(|data| std::fs::write(path, data).map_err(|e| e.to_string())),
+ ImageFormat::Svg => render_to_svg(
+ &model.map,
+ &model.stage_type.to_localized(),
+ &model.render_configuration,
+ )
+ .map_err(|e| e.to_string())
+ .and_then(|data| std::fs::write(path, data).map_err(|e| e.to_string())),
};
if let Err(error) = result {
diff --git a/src/handlers/view.rs b/src/handlers/view.rs
index 58d44b2..660f7b9 100644
--- a/src/handlers/view.rs
+++ b/src/handlers/view.rs
@@ -27,8 +27,10 @@ pub fn change_orientation(model: &mut AppModel) {
/// Updates the selected stage type from dropdown selection.
pub fn stage_type_selected(model: &mut AppModel, index: usize) {
- if index < model.available_stage_types.len() {
- model.stage_type = model.available_stage_types[index].clone();
+ if index < model.available_stage_types.len()
+ && let Some(stage_type) = model.available_stage_types.get(index)
+ {
+ model.stage_type = stage_type.clone();
model.update_image();
}
}
diff --git a/src/i18n.rs b/src/i18n.rs
index 1c574e0..35955a1 100644
--- a/src/i18n.rs
+++ b/src/i18n.rs
@@ -16,7 +16,7 @@
//! Internationalization support using gettext.
-use gettextrs::{bindtextdomain, setlocale, textdomain, LocaleCategory};
+use gettextrs::{LocaleCategory, bindtextdomain, setlocale, textdomain};
/// The gettext domain for the application.
pub const GETTEXT_DOMAIN: &str = "systems.tranquil.Map";
@@ -43,7 +43,7 @@ pub fn init() {
}
}
- textdomain(GETTEXT_DOMAIN).expect("Failed to set gettext domain");
+ textdomain(GETTEXT_DOMAIN).ok();
}
/// Macro for translating strings at runtime.
diff --git a/src/main.rs b/src/main.rs
index c15ffc2..4feef3b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -28,6 +28,7 @@ mod stages;
mod ui_helpers;
mod icon_names {
+ #![allow(clippy::doc_markdown)] // Generated code from relm4_icons_build
include!(concat!(env!("OUT_DIR"), "/icon_names.rs"));
}
@@ -93,7 +94,7 @@ macro_rules! register_action {
}};
}
-fn setup_actions(window: gtk::Window, sender: ComponentSender<AppModel>) {
+fn setup_actions(window: &gtk::Window, sender: &ComponentSender<AppModel>) {
let application = relm4::main_application();
let mut action_group = RelmActionGroup::<WindowActionGroup>::new();
@@ -179,11 +180,12 @@ fn setup_actions(window: gtk::Window, sender: ComponentSender<AppModel>) {
);
let sender = sender.clone();
- let action: RelmAction<NewFromTemplateAction> = RelmAction::new_with_target_value(move |_, template_id| {
- sender.input(Action::NewFromTemplateById(template_id))
- });
+ let action: RelmAction<NewFromTemplateAction> =
+ RelmAction::new_with_target_value(move |_, template_id| {
+ sender.input(Action::NewFromTemplateById(template_id));
+ });
action_group.add_action(action);
- action_group.register_for_widget(&window);
+ action_group.register_for_widget(window);
}
struct AppInit {
@@ -219,12 +221,15 @@ struct AppModel {
}
impl AppModel {
+ #[allow(clippy::cast_possible_truncation)]
fn update_image(&mut self) {
- if let Ok(surface) =
- render_to_surface(&self.map, &self.stage_type.to_localized(), &self.render_configuration)
- {
- self.surface_width = (surface.width() as f64 * self.zoom).round() as i32;
- self.surface_height = (surface.height() as f64 * self.zoom).round() as i32;
+ if let Ok(surface) = render_to_surface(
+ &self.map,
+ &self.stage_type.to_localized(),
+ &self.render_configuration,
+ ) {
+ self.surface_width = (f64::from(surface.width()) * self.zoom).round() as i32;
+ self.surface_height = (f64::from(surface.height()) * self.zoom).round() as i32;
self.surface = surface;
let zoom = self.zoom;
@@ -272,6 +277,7 @@ impl AppModel {
self.source.set_text(content);
}
+ #[allow(clippy::cast_possible_truncation)]
fn apply_preferences(&mut self) {
self.source_view
.set_wrap_mode(if self.preferences.soft_wrap_lines {
@@ -325,8 +331,7 @@ impl AppModel {
}
for stage_type in &stage_types {
- self.stage_type_list
- .append(&stage_type.localized_name());
+ self.stage_type_list.append(&stage_type.localized_name());
}
self.available_stage_types = stage_types;
@@ -337,7 +342,7 @@ impl AppModel {
for template in &self.preferences.map_templates {
self.templates_menu.append(
Some(&template.name),
- Some(&format!("window.new-from-template::{}", template.id))
+ Some(&format!("window.new-from-template::{}", template.id)),
);
}
}
@@ -358,6 +363,121 @@ impl AppModel {
file_registry::store_controller(controller);
}
+
+ fn init_stage_type_list() -> gtk::StringList {
+ let stage_types: Vec<String> = ALL_STAGE_TYPES
+ .iter()
+ .map(stages::LocalizedStageType::localized_name)
+ .collect();
+ let stage_type_refs: Vec<&str> = stage_types
+ .iter()
+ .map(std::string::String::as_str)
+ .collect();
+ gtk::StringList::new(&stage_type_refs)
+ }
+
+ fn init_source_buffer(
+ init: &AppInit,
+ sender: &ComponentSender<Self>,
+ ) -> (sourceview5::Buffer, String, Option<PathBuf>) {
+ let source = sourceview5::Buffer::new(None);
+ source.set_highlight_syntax(true);
+
+ let language_manager = LanguageManager::default();
+ if let Some(language) = language_manager.language("wmap") {
+ source.set_language(Some(&language));
+ }
+
+ let (initial_content, current_file) = if let Some(ref path) = init.file_path {
+ match std::fs::read_to_string(path) {
+ Ok(content) => (content, Some(path.clone())),
+ Err(_) => (String::new(), None),
+ }
+ } else {
+ (init.initial_content.clone().unwrap_or_default(), None)
+ };
+
+ source.set_text(&initial_content);
+
+ {
+ let sender = sender.clone();
+ source.connect_changed(move |_| {
+ sender.input(Action::SourceChanged);
+ });
+ }
+
+ (source, initial_content, current_file)
+ }
+
+ fn init_drawing_area(
+ initial_content: &str,
+ ) -> (
+ gtk::DrawingArea,
+ Map,
+ Configuration,
+ StageType,
+ ImageSurface,
+ ) {
+ let drawing_area = gtk::DrawingArea::new();
+ let map = parse(initial_content);
+ let mut render_configuration = Configuration::default();
+ let stage_type = StageType::Activities;
+ render_configuration.options.smart_label_positioning = true;
+ let surface = render_to_surface(&map, &stage_type.to_localized(), &render_configuration)
+ .or_else(|_| ImageSurface::create(cairo::Format::ARgb32, 1, 1))
+ .unwrap_or_else(|e| {
+ eprintln!("Fatal: Cairo failed to create surface: {e}");
+ std::process::exit(1);
+ });
+
+ (drawing_area, map, render_configuration, stage_type, surface)
+ }
+
+ fn init_main_menu(prefs: &preferences::UserPreferences) -> (gio::Menu, gio::Menu) {
+ let templates_menu = gio::Menu::new();
+ for template in &prefs.map_templates {
+ templates_menu.append(
+ Some(&template.name),
+ Some(&format!("window.new-from-template::{}", template.id)),
+ );
+ }
+
+ let main_menu = gio::Menu::new();
+ main_menu.append(Some(&tr!("command.file.new")), Some("window.new"));
+ main_menu.append_submenu(
+ Some(&tr!("command.file.new_from_template")),
+ &templates_menu,
+ );
+ main_menu.append(Some(&tr!("command.file.open")), Some("window.open"));
+ main_menu.append(Some(&tr!("command.file.save")), Some("window.save"));
+ main_menu.append(Some(&tr!("command.file.save_as")), Some("window.save-as"));
+ main_menu.append(Some(&tr!("command.file.close")), Some("window.close"));
+ main_menu.append(
+ Some(&tr!("command.file.export")),
+ Some("window.export-image"),
+ );
+
+ let layout_section = gio::Menu::new();
+ layout_section.append(
+ Some(&tr!("command.view.use_vertical_layout")),
+ Some("window.change-orientation"),
+ );
+ main_menu.append_section(None, &layout_section);
+
+ let zoom_section = gio::Menu::new();
+ zoom_section.append(Some(&tr!("command.view.zoom_in")), Some("window.zoom-in"));
+ zoom_section.append(Some(&tr!("command.view.zoom_out")), Some("window.zoom-out"));
+ main_menu.append_section(None, &zoom_section);
+
+ let prefs_section = gio::Menu::new();
+ prefs_section.append(
+ Some(&tr!("command.application.preferences")),
+ Some("window.preferences"),
+ );
+ main_menu.append_section(None, &prefs_section);
+
+ (templates_menu, main_menu)
+ }
}
#[relm4::component]
@@ -496,40 +616,11 @@ impl SimpleComponent for AppModel {
root: Self::Root,
sender: ComponentSender<Self>,
) -> ComponentParts<Self> {
- let stage_types: Vec<String> = ALL_STAGE_TYPES
- .iter()
- .map(|stage_type| stage_type.localized_name())
- .collect();
- let stage_type_refs: Vec<&str> = stage_types.iter().map(|s| s.as_str()).collect();
- let stage_type_list = gtk::StringList::new(&stage_type_refs);
+ let stage_type_list = Self::init_stage_type_list();
- let source = sourceview5::Buffer::new(None);
- source.set_highlight_syntax(true);
-
- let language_manager = LanguageManager::default();
- if let Some(language) = language_manager.language("wmap") {
- source.set_language(Some(&language));
- }
-
- let (initial_content, current_file) = if let Some(ref path) = init.file_path {
- match std::fs::read_to_string(path) {
- Ok(content) => (content, Some(path.clone())),
- Err(_) => (String::new(), None),
- }
- } else {
- (init.initial_content.unwrap_or_default(), None)
- };
-
- source.set_text(&initial_content);
-
- {
- let sender = sender.clone();
- source.connect_changed(move |_| {
- sender.input(Action::SourceChanged);
- });
- }
+ let (source, initial_content, current_file) = Self::init_source_buffer(&init, &sender);
- setup_actions(root.clone(), sender.clone());
+ setup_actions(&root, &sender);
let source_view = sourceview5::View::with_buffer(&source);
source_view.set_monospace(true);
@@ -540,55 +631,15 @@ impl SimpleComponent for AppModel {
gtk::STYLE_PROVIDER_PRIORITY_APPLICATION,
);
- let drawing_area = gtk::DrawingArea::new();
- let map = parse(&initial_content);
- let mut render_configuration = Configuration::default();
- let stage_type = StageType::Activities;
- render_configuration.options.smart_label_positioning = true;
- let surface =
- render_to_surface(&map, &stage_type.to_localized(), &render_configuration).unwrap_or_else(|_| {
- ImageSurface::create(cairo::Format::ARgb32, 1, 1)
- .expect("errors.render.failed_to_create_surface")
- });
+ let (drawing_area, map, render_configuration, stage_type, surface) =
+ Self::init_drawing_area(&initial_content);
if let Some(ref path) = current_file {
file_registry::register_file(path, &root);
}
let prefs = preferences::storage::load();
-
- let templates_menu = gio::Menu::new();
- for template in &prefs.map_templates {
- templates_menu.append(
- Some(&template.name),
- Some(&format!("window.new-from-template::{}", template.id))
- );
- }
-
- let main_menu = gio::Menu::new();
- main_menu.append(Some(&tr!("command.file.new")), Some("window.new"));
- main_menu.append_submenu(Some(&tr!("command.file.new_from_template")), &templates_menu);
- main_menu.append(Some(&tr!("command.file.open")), Some("window.open"));
- main_menu.append(Some(&tr!("command.file.save")), Some("window.save"));
- main_menu.append(Some(&tr!("command.file.save_as")), Some("window.save-as"));
- main_menu.append(Some(&tr!("command.file.close")), Some("window.close"));
- main_menu.append(Some(&tr!("command.file.export")), Some("window.export-image"));
-
- let layout_section = gio::Menu::new();
- layout_section.append(
- Some(&tr!("command.view.use_vertical_layout")),
- Some("window.change-orientation"),
- );
- main_menu.append_section(None, &layout_section);
-
- let zoom_section = gio::Menu::new();
- zoom_section.append(Some(&tr!("command.view.zoom_in")), Some("window.zoom-in"));
- zoom_section.append(Some(&tr!("command.view.zoom_out")), Some("window.zoom-out"));
- main_menu.append_section(None, &zoom_section);
-
- let prefs_section = gio::Menu::new();
- prefs_section.append(Some(&tr!("command.application.preferences")), Some("window.preferences"));
- main_menu.append_section(None, &prefs_section);
+ let (templates_menu, main_menu) = Self::init_main_menu(&prefs);
let mut model = AppModel {
orientation: gtk::Orientation::Horizontal,
@@ -663,10 +714,10 @@ impl SimpleComponent for AppModel {
Action::ZoomOut => handlers::zoom::zoom_out(self),
Action::ExportImage => {
- dialogs::show_export_dialog(&self.window, self.current_file.clone(), sender)
+ dialogs::show_export_dialog(&self.window, self.current_file.as_ref(), sender);
}
Action::ExportToFile { path, format } => {
- handlers::export::export_to_file(self, path, format)
+ handlers::export::export_to_file(self, &path, format);
}
Action::New => {
@@ -687,18 +738,18 @@ impl SimpleComponent for AppModel {
}
}
Action::Open => {
- dialogs::show_open_dialog(&self.window, self.is_empty_document(), sender)
+ dialogs::show_open_dialog(&self.window, self.is_empty_document(), sender);
}
Action::Save { close_after } => handlers::file::save(self, close_after, &sender),
Action::SaveAs { close_after } => dialogs::show_save_dialog(
&self.window,
- self.current_file.clone(),
+ self.current_file.as_ref(),
close_after,
sender,
),
Action::LoadFile(path) => handlers::file::load_file(self, path),
Action::SaveToFile { path, close_after } => {
- handlers::file::save_to_file(self, path, close_after)
+ handlers::file::save_to_file(self, path, close_after);
}
Action::CloseWindow => handlers::file::close_window(self, &sender),
@@ -729,7 +780,7 @@ impl SimpleComponent for AppModel {
self.rebuild_stage_type_list();
self.rebuild_templates_menu();
self.update_image();
- file_registry::broadcast_to_all_windows(Action::ReloadPreferences);
+ file_registry::broadcast_to_all_windows(&Action::ReloadPreferences);
}
Action::PreferencesWindowClosed => {
self.preferences_window = None;
diff --git a/src/preferences/models.rs b/src/preferences/models.rs
index dee84e6..81fa4d1 100644
--- a/src/preferences/models.rs
+++ b/src/preferences/models.rs
@@ -17,7 +17,7 @@
use serde::{Deserialize, Serialize};
use uuid::Uuid;
-/// Stage labels for custom stages (matches Swift Stage struct)
+/// Stage labels for custom stages
#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
pub struct Stage {
pub i: String,
@@ -26,7 +26,7 @@ pub struct Stage {
pub iv: String,
}
-/// Custom stage definition (matches Swift CustomStage)
+/// Custom stage definition
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct CustomStage {
@@ -73,7 +73,7 @@ impl CustomStage {
}
}
-/// Template for new maps (matches Swift Template)
+/// Template for new maps
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Template {
@@ -106,7 +106,7 @@ impl Template {
}
}
-/// JSON import/export format (matches Swift UserPreferencesJSON)
+/// JSON import/export format
/// All fields optional to support partial imports
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
@@ -136,6 +136,7 @@ pub struct UserPreferencesJson {
/// Main preferences struct stored in app
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "camelCase")]
+#[allow(clippy::struct_excessive_bools)] // These are independent boolean preferences, not a state machine
pub struct UserPreferences {
// Map preferences
pub show_map_background: bool,
@@ -218,10 +219,10 @@ impl UserPreferences {
self.use_custom_font = *v;
}
if let Some(ref v) = json.custom_font_name {
- self.custom_font_name = v.clone();
+ self.custom_font_name.clone_from(v);
}
if let Some(ref v) = json.default_export_format {
- self.default_export_format = v.clone();
+ self.default_export_format.clone_from(v);
}
if let Some(v) = json.use_smart_label_positioning {
self.use_smart_label_positioning = v;
@@ -230,7 +231,7 @@ impl UserPreferences {
self.use_custom_editor_font = *v;
}
if let Some(ref v) = json.custom_editor_font_name {
- self.custom_editor_font_name = v.clone();
+ self.custom_editor_font_name.clone_from(v);
}
if let Some(v) = json.editor_font_size {
self.editor_font_size = v;
@@ -239,13 +240,13 @@ impl UserPreferences {
self.soft_wrap_lines = v;
}
if let Some(ref v) = json.map_templates {
- self.map_templates = v.clone();
+ self.map_templates.clone_from(v);
}
if let Some(ref v) = json.custom_stages {
- self.custom_stages = v.clone();
+ self.custom_stages.clone_from(v);
}
if let Some(ref v) = json.view_style {
- self.view_style = v.clone();
+ self.view_style.clone_from(v);
}
if let Some(v) = json.zoom {
self.zoom = v;
diff --git a/src/preferences/pages/editor.rs b/src/preferences/pages/editor.rs
index d4acb94..336a488 100644
--- a/src/preferences/pages/editor.rs
+++ b/src/preferences/pages/editor.rs
@@ -33,7 +33,7 @@ pub struct EditorPage {
}
impl EditorPage {
- pub fn new(preferences: &UserPreferences, sender: Sender<PreferencesInput>) -> Self {
+ pub fn new(preferences: &UserPreferences, sender: &Sender<PreferencesInput>) -> Self {
let container = gtk::Box::new(gtk::Orientation::Vertical, 20);
container.set_margin_top(20);
container.set_margin_bottom(20);
@@ -57,7 +57,9 @@ impl EditorPage {
});
}
font_size_box.append(&font_size_spin);
- font_size_box.append(&gtk::Label::new(Some(&tr!("preferences.editor.font_size.unit"))));
+ font_size_box.append(&gtk::Label::new(Some(&tr!(
+ "preferences.editor.font_size.unit"
+ ))));
container.append(&font_size_box);
// Editor Style section
@@ -68,7 +70,10 @@ impl EditorPage {
container.append(&style_label);
// Soft Wrap Lines
- let soft_wrap_row = create_switch_row(&tr!("preferences.editor.editor_style.soft_wrap_lines"), preferences.soft_wrap_lines);
+ let soft_wrap_row = create_switch_row(
+ &tr!("preferences.editor.editor_style.soft_wrap_lines"),
+ preferences.soft_wrap_lines,
+ );
let soft_wrap_switch = soft_wrap_row.1.clone();
{
let sender = sender.clone();
@@ -80,8 +85,10 @@ impl EditorPage {
container.append(&soft_wrap_row.0);
// Use Custom Font
- let custom_font_row =
- create_switch_row(&tr!("preferences.editor.editor_style.use_custom_font"), preferences.use_custom_editor_font);
+ let custom_font_row = create_switch_row(
+ &tr!("preferences.editor.editor_style.use_custom_font"),
+ preferences.use_custom_editor_font,
+ );
let custom_font_switch = custom_font_row.1.clone();
container.append(&custom_font_row.0);
@@ -90,6 +97,8 @@ impl EditorPage {
font_row.append(&gtk::Label::new(Some(&tr!("preferences.editor.font"))));
let font_button = gtk::FontButton::new();
+
+ #[allow(clippy::cast_possible_truncation)]
font_button.set_font(&format!(
"{} {}",
preferences.custom_editor_font_name, preferences.editor_font_size as i32
@@ -140,15 +149,16 @@ impl EditorPage {
pub fn sync_from(&self, preferences: &UserPreferences) {
self.font_size_spin.set_value(preferences.editor_font_size);
- self.soft_wrap_switch.set_active(preferences.soft_wrap_lines);
+ self.soft_wrap_switch
+ .set_active(preferences.soft_wrap_lines);
self.custom_font_switch
.set_active(preferences.use_custom_editor_font);
self.font_button
.set_sensitive(preferences.use_custom_editor_font);
+ #[allow(clippy::cast_possible_truncation)] // Font size is always a small positive number
self.font_button.set_font(&format!(
"{} {}",
preferences.custom_editor_font_name, preferences.editor_font_size as i32
));
}
}
-
diff --git a/src/preferences/pages/general.rs b/src/preferences/pages/general.rs
index d70e9e6..ad15c82 100644
--- a/src/preferences/pages/general.rs
+++ b/src/preferences/pages/general.rs
@@ -28,7 +28,7 @@ pub struct GeneralPage {
}
impl GeneralPage {
- pub fn new(sender: Sender<PreferencesInput>) -> Self {
+ pub fn new(sender: &Sender<PreferencesInput>) -> Self {
let container = gtk::Box::new(gtk::Orientation::Vertical, 20);
container.set_margin_top(20);
container.set_margin_bottom(20);
diff --git a/src/preferences/pages/map.rs b/src/preferences/pages/map.rs
index 5ffd04a..4355c6f 100644
--- a/src/preferences/pages/map.rs
+++ b/src/preferences/pages/map.rs
@@ -34,7 +34,7 @@ pub struct MapPage {
}
impl MapPage {
- pub fn new(preferences: &UserPreferences, sender: Sender<PreferencesInput>) -> Self {
+ pub fn new(preferences: &UserPreferences, sender: &Sender<PreferencesInput>) -> Self {
let container = gtk::Box::new(gtk::Orientation::Vertical, 20);
container.set_margin_top(20);
container.set_margin_bottom(20);
@@ -42,15 +42,36 @@ impl MapPage {
container.set_margin_end(20);
container.set_valign(gtk::Align::Start);
- // Map Style section
+ let (show_background_switch, smart_positioning_switch, custom_font_switch, font_button) =
+ Self::init_style_section(&container, preferences, sender);
+
+ let export_format_dropdown = Self::init_export_section(&container, preferences, sender);
+
+ Self {
+ container,
+ show_background_switch,
+ smart_positioning_switch,
+ custom_font_switch,
+ font_button,
+ export_format_dropdown,
+ }
+ }
+
+ fn init_style_section(
+ container: &gtk::Box,
+ preferences: &UserPreferences,
+ sender: &Sender<PreferencesInput>,
+ ) -> (gtk::Switch, gtk::Switch, gtk::Switch, gtk::FontButton) {
let style_label = gtk::Label::new(Some(&tr!("preferences.map.map_style.title")));
style_label.add_css_class("heading");
style_label.set_halign(gtk::Align::Start);
container.append(&style_label);
// Show Background
- let background_row =
- create_switch_row(&tr!("preferences.map.map_style.show_background"), preferences.show_map_background);
+ let background_row = create_switch_row(
+ &tr!("preferences.map.map_style.show_background"),
+ preferences.show_map_background,
+ );
let show_background_switch = background_row.1.clone();
{
let sender = sender.clone();
@@ -77,7 +98,10 @@ impl MapPage {
container.append(&smart_row.0);
// Use Custom Font
- let custom_font_row = create_switch_row(&tr!("preferences.map.map_style.use_custom_font"), preferences.use_custom_font);
+ let custom_font_row = create_switch_row(
+ &tr!("preferences.map.map_style.use_custom_font"),
+ preferences.use_custom_font,
+ );
let custom_font_switch = custom_font_row.1.clone();
container.append(&custom_font_row.0);
@@ -115,7 +139,19 @@ impl MapPage {
});
}
- // Export section
+ (
+ show_background_switch,
+ smart_positioning_switch,
+ custom_font_switch,
+ font_button,
+ )
+ }
+
+ fn init_export_section(
+ container: &gtk::Box,
+ preferences: &UserPreferences,
+ sender: &Sender<PreferencesInput>,
+ ) -> gtk::DropDown {
let export_label = gtk::Label::new(Some(&tr!("preferences.map.export.title")));
export_label.add_css_class("heading");
export_label.set_halign(gtk::Align::Start);
@@ -123,9 +159,12 @@ impl MapPage {
container.append(&export_label);
let export_row = gtk::Box::new(gtk::Orientation::Horizontal, 10);
- export_row.append(&gtk::Label::new(Some(&tr!("preferences.map.export.default_format"))));
+ export_row.append(&gtk::Label::new(Some(&tr!(
+ "preferences.map.export.default_format"
+ ))));
- let formats = gtk::StringList::new(&[&tr!("export_formats.png"), &tr!("export_formats.svg")]);
+ let formats =
+ gtk::StringList::new(&[&tr!("export_formats.png"), &tr!("export_formats.svg")]);
let export_format_dropdown = gtk::DropDown::new(Some(formats), None::<gtk::Expression>);
let selected = match preferences.default_export_format.as_str() {
"svg" => 1,
@@ -145,14 +184,7 @@ impl MapPage {
export_row.append(&export_format_dropdown);
container.append(&export_row);
- Self {
- container,
- show_background_switch,
- smart_positioning_switch,
- custom_font_switch,
- font_button,
- export_format_dropdown,
- }
+ export_format_dropdown
}
pub fn widget(&self) -> gtk::Box {
@@ -176,4 +208,3 @@ impl MapPage {
self.export_format_dropdown.set_selected(selected);
}
}
-
diff --git a/src/preferences/pages/stages.rs b/src/preferences/pages/stages.rs
index 9f0685d..4bd24e1 100644
--- a/src/preferences/pages/stages.rs
+++ b/src/preferences/pages/stages.rs
@@ -60,25 +60,25 @@ impl StagesPage {
name_header.set_xalign(0.0);
header_row.append(&name_header);
- let i_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_i")));
- i_header.set_width_chars(12);
- i_header.set_xalign(0.0);
- header_row.append(&i_header);
+ let first_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_i")));
+ first_header.set_width_chars(12);
+ first_header.set_xalign(0.0);
+ header_row.append(&first_header);
- let ii_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_ii")));
- ii_header.set_width_chars(12);
- ii_header.set_xalign(0.0);
- header_row.append(&ii_header);
+ let second_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_ii")));
+ second_header.set_width_chars(12);
+ second_header.set_xalign(0.0);
+ header_row.append(&second_header);
- let iii_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_iii")));
- iii_header.set_width_chars(12);
- iii_header.set_xalign(0.0);
- header_row.append(&iii_header);
+ let third_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_iii")));
+ third_header.set_width_chars(12);
+ third_header.set_xalign(0.0);
+ header_row.append(&third_header);
- let iv_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_iv")));
- iv_header.set_width_chars(12);
- iv_header.set_xalign(0.0);
- header_row.append(&iv_header);
+ let fourth_header = gtk::Label::new(Some(&tr!("preferences.stages.column.stage_iv")));
+ fourth_header.set_width_chars(12);
+ fourth_header.set_xalign(0.0);
+ header_row.append(&fourth_header);
// Spacer for delete button column
let spacer = gtk::Box::new(gtk::Orientation::Horizontal, 0);
@@ -172,12 +172,12 @@ impl StagesPage {
hbox.append(&name_entry);
// Stage I entry
- let i_entry = gtk::Entry::new();
- i_entry.set_text(&stage.i);
- i_entry.set_width_chars(12);
+ let first_entry = gtk::Entry::new();
+ first_entry.set_text(&stage.i);
+ first_entry.set_width_chars(12);
{
let sender = self.sender.clone();
- i_entry.connect_changed(move |entry| {
+ first_entry.connect_changed(move |entry| {
sender.emit(PreferencesInput::SetCustomStageLabel(
id,
StageLabel::I,
@@ -185,15 +185,15 @@ impl StagesPage {
));
});
}
- hbox.append(&i_entry);
+ hbox.append(&first_entry);
// Stage II entry
- let ii_entry = gtk::Entry::new();
- ii_entry.set_text(&stage.ii);
- ii_entry.set_width_chars(12);
+ let second_entry = gtk::Entry::new();
+ second_entry.set_text(&stage.ii);
+ second_entry.set_width_chars(12);
{
let sender = self.sender.clone();
- ii_entry.connect_changed(move |entry| {
+ second_entry.connect_changed(move |entry| {
sender.emit(PreferencesInput::SetCustomStageLabel(
id,
StageLabel::Ii,
@@ -201,15 +201,15 @@ impl StagesPage {
));
});
}
- hbox.append(&ii_entry);
+ hbox.append(&second_entry);
// Stage III entry
- let iii_entry = gtk::Entry::new();
- iii_entry.set_text(&stage.iii);
- iii_entry.set_width_chars(12);
+ let third_entry = gtk::Entry::new();
+ third_entry.set_text(&stage.iii);
+ third_entry.set_width_chars(12);
{
let sender = self.sender.clone();
- iii_entry.connect_changed(move |entry| {
+ third_entry.connect_changed(move |entry| {
sender.emit(PreferencesInput::SetCustomStageLabel(
id,
StageLabel::Iii,
@@ -217,15 +217,15 @@ impl StagesPage {
));
});
}
- hbox.append(&iii_entry);
+ hbox.append(&third_entry);
// Stage IV entry
- let iv_entry = gtk::Entry::new();
- iv_entry.set_text(&stage.iv);
- iv_entry.set_width_chars(12);
+ let fourth_entry = gtk::Entry::new();
+ fourth_entry.set_text(&stage.iv);
+ fourth_entry.set_width_chars(12);
{
let sender = self.sender.clone();
- iv_entry.connect_changed(move |entry| {
+ fourth_entry.connect_changed(move |entry| {
sender.emit(PreferencesInput::SetCustomStageLabel(
id,
StageLabel::Iv,
@@ -233,7 +233,7 @@ impl StagesPage {
));
});
}
- hbox.append(&iv_entry);
+ hbox.append(&fourth_entry);
// Delete button
let delete_button = gtk::Button::from_icon_name("list-remove-symbolic");
diff --git a/src/preferences/pages/templates.rs b/src/preferences/pages/templates.rs
index acc679f..1760085 100644
--- a/src/preferences/pages/templates.rs
+++ b/src/preferences/pages/templates.rs
@@ -78,9 +78,9 @@ impl TemplatesPage {
{
let sender = sender.clone();
add_button.connect_clicked(move |_| {
- sender.emit(PreferencesInput::AddTemplate(
- tr!("dialog.template.default_label"),
- ));
+ sender.emit(PreferencesInput::AddTemplate(tr!(
+ "dialog.template.default_label"
+ )));
});
}
button_box.append(&add_button);
@@ -226,7 +226,7 @@ impl TemplatesPage {
self.list_box.connect_row_selected(move |_, row| {
if let Some(row) = row {
- let index = row.index() as usize;
+ let index: usize = row.index().try_into().unwrap_or(0);
if let Some(template) = templates.get(index) {
*selected_id.borrow_mut() = Some(template.id);
editor_buffer.set_text(&template.content);
@@ -251,7 +251,8 @@ impl TemplatesPage {
default_button.set_tooltip_text(Some(&tr!("preferences.templates.help.default")));
} else {
default_button.set_icon_name("radio-symbolic");
- default_button.set_tooltip_text(Some(&tr!("preferences.templates.help.set_as_default")));
+ default_button
+ .set_tooltip_text(Some(&tr!("preferences.templates.help.set_as_default")));
}
default_button.add_css_class("flat");
{
@@ -271,7 +272,10 @@ impl TemplatesPage {
let sender = self.sender.clone();
let id = template.id;
name_entry.connect_changed(move |entry| {
- sender.emit(PreferencesInput::SetTemplateName(id, entry.text().to_string()));
+ sender.emit(PreferencesInput::SetTemplateName(
+ id,
+ entry.text().to_string(),
+ ));
});
}
hbox.append(&name_entry);
diff --git a/src/preferences/window.rs b/src/preferences/window.rs
index 2118056..0997716 100644
--- a/src/preferences/window.rs
+++ b/src/preferences/window.rs
@@ -143,9 +143,9 @@ impl SimpleComponent for PreferencesWindow {
root: Self::Root,
sender: ComponentSender<Self>,
) -> ComponentParts<Self> {
- let general_page = general::GeneralPage::new(sender.input_sender().clone());
- let editor_page = editor::EditorPage::new(&preferences, sender.input_sender().clone());
- let map_page = map::MapPage::new(&preferences, sender.input_sender().clone());
+ let general_page = general::GeneralPage::new(&sender.input_sender().clone());
+ let editor_page = editor::EditorPage::new(&preferences, &sender.input_sender().clone());
+ let map_page = map::MapPage::new(&preferences, &sender.input_sender().clone());
let stages_page = stages::StagesPage::new(&preferences, sender.input_sender().clone());
let templates_page =
templates::TemplatesPage::new(&preferences, sender.input_sender().clone());
@@ -167,7 +167,6 @@ impl SimpleComponent for PreferencesWindow {
fn update(&mut self, message: Self::Input, sender: ComponentSender<Self>) {
match message {
- // General page actions
PreferencesInput::Export => {
general::show_export_dialog(sender.input_sender(), &self.window);
}
@@ -188,8 +187,6 @@ impl SimpleComponent for PreferencesWindow {
self.sync_ui_from_preferences();
self.save_and_notify(&sender);
}
-
- // Map preferences
PreferencesInput::SetShowMapBackground(v) => {
self.preferences.show_map_background = v;
self.save_and_notify(&sender);
@@ -210,8 +207,6 @@ impl SimpleComponent for PreferencesWindow {
self.preferences.use_smart_label_positioning = v;
self.save_and_notify(&sender);
}
-
- // Editor preferences
PreferencesInput::SetUseCustomEditorFont(v) => {
self.preferences.use_custom_editor_font = v;
self.save_and_notify(&sender);
@@ -228,88 +223,29 @@ impl SimpleComponent for PreferencesWindow {
self.preferences.soft_wrap_lines = v;
self.save_and_notify(&sender);
}
-
- // Templates
- PreferencesInput::AddTemplate(name) => {
- let template = super::models::Template::new(name, String::new(), false);
- self.preferences.map_templates.push(template);
- self.templates_page.refresh(&self.preferences);
- self.save_and_notify(&sender);
- }
- PreferencesInput::RemoveTemplate(id) => {
- self.preferences.map_templates.retain(|t| t.id != id);
- self.templates_page.refresh(&self.preferences);
- self.save_and_notify(&sender);
- }
+ PreferencesInput::AddTemplate(name) => self.handle_add_template(name, &sender),
+ PreferencesInput::RemoveTemplate(id) => self.handle_remove_template(id, &sender),
PreferencesInput::SetTemplateContent(id, content) => {
- if let Some(template) = self
- .preferences
- .map_templates
- .iter_mut()
- .find(|t| t.id == id)
- {
- template.content = content;
- self.save_and_notify(&sender);
- }
+ self.handle_set_template_content(id, content, &sender);
}
PreferencesInput::SetTemplateName(id, name) => {
- if let Some(template) = self
- .preferences
- .map_templates
- .iter_mut()
- .find(|t| t.id == id)
- {
- template.name = name;
- self.templates_page.refresh(&self.preferences);
- self.save_and_notify(&sender);
- }
+ self.handle_set_template_name(id, name, &sender);
}
PreferencesInput::SetDefaultTemplate(id) => {
self.preferences.set_default_template(id);
self.templates_page.refresh(&self.preferences);
self.save_and_notify(&sender);
}
-
- // Custom stages
- PreferencesInput::AddCustomStage => {
- let stage = super::models::CustomStage::placeholder_default();
- self.preferences.custom_stages.push(stage);
- self.stages_page.refresh(&self.preferences);
- self.save_and_notify(&sender);
- }
+ PreferencesInput::AddCustomStage => self.handle_add_custom_stage(&sender),
PreferencesInput::RemoveCustomStage(id) => {
- self.preferences.custom_stages.retain(|s| s.id != id);
- self.stages_page.refresh(&self.preferences);
- self.save_and_notify(&sender);
+ self.handle_remove_custom_stage(id, &sender);
}
PreferencesInput::SetCustomStageName(id, name) => {
- if let Some(stage) = self
- .preferences
- .custom_stages
- .iter_mut()
- .find(|s| s.id == id)
- {
- stage.name = name;
- self.save_and_notify(&sender);
- }
+ self.handle_set_custom_stage_name(id, name, &sender);
}
PreferencesInput::SetCustomStageLabel(id, label, value) => {
- if let Some(stage) = self
- .preferences
- .custom_stages
- .iter_mut()
- .find(|s| s.id == id)
- {
- match label {
- StageLabel::I => stage.stage.i = value,
- StageLabel::Ii => stage.stage.ii = value,
- StageLabel::Iii => stage.stage.iii = value,
- StageLabel::Iv => stage.stage.iv = value,
- }
- self.save_and_notify(&sender);
- }
+ self.handle_set_custom_stage_label(id, label, value, &sender);
}
-
PreferencesInput::Close => {
sender.output(PreferencesOutput::Closed).ok();
}
@@ -333,4 +269,105 @@ impl PreferencesWindow {
self.stages_page.refresh(&self.preferences);
self.templates_page.refresh(&self.preferences);
}
+
+ fn handle_add_template(&mut self, name: String, sender: &ComponentSender<Self>) {
+ let template = super::models::Template::new(name, String::new(), false);
+ self.preferences.map_templates.push(template);
+ self.templates_page.refresh(&self.preferences);
+ self.save_and_notify(sender);
+ }
+
+ fn handle_remove_template(&mut self, id: uuid::Uuid, sender: &ComponentSender<Self>) {
+ self.preferences.map_templates.retain(|t| t.id != id);
+ self.templates_page.refresh(&self.preferences);
+ self.save_and_notify(sender);
+ }
+
+ fn handle_set_template_content(
+ &mut self,
+ id: uuid::Uuid,
+ content: String,
+ sender: &ComponentSender<Self>,
+ ) {
+ if let Some(template) = self
+ .preferences
+ .map_templates
+ .iter_mut()
+ .find(|t| t.id == id)
+ {
+ template.content = content;
+ self.save_and_notify(sender);
+ }
+ }
+
+ fn handle_set_template_name(
+ &mut self,
+ id: uuid::Uuid,
+ name: String,
+ sender: &ComponentSender<Self>,
+ ) {
+ if let Some(template) = self
+ .preferences
+ .map_templates
+ .iter_mut()
+ .find(|t| t.id == id)
+ {
+ template.name = name;
+ self.templates_page.refresh(&self.preferences);
+ self.save_and_notify(sender);
+ }
+ }
+
+ fn handle_add_custom_stage(&mut self, sender: &ComponentSender<Self>) {
+ let stage = super::models::CustomStage::placeholder_default();
+ self.preferences.custom_stages.push(stage);
+ self.stages_page.refresh(&self.preferences);
+ self.save_and_notify(sender);
+ }
+
+ fn handle_remove_custom_stage(&mut self, id: uuid::Uuid, sender: &ComponentSender<Self>) {
+ self.preferences.custom_stages.retain(|s| s.id != id);
+ self.stages_page.refresh(&self.preferences);
+ self.save_and_notify(sender);
+ }
+
+ fn handle_set_custom_stage_name(
+ &mut self,
+ id: uuid::Uuid,
+ name: String,
+ sender: &ComponentSender<Self>,
+ ) {
+ if let Some(stage) = self
+ .preferences
+ .custom_stages
+ .iter_mut()
+ .find(|s| s.id == id)
+ {
+ stage.name = name;
+ self.save_and_notify(sender);
+ }
+ }
+
+ fn handle_set_custom_stage_label(
+ &mut self,
+ id: uuid::Uuid,
+ label: StageLabel,
+ value: String,
+ sender: &ComponentSender<Self>,
+ ) {
+ if let Some(stage) = self
+ .preferences
+ .custom_stages
+ .iter_mut()
+ .find(|s| s.id == id)
+ {
+ match label {
+ StageLabel::I => stage.stage.i = value,
+ StageLabel::Ii => stage.stage.ii = value,
+ StageLabel::Iii => stage.stage.iii = value,
+ StageLabel::Iv => stage.stage.iv = value,
+ }
+ self.save_and_notify(sender);
+ }
+ }
}
diff --git a/src/stages.rs b/src/stages.rs
index 8de8f89..3ab1f5a 100644
--- a/src/stages.rs
+++ b/src/stages.rs
@@ -14,8 +14,8 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-use wmap_renderer::StageType;
use crate::tr;
+use wmap_renderer::StageType;
/// All available stage types for rendering Wardley Maps.
/// Order determines dropdown menu order.
@@ -77,7 +77,13 @@ impl LocalizedStageType for StageType {
StageType::Behavior => tr!("stages.behavior.name"),
StageType::Cynefin => tr!("stages.cynefin.name"),
StageType::EvolutionStage => tr!("stages.evolution_stage.name"),
- StageType::Custom{name, i: _, ii: _, iii: _, iv: _} => name.to_string()
+ StageType::Custom {
+ name,
+ i: _,
+ ii: _,
+ iii: _,
+ iv: _,
+ } => name.clone(),
}
}
fn localized_i(&self) -> String {
@@ -104,7 +110,13 @@ impl LocalizedStageType for StageType {
StageType::Behavior => tr!("stages.behavior.i"),
StageType::Cynefin => tr!("stages.cynefin.i"),
StageType::EvolutionStage => tr!("stages.evolution_stage.i"),
- StageType::Custom{name: _, i, ii: _, iii: _, iv: _} => i.to_string()
+ StageType::Custom {
+ name: _,
+ i,
+ ii: _,
+ iii: _,
+ iv: _,
+ } => i.clone(),
}
}
fn localized_ii(&self) -> String {
@@ -131,7 +143,13 @@ impl LocalizedStageType for StageType {
StageType::Behavior => tr!("stages.behavior.ii"),
StageType::Cynefin => tr!("stages.cynefin.ii"),
StageType::EvolutionStage => tr!("stages.evolution_stage.ii"),
- StageType::Custom{name: _, i: _, ii, iii: _, iv: _} => ii.to_string()
+ StageType::Custom {
+ name: _,
+ i: _,
+ ii,
+ iii: _,
+ iv: _,
+ } => ii.clone(),
}
}
fn localized_iii(&self) -> String {
@@ -158,7 +176,13 @@ impl LocalizedStageType for StageType {
StageType::Behavior => tr!("stages.behavior.iii"),
StageType::Cynefin => tr!("stages.cynefin.iii"),
StageType::EvolutionStage => tr!("stages.evolution_stage.iii"),
- StageType::Custom{name: _, i: _, ii: _, iii, iv: _} => iii.to_string()
+ StageType::Custom {
+ name: _,
+ i: _,
+ ii: _,
+ iii,
+ iv: _,
+ } => iii.clone(),
}
}
fn localized_iv(&self) -> String {
@@ -185,17 +209,23 @@ impl LocalizedStageType for StageType {
StageType::Behavior => tr!("stages.behavior.iv"),
StageType::Cynefin => tr!("stages.cynefin.iv"),
StageType::EvolutionStage => tr!("stages.evolution_stage.iv"),
- StageType::Custom{name: _, i: _, ii: _, iii: _, iv} => iv.to_string()
+ StageType::Custom {
+ name: _,
+ i: _,
+ ii: _,
+ iii: _,
+ iv,
+ } => iv.clone(),
}
}
fn to_localized(&self) -> StageType {
- StageType::Custom{
+ StageType::Custom {
name: self.localized_name(),
i: self.localized_i(),
ii: self.localized_ii(),
iii: self.localized_iii(),
- iv: self.localized_iv()
+ iv: self.localized_iv(),
}
}
}