From 80865ace7de5b200d1978a4e4e25c7126fbf01fb Mon Sep 17 00:00:00 2001 From: Amanda Graven Date: Thu, 11 Dec 2025 20:34:58 +0100 Subject: [PATCH] Fix bugs, add number buttons, add easter egg --- Cargo.lock | 3314 ++++++++++++++++++++++++++++----------------- Cargo.toml | 4 +- assets/daniel.png | Bin 0 -> 80000 bytes assets/main.css | 54 +- assets/snow.css | 14 + src/main.rs | 59 +- 6 files changed, 2184 insertions(+), 1261 deletions(-) create mode 100644 assets/daniel.png diff --git a/Cargo.lock b/Cargo.lock index b39f8cb..e0c2b0d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - [[package]] name = "adler2" version = "2.0.0" @@ -27,27 +18,37 @@ dependencies = [ ] [[package]] -name = "ashpd" -version = "0.8.1" +name = "anyhow" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "ashpd" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cbdf310d77fd3aaee6ea2093db7011dc2d35d2eb3481e5607f1f8d942ed99df" dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.8.5", + "rand 0.9.2", + "raw-window-handle 0.6.2", "serde", "serde_repr", "tokio", "url", + "wayland-backend", + "wayland-client", + "wayland-protocols", "zbus", ] [[package]] name = "async-broadcast" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ "event-listener", "event-listener-strategy", @@ -55,67 +56,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-channel" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-io" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" -dependencies = [ - "async-lock", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-process" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "rustix", - "tracing", -] - [[package]] name = "async-recursion" version = "1.1.1" @@ -124,42 +64,56 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] -name = "async-signal" -version = "0.2.10" +name = "async-stream" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", + "async-stream-impl", "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.59.0", + "pin-project-lite", ] [[package]] -name = "async-task" -version = "4.7.1" +name = "async-stream-impl" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - -[[package]] -name = "async-trait" -version = "0.1.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", +] + +[[package]] +name = "async-trait" +version = "0.1.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "async-tungstenite" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee88b4c88ac8c9ea446ad43498955750a4bbe64c4392f21ccfe5d952865e318f" +dependencies = [ + "atomic-waker", + "futures-core", + "futures-io", + "futures-task", + "futures-util", + "log", + "pin-project-lite", + "tungstenite", ] [[package]] @@ -198,18 +152,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] -name = "backtrace" -version = "0.3.74" +name = "axum" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", + "axum-core", + "bytes", + "form_urlencoded", + "futures-util", + "http", + "http-body", + "http-body-util", + "itoa", + "matchit", + "memchr", + "mime", + "multer", + "percent-encoding", + "pin-project-lite", + "serde_core", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", ] [[package]] @@ -226,9 +213,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ "serde", ] @@ -250,31 +237,18 @@ dependencies = [ [[package]] name = "block2" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +checksum = "340d2f0bdb2a43c1d3cd40513185b2bd7def0aa1052f956455114bc98f82dcf2" dependencies = [ "objc2", ] -[[package]] -name = "blocking" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byteorder" @@ -284,9 +258,12 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +dependencies = [ + "serde", +] [[package]] name = "cairo-rs" @@ -294,12 +271,12 @@ version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "cairo-sys-rs", "glib", "libc", "once_cell", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -315,9 +292,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.4" +version = "1.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" +checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" dependencies = [ "shlex", ] @@ -355,6 +332,22 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "charset" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f927b07c74ba84c7e5fe4db2baeb3e996ab2688992e39ac68ce3220a677c7e" +dependencies = [ + "base64", + "encoding_rs", +] + [[package]] name = "ciborium" version = "0.2.2" @@ -384,61 +377,30 @@ dependencies = [ [[package]] name = "cocoa" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +checksum = "ad36507aeb7e16159dfe68db81ccc27571c3ccd4b76fb2fb72fc59e7a4b1b64c" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "block", - "cocoa-foundation 0.1.2", - "core-foundation 0.9.4", - "core-graphics 0.23.2", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" -dependencies = [ - "bitflags 2.6.0", - "block", - "cocoa-foundation 0.2.0", - "core-foundation 0.10.0", - "core-graphics 0.24.0", - "foreign-types", + "cocoa-foundation", + "core-foundation 0.10.1", + "core-graphics", + "foreign-types 0.5.0", "libc", "objc", ] [[package]] name = "cocoa-foundation" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +checksum = "81411967c50ee9a1fc11365f8c585f863a22a9697c89239c452292c40ba79b0d" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "block", - "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d" -dependencies = [ - "bitflags 2.6.0", - "block", - "core-foundation 0.10.0", - "core-graphics-types 0.2.0", - "libc", + "core-foundation 0.10.1", + "core-graphics-types", "objc", ] @@ -461,21 +423,11 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - [[package]] name = "const-serialize" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d08edfb80c2a97c985743a0a3ca8f9fa330354681e2fe4f1c6027ee1222b34dc" +checksum = "ad7154afa56de2f290e3c82c2c6dc4f5b282b6870903f56ef3509aba95866edc" dependencies = [ "const-serialize-macro", "serde", @@ -483,15 +435,21 @@ dependencies = [ [[package]] name = "const-serialize-macro" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cc9be2fb280bda7c4c2d8dda905f38ec64ec85436fd11a42dc67fdbd2f7bf4c" +checksum = "4f160aad86b4343e8d4e261fee9965c3005b2fd6bc117d172ab65948779e4acf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] +[[package]] +name = "const-str" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4d34b8f066904ed7cfa4a6f9ee96c3214aa998cb44b69ca20bd2054f47402ed" + [[package]] name = "const_format" version = "0.2.34" @@ -512,6 +470,15 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "content_disposition" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc14a88e1463ddd193906285abe5c360c7e8564e05ccc5d501755f7fbc9ca9c" +dependencies = [ + "charset", +] + [[package]] name = "convert_case" version = "0.4.0" @@ -520,13 +487,42 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "convert_case" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f" dependencies = [ "unicode-segmentation", ] +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" +dependencies = [ + "cookie", + "document-features", + "idna", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -539,9 +535,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -553,40 +549,16 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "core-graphics" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "foreign-types", - "libc", -] - [[package]] name = "core-graphics" version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ - "bitflags 2.6.0", - "core-foundation 0.10.0", - "core-graphics-types 0.2.0", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", + "bitflags 2.9.1", + "core-foundation 0.10.1", + "core-graphics-types", + "foreign-types 0.5.0", "libc", ] @@ -596,16 +568,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.6.0", - "core-foundation 0.10.0", + "bitflags 2.9.1", + "core-foundation 0.10.1", "libc", ] [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -621,24 +593,24 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -652,15 +624,15 @@ dependencies = [ [[package]] name = "cssparser" -version = "0.27.2" +version = "0.29.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" dependencies = [ "cssparser-macros", "dtoa-short", - "itoa 0.4.8", + "itoa", "matches", - "phf 0.8.0", + "phf 0.10.1", "proc-macro2", "quote", "smallvec", @@ -674,14 +646,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ "darling_core", "darling_macro", @@ -689,69 +661,75 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.90", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", + "syn 2.0.101", ] [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] -name = "derivative" -version = "2.2.0" +name = "deranged" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "powerfmt", ] [[package]] name = "derive_more" -version = "0.99.18" +version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version", - "syn 2.0.90", + "syn 2.0.101", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "unicode-xid", ] [[package]] @@ -766,12 +744,14 @@ dependencies = [ [[package]] name = "dioxus" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c89dda102f1ff3bbe54a8d3daa4cf5cae17595f54b6338e2c42593a994303a" +checksum = "3a115f9dbe5900c6044ee6a791e1b160c29989c6a8721eec099e01a964e5dae4" dependencies = [ + "dioxus-asset-resolver", "dioxus-cli-config", "dioxus-config-macro", + "dioxus-config-macros", "dioxus-core", "dioxus-core-macro", "dioxus-desktop", @@ -782,83 +762,113 @@ dependencies = [ "dioxus-hooks", "dioxus-html", "dioxus-logger", - "dioxus-mobile", "dioxus-signals", + "dioxus-stores", "dioxus-web", "manganis", + "subsecond", + "warnings", +] + +[[package]] +name = "dioxus-asset-resolver" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6851ae49ba3988f1b77f6ef826eb142e811602129841c24bf5a4e103708d9844" +dependencies = [ + "dioxus-cli-config", + "http", + "infer", + "jni", + "js-sys", + "ndk", + "ndk-context", + "ndk-sys", + "percent-encoding", + "thiserror 2.0.12", + "tokio", + "wasm-bindgen-futures", + "web-sys", ] [[package]] name = "dioxus-cli-config" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27a7caafe149ef8b1bb526ac7dfc6687a6b610a91a7fa8b9f9c2f64825538462" +checksum = "c59e9d9da2e7334fdae5d77e3989207aa549062f74ff1ca2171393bbdd7fda90" dependencies = [ "wasm-bindgen", ] [[package]] name = "dioxus-config-macro" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfcfe6920e96c7f3aeb946479d49b46d253683aa05495c1c291891861e5a7978" +checksum = "9bd56be5ea6c9f416b25e9e3adc910c02127be75b6d1ecd567661f31920b27ba" dependencies = [ "proc-macro2", "quote", ] [[package]] -name = "dioxus-core" -version = "0.6.0" +name = "dioxus-config-macros" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39093c4358bc8b6c80728f9cdc7e8854cdd8ecf8b932fa2864817f6df0103ff0" +checksum = "c49327465c2d434d00fb4c86bd35ae72155b479622e09352b950d9ab4807bf23" + +[[package]] +name = "dioxus-core" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7400cbd21a98e585a13f8c29574da9b8afb2fd343f712618042b6c71761f0933" dependencies = [ + "anyhow", "const_format", "dioxus-core-types", "futures-channel", "futures-util", "generational-box", "longest-increasing-subsequence", - "rustc-hash", + "rustc-hash 2.1.1", "rustversion", "serde", "slab", "slotmap", + "subsecond", "tracing", - "warnings", ] [[package]] name = "dioxus-core-macro" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cb17b8f2cea9a43b34f70412b7d77ca4c78f696546cfa717837d98c7be4117" +checksum = "e51c0eb7eb76dd5a0b9a116d94d29ca78924a1ed1fcb7ea072eda5045d3ac056" dependencies = [ - "convert_case 0.6.0", + "convert_case 0.8.0", "dioxus-rsx", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "dioxus-core-types" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6f64e5d70de1e1492bc845c1f99e3687195a6134598437be6186b768315aa0" -dependencies = [ - "once_cell", -] +checksum = "0652ab5f9c2c32261d44a3155debbfd909ed03d03434d7f70f5a796bf255c519" [[package]] name = "dioxus-desktop" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf5999ad0fe42a86a0bd34c0b02ddd1977f8d4ec273466232dfd9bf0481f3979" +checksum = "b24aa7e4aa87fce202c5e67d560cddd9ed67ad533f16b7d922916c04993766ff" dependencies = [ "async-trait", - "cocoa 0.25.0", - "core-foundation 0.9.4", + "base64", + "bytes", + "cocoa", + "core-foundation 0.10.1", + "dioxus-asset-resolver", "dioxus-cli-config", "dioxus-core", "dioxus-devtools", @@ -876,60 +886,66 @@ dependencies = [ "infer", "jni", "lazy-js-bundle", - "muda 0.11.5", + "libc", + "muda", "ndk", "ndk-context", "ndk-sys", "objc", "objc_id", - "once_cell", + "percent-encoding", + "rand 0.9.2", "rfd", - "rustc-hash", + "rustc-hash 2.1.1", "serde", "serde_json", "signal-hook", "slab", + "subtle", "tao", - "thiserror", + "thiserror 2.0.12", "tokio", "tracing", "tray-icon", - "urlencoding", + "tungstenite", "webbrowser", "wry", ] [[package]] name = "dioxus-devtools" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "961ce08b113c43b0797ef61fb63f358c7303581dd2bf77521a540f361f253911" +checksum = "9748128bcd102b10e58c765939807053ccab542206a939b8bab228077455c259" dependencies = [ + "dioxus-cli-config", "dioxus-core", "dioxus-devtools-types", "dioxus-signals", "serde", "serde_json", + "subsecond", + "thiserror 2.0.12", "tracing", "tungstenite", - "warnings", ] [[package]] name = "dioxus-devtools-types" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f6e0ad1964805c50eff72436be938f2c4b9cdc707d51b5548d4766ec2e2beb" +checksum = "48540ca8a0ab1ec81cd4db35f0c9713d43b158647fc1dcb0d79965fc3b41d96c" dependencies = [ "dioxus-core", "serde", + "subsecond-types", ] [[package]] name = "dioxus-document" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3543ab4217947ee27b86826d486e8e2889c6d271fb3ebe886b9c67081893951d" +checksum = "501a189b391d091c9aa02c05f5b25f5d0d17fa0e1016e000b0fdbb073d77cd6a" dependencies = [ "dioxus-core", "dioxus-core-macro", @@ -946,35 +962,108 @@ dependencies = [ [[package]] name = "dioxus-fullstack" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe83189fc0139a34a4cc195aa3eb917f5b6a3317bf3f4183d9e8f1e110a9bab" +checksum = "54150804265defdb21a6f2d8914a45316a1e7fb70ab22c30cf836e8fe2f8081b" dependencies = [ + "anyhow", + "async-stream", + "async-tungstenite", + "axum", + "axum-core", "base64", "bytes", "ciborium", - "dioxus-desktop", - "dioxus-devtools", + "const-str", + "const_format", + "content_disposition", + "derive_more 2.0.1", + "dioxus-asset-resolver", + "dioxus-cli-config", + "dioxus-core", + "dioxus-fullstack-core", + "dioxus-fullstack-macro", + "dioxus-hooks", + "dioxus-html", + "dioxus-signals", + "form_urlencoded", + "futures", + "futures-channel", + "futures-util", + "gloo-net", + "headers", + "http", + "http-body", + "http-body-util", + "js-sys", + "mime", + "pin-project", + "reqwest", + "rustversion", + "send_wrapper", + "serde", + "serde_json", + "serde_qs", + "serde_urlencoded", + "thiserror 2.0.12", + "tokio-util", + "tracing", + "tungstenite", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "xxhash-rust", +] + +[[package]] +name = "dioxus-fullstack-core" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a9be2ef4d701520eefef284d218fb35b159dccd6bccc02b5bad42945e2599d" +dependencies = [ + "anyhow", + "axum-core", + "base64", + "ciborium", + "dioxus-core", + "dioxus-document", "dioxus-history", - "dioxus-lib", - "dioxus-mobile", - "dioxus-web", - "dioxus_server_macro", + "dioxus-hooks", + "dioxus-signals", "futures-channel", "futures-util", "generational-box", - "once_cell", + "http", + "inventory", + "parking_lot", "serde", - "server_fn", + "serde_json", + "thiserror 2.0.12", + "tokio", "tracing", - "web-sys", +] + +[[package]] +name = "dioxus-fullstack-macro" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31ea4451fe8c9d2af24fb718a94966d5fd7e11325777e5b5a59085c5c85e5fb" +dependencies = [ + "const_format", + "convert_case 0.8.0", + "proc-macro2", + "quote", + "syn 2.0.101", + "xxhash-rust", ] [[package]] name = "dioxus-history" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718e5bb9dfbdaef69f34a631b503c059594ed4d990225576c127d95ff43850ee" +checksum = "55d704b3ba9504cb3c9cde49499b75546d1faaff2736f4c368aca6c061c48ac3" dependencies = [ "dioxus-core", "tracing", @@ -982,9 +1071,9 @@ dependencies = [ [[package]] name = "dioxus-hooks" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dc7127b10fd8e50cec15510674c7852cfa44069cc3771ccace8130a29714b2" +checksum = "79c6d68be372eca8186a1c57ec49be67a6ea46022150b5e85ab6a6acde52d272" dependencies = [ "dioxus-core", "dioxus-signals", @@ -994,16 +1083,16 @@ dependencies = [ "rustversion", "slab", "tracing", - "warnings", ] [[package]] name = "dioxus-html" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6464a7b8da0f7c63778ddb96c2a55c5e159c58aed07c582991654ba12356eb1" +checksum = "3aa87ecfa0f38ec286be25789a7f2d6c30778111f1fbff563da4bae41d171496" dependencies = [ "async-trait", + "bytes", "dioxus-core", "dioxus-core-macro", "dioxus-core-types", @@ -1012,6 +1101,7 @@ dependencies = [ "enumset", "euclid", "futures-channel", + "futures-util", "generational-box", "keyboard-types", "lazy-js-bundle", @@ -1024,28 +1114,28 @@ dependencies = [ [[package]] name = "dioxus-html-internal-macro" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d6921c8f0374c8d2fc9024db455f9e1a71ba1b723d80c60ea5d575aea3de163" +checksum = "49301d0e389378e8070b8b704110339a0d3358efad9f5ad483ffab3a8d406dae" dependencies = [ - "convert_case 0.6.0", + "convert_case 0.8.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "dioxus-interpreter-js" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d9d868af71da85d1c1014ca254afd8b6cf2201f660581d3510517adbde5571" +checksum = "f5437a89d3ef7edfebc0f10acb065f1709cb7ffb678e3a4bb1416706d71f7c67" dependencies = [ "dioxus-core", "dioxus-core-types", "dioxus-html", "js-sys", "lazy-js-bundle", - "rustc-hash", + "rustc-hash 2.1.1", "serde", "sledgehammer_bindgen", "sledgehammer_utils", @@ -1054,86 +1144,77 @@ dependencies = [ "web-sys", ] -[[package]] -name = "dioxus-lib" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500725dbb131d35567a0e79a650644aea6e9b317206927507b77798578190b55" -dependencies = [ - "dioxus-config-macro", - "dioxus-core", - "dioxus-core-macro", - "dioxus-document", - "dioxus-history", - "dioxus-hooks", - "dioxus-html", - "dioxus-rsx", - "dioxus-signals", -] - [[package]] name = "dioxus-logger" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c9db554355b5418ce754c9a98482862f6f71ea1d87f00ee027cd081ad282e6" +checksum = "2b25ebfbc193cebcf5af5e19b8ee7c6adee486fbd1c12f11aea058b464da16f9" dependencies = [ - "console_error_panic_hook", "dioxus-cli-config", "tracing", "tracing-subscriber", "tracing-wasm", ] -[[package]] -name = "dioxus-mobile" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f09755267c9fd577a5084904c71acab7f26fcbba558303d3d7839f0663d96b" -dependencies = [ - "dioxus-desktop", - "dioxus-lib", - "jni", - "libc", - "once_cell", -] - [[package]] name = "dioxus-rsx" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37fa830dd01a3b727fa145f5c10f45e0972434ee4d64270a3abb46da3dc78c4" +checksum = "19d97c02689beff55767ba5f6e185ffd204c6a193e372f0fead8a3722c6f7eea" dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.90", + "rustversion", + "syn 2.0.101", ] [[package]] name = "dioxus-signals" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a8e2ac4e906dd26b25f7a9a7c7146cc27e670c793d5c34ef2b64b55f0135cd6" +checksum = "27fc4df7a31a7f02e5a0b40884bb66ee165226a05d75fce03baa44029e438762" dependencies = [ "dioxus-core", "futures-channel", "futures-util", "generational-box", - "once_cell", "parking_lot", - "rustc-hash", + "rustc-hash 2.1.1", "tracing", "warnings", ] [[package]] -name = "dioxus-web" -version = "0.6.0" +name = "dioxus-stores" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57f6760fc88bd79c79eb2467b0661449dff5968320c3c6886c35c861ba05c695" +checksum = "e2dec3cd677078824a733de25ddbe8e987cfc8d98aec29b7d199e1fdb8452b96" +dependencies = [ + "dioxus-core", + "dioxus-signals", + "dioxus-stores-macro", + "generational-box", +] + +[[package]] +name = "dioxus-stores-macro" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9b7f085e374aaaa78403227b9bd83675c4078388d41a41b67dfbe4aa0bb64d5" +dependencies = [ + "convert_case 0.8.0", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "dioxus-web" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "315009f3a77c3c813415b3b8a8ea62a4d7a32dde9a666664b30862d4386e8456" dependencies = [ - "async-trait", - "ciborium", "dioxus-cli-config", "dioxus-core", "dioxus-core-types", @@ -1146,49 +1227,40 @@ dependencies = [ "futures-channel", "futures-util", "generational-box", + "gloo-timers", "js-sys", "lazy-js-bundle", - "rustc-hash", + "rustc-hash 2.1.1", + "send_wrapper", "serde", "serde-wasm-bindgen", "serde_json", "tracing", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams", "web-sys", ] -[[package]] -name = "dioxus_server_macro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d63d9edbc70dc06393f0e23efff095fe4025010437648a048fa6208e1a6cdb1" -dependencies = [ - "proc-macro2", - "quote", - "server_fn_macro", - "syn 2.0.90", -] - [[package]] name = "dirs" -version = "5.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ "dirs-sys", ] [[package]] name = "dirs-sys" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -1197,6 +1269,18 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.9.1", + "block2", + "libc", + "objc2", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -1205,14 +1289,23 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", +] + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading 0.8.9", ] [[package]] name = "dlopen2" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" +checksum = "b54f373ccf864bf587a89e880fb7610f8d73f3045f13580948ccbcaff26febff" dependencies = [ "dlopen2_derive", "libc", @@ -1222,26 +1315,41 @@ dependencies = [ [[package]] name = "dlopen2_derive" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" +checksum = "788160fb30de9cdd857af31c6a2675904b16ece8fc2737b2c7127ba368c9d0f4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] -name = "dpi" -version = "0.1.1" +name = "document-features" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "dtoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" +checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" [[package]] name = "dtoa-short" @@ -1258,6 +1366,15 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + [[package]] name = "endi" version = "1.1.0" @@ -1266,9 +1383,9 @@ checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" [[package]] name = "enumflags2" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147" dependencies = [ "enumflags2_derive", "serde", @@ -1276,47 +1393,47 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "enumset" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" +checksum = "11a6b7c3d347de0a9f7bfd2f853be43fe32fa6fac30c70f6d6d67a1e936b87ee" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" +checksum = "6da3ea9e1d1a3b1593e15781f930120e72aa7501610b2f82e5b6739c72e8eac5" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", "windows-sys 0.59.0", @@ -1334,9 +1451,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" dependencies = [ "concurrent-queue", "parking", @@ -1345,9 +1462,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener", "pin-project-lite", @@ -1380,9 +1497,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.35" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", "miniz_oxide", @@ -1394,6 +1511,15 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -1401,7 +1527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared", + "foreign-types-shared 0.3.1", ] [[package]] @@ -1412,9 +1538,15 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -1490,9 +1622,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand", "futures-core", @@ -1509,7 +1641,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -1623,20 +1755,6 @@ dependencies = [ "system-deps", ] -[[package]] -name = "gdkx11" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" -dependencies = [ - "gdk", - "gdkx11-sys", - "gio", - "glib", - "libc", - "x11", -] - [[package]] name = "gdkx11-sys" version = "0.18.2" @@ -1652,9 +1770,9 @@ dependencies = [ [[package]] name = "generational-box" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbef36525d55a549ea17c1a33ddbd0dcfd153029e640c9eef845b24ae053dbed" +checksum = "e658d10252a15200ca4a1c67c7180fc0baffa3f92869bbd903025daf6f70fd65" dependencies = [ "parking_lot", "tracing", @@ -1670,6 +1788,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "gethostname" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" +dependencies = [ + "rustix", + "windows-link 0.2.1", +] + [[package]] name = "getrandom" version = "0.1.16" @@ -1683,9 +1811,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", @@ -1695,10 +1823,18 @@ dependencies = [ ] [[package]] -name = "gimli" -version = "0.31.1" +name = "getrandom" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", +] [[package]] name = "gio" @@ -1716,7 +1852,7 @@ dependencies = [ "once_cell", "pin-project-lite", "smallvec", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1738,7 +1874,7 @@ version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "futures-channel", "futures-core", "futures-executor", @@ -1752,7 +1888,7 @@ dependencies = [ "memchr", "once_cell", "smallvec", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1766,7 +1902,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -1781,19 +1917,19 @@ dependencies = [ [[package]] name = "global-hotkey" -version = "0.5.5" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b436093d1598b05e3b7fddc097b2bad32763f53a1beb25ab6f9718c6a60acd09" +checksum = "b9247516746aa8e53411a0db9b62b0e24efbcf6a76e0ba73e5a91b512ddabed7" dependencies = [ - "bitflags 2.6.0", - "cocoa 0.25.0", "crossbeam-channel", "keyboard-types", - "objc", + "objc2", + "objc2-app-kit", "once_cell", - "thiserror", - "windows-sys 0.52.0", - "x11-dl", + "thiserror 2.0.12", + "windows-sys 0.59.0", + "x11rb", + "xkeysym", ] [[package]] @@ -1811,12 +1947,24 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", ] +[[package]] +name = "gloo-timers" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + [[package]] name = "gloo-utils" version = "0.2.0" @@ -1890,14 +2038,14 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "half" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", @@ -1905,21 +2053,33 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" [[package]] -name = "hashbrown" -version = "0.14.5" +name = "headers" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" +dependencies = [ + "base64", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] [[package]] -name = "hashbrown" -version = "0.15.2" +name = "headers-core" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" +dependencies = [ + "http", +] [[package]] name = "heck" @@ -1933,50 +2093,33 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "html5ever" -version = "0.26.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" dependencies = [ "log", "mac", "markup5ever", - "proc-macro2", - "quote", - "syn 1.0.109", + "match_token", ] [[package]] name = "http" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", - "itoa 1.0.14", + "itoa", ] [[package]] @@ -1991,12 +2134,12 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", + "futures-core", "http", "http-body", "pin-project-lite", @@ -2004,15 +2147,21 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -2020,7 +2169,7 @@ dependencies = [ "http", "http-body", "httparse", - "itoa 1.0.14", + "itoa", "pin-project-lite", "smallvec", "tokio", @@ -2028,19 +2177,41 @@ dependencies = [ ] [[package]] -name = "hyper-util" -version = "0.1.10" +name = "hyper-rustls" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c293b6b3d21eca78250dc7dbebd6b9210ec5530e038cbfe0661b5c47ab06e8" +dependencies = [ + "base64", "bytes", "futures-channel", + "futures-core", "futures-util", "http", "http-body", "hyper", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -2048,21 +2219,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -2071,31 +2243,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -2103,67 +2255,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.90", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -2183,9 +2322,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -2193,59 +2332,53 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.3" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown", ] [[package]] name = "infer" -version = "0.11.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6c16b11a665b26aeeb9b1d7f954cdeb034be38dd00adab4f2ae921a8fee804" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" dependencies = [ "cfb", ] [[package]] -name = "instant" -version = "0.1.13" +name = "inventory" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" dependencies = [ - "cfg-if", + "rustversion", ] [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" +dependencies = [ + "memchr", + "serde", +] [[package]] name = "itoa" -version = "0.4.8" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "javascriptcore-rs" @@ -2281,7 +2414,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ -2294,9 +2427,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" dependencies = [ "once_cell", "wasm-bindgen", @@ -2308,29 +2441,28 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "serde", "unicode-segmentation", ] [[package]] name = "kuchikiki" -version = "0.8.2" +version = "0.8.8-speedreader" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" +checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" dependencies = [ "cssparser", "html5ever", - "indexmap 1.9.3", - "matches", + "indexmap", "selectors", ] [[package]] name = "lazy-js-bundle" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703fcd40f2de720718e8b45a68bab510a4a8ee22484f75d0874b202f1eed5aa8" +checksum = "21972afec4627b7ba0de60b5269585b5ac2f56d559b0696f57eee6daf8a51b68" [[package]] name = "lazy_static" @@ -2358,15 +2490,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", - "libloading", + "libloading 0.7.4", "once_cell", ] [[package]] name = "libc" -version = "0.2.168" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" @@ -2378,13 +2510,23 @@ dependencies = [ "winapi", ] +[[package]] +name = "libloading" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +dependencies = [ + "cfg-if", + "windows-link 0.2.1", +] + [[package]] name = "libredox" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "libc", ] @@ -2409,31 +2551,36 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "longest-increasing-subsequence" @@ -2441,12 +2588,29 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86" +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "mac" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -2458,9 +2622,9 @@ dependencies = [ [[package]] name = "manganis" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287c60ae66fb8a089e4c2c256079dd76e4f9cb147d352b3278ca352e8ed0bf02" +checksum = "97c63ae68d25457a579b7714806088c5cb44c536cf624a53a17184878f9f0bcd" dependencies = [ "const-serialize", "manganis-core", @@ -2469,9 +2633,9 @@ dependencies = [ [[package]] name = "manganis-core" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7b349d520edba475a760112e6105c55125d8ab1e94147b219fb2f2e3303fad9" +checksum = "88d071660b149f985cbab8b23f2004ea6dd5cf947b63a0843f0e2f46e6af7229" dependencies = [ "const-serialize", "dioxus-cli-config", @@ -2481,42 +2645,88 @@ dependencies = [ [[package]] name = "manganis-macro" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7024fc969bf2f2fd874bcd0a5d6ae8f85a2853ba86773a024a744b32f716426" +checksum = "9793d1d33778245b4240c330a8f575d208ce077c7e7bab1c79064252ddd4a162" dependencies = [ + "dunce", + "macro-string", "manganis-core", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "markup5ever" -version = "0.11.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" dependencies = [ "log", - "phf 0.10.1", - "phf_codegen 0.10.0", + "phf 0.11.3", + "phf_codegen 0.11.3", "string_cache", "string_cache_codegen", "tendril", ] +[[package]] +name = "match_token" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matches" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + [[package]] name = "memchr" version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "memfd" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227" +dependencies = [ + "rustix", +] + +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.9.1" @@ -2544,9 +2754,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", "simd-adler32", @@ -2554,38 +2764,20 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "muda" -version = "0.11.5" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c47e7625990fc1af2226ea4f34fb2412b03c12639fcb91868581eb3a6893453" -dependencies = [ - "cocoa 0.25.0", - "crossbeam-channel", - "gtk", - "keyboard-types", - "libxdo", - "objc", - "once_cell", - "png", - "thiserror", - "windows-sys 0.52.0", -] - -[[package]] -name = "muda" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdae9c00e61cc0579bcac625e8ad22104c60548a025bfc972dc83868a28e1484" +checksum = "01c1738382f66ed56b3b9c8119e794a2e23148ac8ea214eda86622d4cb9d415a" dependencies = [ "crossbeam-channel", "dpi", @@ -2594,11 +2786,46 @@ dependencies = [ "libxdo", "objc2", "objc2-app-kit", + "objc2-core-foundation", "objc2-foundation", "once_cell", "png", - "thiserror", - "windows-sys 0.59.0", + "thiserror 2.0.12", + "windows-sys 0.60.2", +] + +[[package]] +name = "multer" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http", + "httparse", + "memchr", + "mime", + "spin", + "version_check", +] + +[[package]] +name = "native-tls" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", ] [[package]] @@ -2607,13 +2834,13 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "jni-sys", "log", "ndk-sys", "num_enum", "raw-window-handle 0.6.2", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2639,12 +2866,13 @@ checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nix" -version = "0.27.1" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "cfg-if", + "cfg_aliases", "libc", "memoffset", ] @@ -2655,6 +2883,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-traits" version = "0.2.19" @@ -2679,10 +2913,10 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 2.0.2", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -2692,126 +2926,103 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] -[[package]] -name = "objc-foundation" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" -dependencies = [ - "block", - "objc", - "objc_id", -] - -[[package]] -name = "objc-sys" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" - [[package]] name = "objc2" -version = "0.5.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" dependencies = [ - "objc-sys", "objc2-encode", + "objc2-exception-helper", ] [[package]] name = "objc2-app-kit" -version = "0.2.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" dependencies = [ - "bitflags 2.6.0", - "block2", - "libc", - "objc2", - "objc2-core-data", - "objc2-core-image", - "objc2-foundation", - "objc2-quartz-core", -] - -[[package]] -name = "objc2-core-data" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" -dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "block2", "objc2", + "objc2-core-foundation", "objc2-foundation", ] [[package]] -name = "objc2-core-image" -version = "0.2.2" +name = "objc2-core-foundation" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" dependencies = [ - "block2", + "bitflags 2.9.1", + "dispatch2", "objc2", - "objc2-foundation", - "objc2-metal", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" +dependencies = [ + "bitflags 2.9.1", + "objc2-core-foundation", ] [[package]] name = "objc2-encode" -version = "4.0.3" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] [[package]] name = "objc2-foundation" -version = "0.2.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "block2", - "libc", "objc2", + "objc2-core-foundation", ] [[package]] -name = "objc2-metal" -version = "0.2.2" +name = "objc2-ui-kit" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +checksum = "25b1312ad7bc8a0e92adae17aa10f90aae1fb618832f9b993b022b591027daed" dependencies = [ - "bitflags 2.6.0", - "block2", + "bitflags 2.9.1", "objc2", + "objc2-core-foundation", "objc2-foundation", ] [[package]] -name = "objc2-quartz-core" -version = "0.2.2" +name = "objc2-web-kit" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +checksum = "91672909de8b1ce1c2252e95bbee8c1649c9ad9d14b9248b3d7b4c47903c47ad" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "block2", "objc2", + "objc2-app-kit", + "objc2-core-foundation", "objc2-foundation", - "objc2-metal", -] - -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", ] [[package]] @@ -2824,19 +3035,54 @@ dependencies = [ ] [[package]] -name = "object" -version = "0.36.5" +name = "once_cell" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "openssl" +version = "0.10.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ - "memchr", + "bitflags 2.9.1", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "once_cell" -version = "1.20.2" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "openssl-probe" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "openssl-sys" +version = "0.9.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] [[package]] name = "option-ext" @@ -2887,9 +3133,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -2897,15 +3143,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link 0.2.1", ] [[package]] @@ -2920,9 +3166,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "phf_macros", "phf_shared 0.8.0", - "proc-macro-hack", ] [[package]] @@ -2931,7 +3175,18 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" dependencies = [ + "phf_macros", "phf_shared 0.10.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_shared 0.11.3", ] [[package]] @@ -2946,12 +3201,12 @@ dependencies = [ [[package]] name = "phf_codegen" -version = "0.10.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", + "phf_generator 0.11.3", + "phf_shared 0.11.3", ] [[package]] @@ -2975,13 +3230,23 @@ dependencies = [ ] [[package]] -name = "phf_macros" -version = "0.8.0" +name = "phf_generator" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", + "phf_shared 0.11.3", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", "proc-macro-hack", "proc-macro2", "quote", @@ -2994,7 +3259,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" dependencies = [ - "siphasher", + "siphasher 0.3.11", ] [[package]] @@ -3003,34 +3268,43 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" dependencies = [ - "siphasher", + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.1", ] [[package]] name = "pin-project" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -3038,28 +3312,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "piper" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "png" -version = "0.17.15" +version = "0.17.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67582bd5b65bdff614270e2ea89a1cf15bef71245cc1e5f7ea126977144211d" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -3069,31 +3332,31 @@ dependencies = [ ] [[package]] -name = "polling" -version = "3.7.4" +name = "pollster" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix", - "tracing", - "windows-sys 0.59.0", + "zerovec", ] [[package]] -name = "pollster" -version = "0.3.0" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] @@ -3120,10 +3383,19 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" dependencies = [ - "toml_datetime", + "toml_datetime 0.6.3", "toml_edit 0.20.2", ] +[[package]] +name = "proc-macro-crate" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +dependencies = [ + "toml_edit 0.23.5", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -3156,9 +3428,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] @@ -3171,19 +3443,105 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", "version_check", ] [[package]] -name = "quote" -version = "1.0.37" +name = "psl-types" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "publicsuffix" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" +dependencies = [ + "idna", + "psl-types", +] + +[[package]] +name = "quick-xml" +version = "0.37.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" +dependencies = [ + "memchr", +] + +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.1.1", + "rustls", + "socket2 0.6.1", + "thiserror 2.0.12", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +dependencies = [ + "bytes", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash 2.1.1", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.12", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2 0.6.1", + "tracing", + "windows-sys 0.60.2", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "rand" version = "0.7.3" @@ -3209,6 +3567,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -3229,6 +3597,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + [[package]] name = "rand_core" version = "0.5.1" @@ -3244,7 +3622,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", ] [[package]] @@ -3279,22 +3666,22 @@ checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", ] [[package]] name = "redox_users" -version = "0.4.6" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", - "thiserror", + "thiserror 2.0.12", ] [[package]] @@ -3305,8 +3692,17 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] @@ -3317,9 +3713,15 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.5", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.5" @@ -3328,70 +3730,85 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.9" +version = "0.12.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" dependencies = [ "base64", "bytes", + "cookie", + "cookie_store", "futures-core", "futures-util", "http", "http-body", "http-body-util", "hyper", + "hyper-rustls", "hyper-util", - "ipnet", "js-sys", "log", - "mime", "mime_guess", - "once_cell", "percent-encoding", "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", "tokio", + "tokio-rustls", "tokio-util", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "windows-registry", + "webpki-roots", ] [[package]] name = "rfd" -version = "0.14.1" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251" +checksum = "ef2bee61e6cffa4635c72d7d81a84294e28f0930db0ddcb0f66d10244674ebed" dependencies = [ "ashpd", - "block", - "dispatch", + "block2", + "dispatch2", "js-sys", "log", - "objc", - "objc-foundation", - "objc_id", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", "pollster", "raw-window-handle 0.6.2", "urlencoding", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] -name = "rustc-demangle" -version = "0.1.24" +name = "ring" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", +] [[package]] name = "rustc-hash" @@ -3399,6 +3816,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustc_version" version = "0.4.1" @@ -3410,11 +3833,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.42" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys", @@ -3422,16 +3845,51 @@ dependencies = [ ] [[package]] -name = "rustversion" -version = "1.0.18" +name = "rustls" +version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -3442,6 +3900,21 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schannel" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -3449,30 +3922,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "selectors" -version = "0.22.0" +name = "security-framework" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "selectors" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" dependencies = [ "bitflags 1.3.2", "cssparser", - "derive_more", + "derive_more 0.99.20", "fxhash", "log", - "matches", "phf 0.8.0", "phf_codegen 0.8.0", "precomputed-hash", "servo_arc", "smallvec", - "thin-slice", ] [[package]] name = "semver" -version = "1.0.24" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" [[package]] name = "send_wrapper" @@ -3485,18 +3979,19 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.216" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] [[package]] name = "serde-wasm-bindgen" -version = "0.5.0" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" dependencies = [ "js-sys", "serde", @@ -3504,48 +3999,68 @@ dependencies = [ ] [[package]] -name = "serde_derive" -version = "1.0.216" +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "itoa 1.0.14", + "itoa", "memchr", "ryu", "serde", ] [[package]] -name = "serde_qs" -version = "0.12.0" +name = "serde_path_to_error" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0431a35568651e363364210c91983c1da5eb29404d9f0928b67d4ebcfa7d330c" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +dependencies = [ + "itoa", + "serde", + "serde_core", +] + +[[package]] +name = "serde_qs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3faaf9e727533a19351a43cc5a8de957372163c7d35cc48c90b75cdda13c352" dependencies = [ "percent-encoding", "serde", - "thiserror", + "thiserror 2.0.12", ] [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -3564,69 +4079,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.14", + "itoa", "ryu", "serde", ] -[[package]] -name = "server_fn" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fae7a3038a32e5a34ba32c6c45eb4852f8affaf8b794ebfcd4b1099e2d62ebe" -dependencies = [ - "bytes", - "const_format", - "dashmap", - "futures", - "gloo-net", - "http", - "js-sys", - "once_cell", - "reqwest", - "send_wrapper", - "serde", - "serde_json", - "serde_qs", - "server_fn_macro_default", - "thiserror", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaaf648c6967aef78177c0610478abb5a3455811f401f3c62d10ae9bd3901a1" -dependencies = [ - "const_format", - "convert_case 0.6.0", - "proc-macro2", - "quote", - "syn 2.0.90", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro_default" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2aa8119b558a17992e0ac1fd07f080099564f24532858811ce04f742542440" -dependencies = [ - "server_fn_macro", - "syn 2.0.90", -] - [[package]] name = "servo_arc" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" dependencies = [ "nodrop", "stable_deref_trait", @@ -3645,9 +4107,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -3671,9 +4133,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" dependencies = [ "libc", "signal-hook-registry", @@ -3681,9 +4143,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -3701,13 +4163,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "slab" -version = "0.4.9" +name = "siphasher" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "sledgehammer_bindgen" @@ -3721,12 +4186,12 @@ dependencies = [ [[package]] name = "sledgehammer_bindgen_macro" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a1b4f13e2bbf2f5b29d09dfebc9de69229ffee245aed80e3b70f9b5fd28c06" +checksum = "f62f06db0370222f7f498ef478fce9f8df5828848d1d3517e3331936d7074f55" dependencies = [ "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -3735,7 +4200,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "debdd4b83524961983cea3c55383b3910fd2f24fd13a188f5b091d2d504a61ae" dependencies = [ - "rustc-hash", + "rustc-hash 1.1.0", ] [[package]] @@ -3750,20 +4215,30 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + [[package]] name = "soup3" version = "0.5.0" @@ -3790,6 +4265,12 @@ dependencies = [ "system-deps", ] +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -3804,30 +4285,63 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "string_cache" -version = "0.8.7" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" dependencies = [ "new_debug_unreachable", - "once_cell", "parking_lot", - "phf_shared 0.10.0", + "phf_shared 0.11.3", "precomputed-hash", "serde", ] [[package]] name = "string_cache_codegen" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", + "phf_generator 0.11.3", + "phf_shared 0.11.3", "proc-macro2", "quote", ] +[[package]] +name = "subsecond" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c09bc2c9ef0381b403ab8b58122961cb83266d16b1f55f9486d5857ba4a9ae26" +dependencies = [ + "js-sys", + "libc", + "libloading 0.8.9", + "memfd", + "memmap2", + "serde", + "subsecond-types", + "thiserror 2.0.12", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "subsecond-types" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07aa455c66ddfdbb51507537402b961e027846468954ef8d974bce65dff9eb0" +dependencies = [ + "serde", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "syn" version = "1.0.109" @@ -3841,9 +4355,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -3861,13 +4375,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -3885,14 +4399,14 @@ dependencies = [ [[package]] name = "tao" -version = "0.30.0" +version = "0.34.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a93f2c6b8fdaeb7f417bda89b5bc767999745c3052969664ae1fa65892deb7e" +checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" dependencies = [ - "bitflags 2.6.0", - "cocoa 0.26.0", - "core-foundation 0.10.0", - "core-graphics 0.24.0", + "bitflags 2.9.1", + "block2", + "core-foundation 0.10.1", + "core-graphics", "crossbeam-channel", "dispatch", "dlopen2", @@ -3900,7 +4414,6 @@ dependencies = [ "gdkwayland-sys", "gdkx11-sys", "gtk", - "instant", "jni", "lazy_static", "libc", @@ -3908,7 +4421,9 @@ dependencies = [ "ndk", "ndk-context", "ndk-sys", - "objc", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", "parking_lot", "raw-window-handle 0.5.2", @@ -3931,7 +4446,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -3942,12 +4457,12 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.14.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ - "cfg-if", "fastrand", + "getrandom 0.3.3", "once_cell", "rustix", "windows-sys 0.59.0", @@ -3964,19 +4479,22 @@ dependencies = [ "utf-8", ] -[[package]] -name = "thin-slice" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" - [[package]] name = "thiserror" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -3987,7 +4505,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] @@ -4001,52 +4530,108 @@ dependencies = [ ] [[package]] -name = "tinystr" -version = "0.7.6" +name = "time" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" + +[[package]] +name = "time-macros" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", ] [[package]] -name = "tokio" -version = "1.42.0" +name = "tinyvec" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ - "backtrace", "bytes", "libc", "mio", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.6.1", "tokio-macros", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", ] [[package]] name = "tokio-util" -version = "0.7.13" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", + "futures-io", "futures-sink", "pin-project-lite", "tokio", @@ -4060,7 +4645,7 @@ checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" dependencies = [ "serde", "serde_spanned", - "toml_datetime", + "toml_datetime 0.6.3", "toml_edit 0.20.2", ] @@ -4073,15 +4658,24 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.7.0", - "toml_datetime", - "winnow", + "indexmap", + "toml_datetime 0.6.3", + "winnow 0.5.40", ] [[package]] @@ -4090,13 +4684,73 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.7.0", + "indexmap", "serde", "serde_spanned", - "toml_datetime", - "winnow", + "toml_datetime 0.6.3", + "winnow 0.5.40", ] +[[package]] +name = "toml_edit" +version = "0.23.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2ad0b7ae9cfeef5605163839cb9221f453399f15cfb5c10be9885fcf56611f9" +dependencies = [ + "indexmap", + "toml_datetime 0.7.3", + "toml_parser", + "winnow 0.7.13", +] + +[[package]] +name = "toml_parser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +dependencies = [ + "winnow 0.7.13", +] + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags 2.9.1", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.3" @@ -4122,7 +4776,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -4140,8 +4794,12 @@ version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ + "matchers", + "once_cell", + "regex", "sharded-slab", "thread_local", + "tracing", "tracing-core", ] @@ -4158,22 +4816,23 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.19.2" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48a05076dd272615d03033bf04f480199f7d1b66a8ac64d75c625fc4a70c06b" +checksum = "e3d5572781bee8e3f994d7467084e1b1fd7a93ce66bd480f8156ba89dee55a2b" dependencies = [ - "core-graphics 0.24.0", "crossbeam-channel", "dirs", "libappindicator", - "muda 0.15.3", + "muda", "objc2", "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", "objc2-foundation", "once_cell", "png", - "thiserror", - "windows-sys 0.59.0", + "thiserror 2.0.12", + "windows-sys 0.60.2", ] [[package]] @@ -4184,27 +4843,28 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.23.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d" dependencies = [ - "byteorder", "bytes", "data-encoding", "http", "httparse", "log", - "rand 0.8.5", + "native-tls", + "rand 0.9.2", + "rustls", "sha1", - "thiserror", + "thiserror 2.0.12", "utf-8", ] [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "uds_windows" @@ -4219,15 +4879,15 @@ dependencies = [ [[package]] name = "unicase" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-segmentation" @@ -4241,6 +4901,12 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.4" @@ -4265,12 +4931,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -4279,9 +4939,18 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.11.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +dependencies = [ + "serde", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version-compare" @@ -4333,7 +5002,7 @@ checksum = "59195a1db0e95b920366d949ba5e0d3fc0e70b67c09be15ce5abb790106b0571" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] @@ -4349,35 +5018,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] -name = "wasm-bindgen" -version = "0.2.99" +name = "wasi" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", + "wit-bindgen-rt", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.99" +name = "wasm-bindgen" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.90", + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" dependencies = [ "cfg-if", "js-sys", @@ -4388,9 +5054,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4398,22 +5064,25 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.90", - "wasm-bindgen-backend", + "syn 2.0.101", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" @@ -4429,10 +5098,80 @@ dependencies = [ ] [[package]] -name = "web-sys" -version = "0.3.76" +name = "wayland-backend" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" +dependencies = [ + "cc", + "downcast-rs", + "rustix", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" +dependencies = [ + "bitflags 2.9.1", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" +dependencies = [ + "bitflags 2.9.1", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142" +dependencies = [ + "dlib", + "log", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -4440,17 +5179,16 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.15" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" +checksum = "00f1243ef785213e3a32fa0396093424a3a6ea566f9948497e5a2309261a4c97" dependencies = [ - "core-foundation 0.9.4", - "home", + "core-foundation 0.10.1", "jni", "log", "ndk-context", - "objc", - "raw-window-handle 0.5.2", + "objc2", + "objc2-foundation", "url", "web-sys", ] @@ -4500,10 +5238,19 @@ dependencies = [ ] [[package]] -name = "webview2-com" -version = "0.33.0" +name = "webpki-roots" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61ff3d9d0ee4efcb461b14eb3acfda2702d10dc329f339303fc3e57215ae2c" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webview2-com" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4ba622a989277ef3886dd5afb3e280e3dd6d974b766118950a08f8f678ad6a4" dependencies = [ "webview2-com-macros", "webview2-com-sys", @@ -4521,16 +5268,16 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "webview2-com-sys" -version = "0.33.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3a3e2eeb58f82361c93f9777014668eb3d07e7d174ee4c819575a9208011886" +checksum = "36695906a1b53a3bf5c4289621efedac12b73eeb0b89e7e1a89b517302d5d75c" dependencies = [ - "thiserror", + "thiserror 2.0.12", "windows", "windows-core", ] @@ -4540,7 +5287,7 @@ name = "why5" version = "0.1.0" dependencies = [ "dioxus", - "getrandom 0.2.15", + "getrandom 0.2.16", "rand 0.8.5", ] @@ -4577,77 +5324,110 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.58.0" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" dependencies = [ "windows-core", - "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.58.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", + "windows-link 0.1.3", "windows-result", "windows-strings", - "windows-targets 0.52.6", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core", + "windows-link 0.1.3", + "windows-threading", ] [[package]] name = "windows-implement" -version = "0.58.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "windows-interface" -version = "0.58.0" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] -name = "windows-registry" +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ - "windows-result", - "windows-strings", - "windows-targets 0.52.6", + "windows-core", + "windows-link 0.1.3", ] [[package]] name = "windows-result" -version = "0.2.0" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-targets 0.52.6", + "windows-link 0.1.3", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-result", - "windows-targets 0.52.6", + "windows-link 0.1.3", ] [[package]] @@ -4659,15 +5439,6 @@ dependencies = [ "windows-targets 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-sys" version = "0.52.0" @@ -4686,6 +5457,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -4701,21 +5490,6 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -4725,7 +5499,7 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", @@ -4733,12 +5507,38 @@ dependencies = [ ] [[package]] -name = "windows-version" -version = "0.1.1" +name = "windows-targets" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-targets 0.52.6", + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-version" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c" +dependencies = [ + "windows-link 0.1.3", ] [[package]] @@ -4747,132 +5547,138 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + [[package]] name = "windows_i686_gnu" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + [[package]] name = "windows_i686_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + [[package]] name = "winnow" version = "0.5.40" @@ -4883,31 +5689,42 @@ dependencies = [ ] [[package]] -name = "write16" -version = "1.0.0" +name = "winnow" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "wry" -version = "0.45.0" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac0099a336829fbf54c26b5f620c68980ebbe37196772aeaf6118df4931b5cb0" +checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2" dependencies = [ "base64", - "block", - "cocoa 0.26.0", - "core-graphics 0.24.0", + "block2", + "cookie", "crossbeam-channel", + "dirs", "dpi", "dunce", - "gdkx11", "gtk", "html5ever", "http", @@ -4916,22 +5733,26 @@ dependencies = [ "kuchikiki", "libc", "ndk", - "objc", - "objc_id", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", "once_cell", "percent-encoding", "raw-window-handle 0.6.2", "sha2", "soup3", "tao-macros", - "thiserror", + "thiserror 2.0.12", + "url", "webkit2gtk", "webkit2gtk-sys", "webview2-com", "windows", "windows-core", "windows-version", - "x11-dl", ] [[package]] @@ -4956,26 +5777,39 @@ dependencies = [ ] [[package]] -name = "xdg-home" -version = "1.3.0" +name = "x11rb" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" dependencies = [ - "libc", - "windows-sys 0.59.0", + "gethostname", + "rustix", + "x11rb-protocol", ] [[package]] -name = "xxhash-rust" -version = "0.8.12" +name = "x11rb-protocol" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + +[[package]] +name = "xxhash-rust" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -4985,45 +5819,40 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", "synstructure", ] [[package]] name = "zbus" -version = "4.0.1" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030" +checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91" dependencies = [ "async-broadcast", - "async-process", "async-recursion", "async-trait", - "derivative", "enumflags2", "event-listener", "futures-core", - "futures-sink", - "futures-util", + "futures-lite", "hex", "nix", "ordered-stream", - "rand 0.8.5", "serde", "serde_repr", - "sha1", - "static_assertions", "tokio", "tracing", "uds_windows", - "windows-sys 0.52.0", - "xdg-home", + "uuid", + "windows-sys 0.61.2", + "winnow 0.7.13", "zbus_macros", "zbus_names", "zvariant", @@ -5031,76 +5860,94 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.0.1" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7" +checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "regex", - "syn 1.0.109", + "syn 2.0.101", + "zbus_names", + "zvariant", "zvariant_utils", ] [[package]] name = "zbus_names" -version = "3.0.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" dependencies = [ "serde", "static_assertions", + "winnow 0.7.13", "zvariant", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", "synstructure", ] [[package]] -name = "zerovec" -version = "0.10.4" +name = "zeroize" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -5109,49 +5956,52 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.101", ] [[package]] name = "zvariant" -version = "4.0.0" +version = "5.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65" +checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c" dependencies = [ "endi", "enumflags2", "serde", - "static_assertions", "url", + "winnow 0.7.13", "zvariant_derive", + "zvariant_utils", ] [[package]] name = "zvariant_derive" -version = "4.0.0" +version = "5.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e" +checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.101", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "1.1.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172" +checksum = "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "serde", + "syn 2.0.101", + "winnow 0.7.13", ] diff --git a/Cargo.toml b/Cargo.toml index 0902d1e..06d0e89 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,8 +7,8 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -dioxus = { version = "0.6.0", features = [] } -getrandom = { version = "0.2" } +dioxus = { version = "0.7.2", features = [] } +getrandom = "0.2" rand = "0.8" [features] diff --git a/assets/daniel.png b/assets/daniel.png new file mode 100644 index 0000000000000000000000000000000000000000..5ffb18b1f0625a92537d9b5a4f64ffdaecaa2118 GIT binary patch literal 80000 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

0I+mJ6d_Bv<#EQS0wO1GK`}V;we~xX!Ud!ad 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

    IPO3*JD{*7v+iu3Qg`iyW{=K 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 Nc)I$ztaD0e0sw;Tg|+|y literal 0 HcmV?d00001 diff --git a/assets/main.css b/assets/main.css index 24574bc..72cf086 100644 --- a/assets/main.css +++ b/assets/main.css @@ -5,51 +5,63 @@ html, body, #main { height: 100%; } body { - background-color: #efeffc; - color: #000000; - font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + background-color: #efeffc; + color: #000000; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } main { - margin: auto; - max-width: 40rem; - justify-content: space-between; - display: flex; - flex-direction: column; - height: 100%; + margin: auto; + max-width: 40rem; + justify-content: space-between; + display: flex; + flex-direction: column; + height: 100%; } table { - border-collapse: collapse; - border-spacing: 0; + border-collapse: collapse; + border-spacing: 0; margin: 3rem 0; } tr { - border: 1px solid gray; + border: 1px solid gray; } td { - border: 1px solid gray; - text-align: center; + border: 1px solid gray; + text-align: center; padding: 2px; } -#controls { +.controls { margin: 3rem 0; display: flex; + flex-direction: column; + + justify-items: stretch; + gap: 1rem; +} +.controls button { + flex: 1 1 auto; + font-size: larger; + font-weight: bold; } -#controls > * { - flex: 1 1 auto; +.controls .number-buttons { + display: flex; + justify-content: stretch; + gap: 1rem; } + .number { - width: 1rem; - animation: 1s ease-in-out 1s backwards number-scale; + width: 1rem; + animation: 1s ease-in-out 1s backwards number-scale; } @keyframes number-scale { - from { font-size: xx-large; } - to { font-size: initial; } + from { font-size: xx-large; } + to { font-size: initial; } } diff --git a/assets/snow.css b/assets/snow.css index af46a05..a9dbc69 100644 --- a/assets/snow.css +++ b/assets/snow.css @@ -6,6 +6,10 @@ text-shadow: 0 0 5px #000; } +.snowflake img { + width: 64px; +} + .snowflake, .snowflake .inner { animation-iteration-count: infinite; @@ -81,6 +85,7 @@ animation-delay: 6s } +.snowflake:nth-of-type(12) .inner, .snowflake:nth-of-type(3) { left: 30%; animation-delay: 2s @@ -147,3 +152,12 @@ left: 65%; animation-delay: 2.5s } + +.snowflake:nth-of-type(12) { + left: 5%; + animation-delay: 3.5s; +} + +.snowflake:nth-of-type(13) { + left: -5%; +} diff --git a/src/main.rs b/src/main.rs index 3a89f71..58fd091 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,13 +1,16 @@ +use std::cmp::max; + use dioxus::prelude::*; use rand::Rng; const FAVICON: Asset = asset!("/assets/icon.svg"); const MAIN_CSS: Asset = asset!("/assets/main.css"); const SNOW_CSS: Asset = asset!("/assets/snow.css"); +const DANIEL: Asset = asset!("/assets/daniel.png"); #[derive(Clone, Debug, Default)] struct State { - pub rows: Vec>, + pub rows: Vec>, } impl State { @@ -19,6 +22,17 @@ impl State { row.push(rand::thread_rng().gen_range(1..=6)); } + pub fn push(&mut self, value: u16) { + if self.row_finished() { + return; + } + self.rows.last_mut().unwrap().push(value); + } + + pub fn longest(&self) -> usize { + self.rows.iter().map(|row| row.len()).max().unwrap_or(0) + } + pub fn row_finished(&self) -> bool { match self.rows.last() { Some(row) => row.len() > 1 && row.last().copied() == Some(5), @@ -38,11 +52,28 @@ fn main() { #[component] fn App() -> Element { let mut rows = use_signal(State::default); - let snow = false; + let longest = use_memo(move || rows.read().longest()); + let snow = true; rsx! { document::Link { rel: "icon", href: FAVICON } document::Link { rel: "stylesheet", href: MAIN_CSS } + document::Link { rel: "preconnect", href: "https://fonts.googleapis.com" } + document::Link { rel: "preconnect", href: "https://fonts.gstatic.com", crossorigin: "" } + document::Link { href: "https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap", rel: "stylesheet" } main { + onkeydown: move |event: Event| { + let number = match event.data.key() { + Key::Character(c) if c == "1" => 1, + Key::Character(c) if c == "2" => 2, + Key::Character(c) if c == "3" => 3, + Key::Character(c) if c == "4" => 4, + Key::Character(c) if c == "5" => 5, + Key::Character(c) if c == "6" => 6, + _ => return, + }; + let Ok(mut rows) = rows.try_write() else { return }; + rows.push(number); + }, table { thead { for _ in 0..20 { @@ -60,12 +91,12 @@ fn App() -> Element { } td { class: "number", - colspan: (19 - row.len()).to_string() + colspan: (max(19, longest()).saturating_sub(row.len())).to_string() } td { class: "number", b { - {row.iter().copied().sum::().to_string()} + {row.iter().copied().sum::().to_string()} } } } @@ -73,10 +104,22 @@ fn App() -> Element { } } div { - id: "controls", + class: "controls", if rows.read().row_finished() { - button { onclick: move |_| rows.write().new_row(), "Start new row" } + div { + class: "number-buttons", + for n in 1..=6 { + button { disabled: true, "{n}" } + } + } + button { onclick: move |_| rows.write().new_row(), "Start new row" } } else { + div { + class: "number-buttons", + for n in 1..=6 { + button { onclick: move |_| rows.write().push(n), "{n}" } + } + } button { onclick: move |_| rows.write().roll(), "Roll" } } } @@ -100,6 +143,10 @@ fn Snow() -> Element { div { class: "inner", "❅" } } } + div { + class: "snowflake", + img { class: "inner", src: DANIEL } + } } } }