this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: use actual jacquard instead of hand-rolled reimplementation

the "jacquard-style" bench was a bad reimplementation using the same
crates — actual jacquard via decode_framed + parse_car_bytes is ~2x
faster. rust is now ahead of python again.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

zzstoatzz bbe840f6 423604fe

+3256 -100
+3 -3
README.md
··· 23 23 |-----|--------:|-----:|-----:|-----:| 24 24 | zig ([zat](https://tangled.sh/@zzstoatzz.io/zat), arena reuse) | — | — | — | — | 25 25 | zig (zat, alloc per frame) | — | — | — | — | 26 - | rust (jacquard-style) | — | — | — | — | 26 + | rust (jacquard) | — | — | — | — | 27 27 | python ([atproto](https://github.com/MarshalX/atproto)) | — | — | — | — | 28 28 | go ([indigo](https://github.com/bluesky-social/indigo)) | — | — | — | — | 29 29 ··· 36 36 | SDK | decode path | 37 37 |-----|-------------| 38 38 | zig | `cbor.decode` header → `cbor.decodeAll` payload → `car.read` → `cbor.decodeAll` per block | 39 - | rust | `ciborium::from_reader` header → `serde_ipld_dagcbor::from_slice` payload → `iroh_car::CarReader` → `serde_ipld_dagcbor` per block | 39 + | rust | `SubscribeReposMessage::decode_framed` → typed `Commit`, `jacquard_repo::car::parse_car_bytes` → blocks, `serde_ipld_dagcbor` per block | 40 40 | go | `evt.Deserialize` → typed `RepoCommit` via code-gen CBOR → `car.NewBlockReader` → `cbornode.DecodeInto` per block | 41 41 | python | `Frame.from_bytes` + `parse_subscribe_repos_message` → `CAR.from_bytes` (libipld decodes all blocks internally) | 42 42 ··· 76 76 | lang | SDK | version | CBOR engine | CAR engine | 77 77 |------|-----|---------|-------------|------------| 78 78 | zig | [zat](https://tangled.sh/@zzstoatzz.io/zat) | 0.2.0 | hand-rolled | hand-rolled | 79 - | rust | jacquard-style | — | [ciborium](https://crates.io/crates/ciborium) (header) + [serde_ipld_dagcbor](https://crates.io/crates/serde_ipld_dagcbor) (body) | [iroh-car](https://crates.io/crates/iroh-car) | 79 + | rust | [jacquard](https://github.com/rsform/jacquard) | 0.9 | [ciborium](https://crates.io/crates/ciborium) (header) + [serde_ipld_dagcbor](https://crates.io/crates/serde_ipld_dagcbor) (body) | [iroh-car](https://crates.io/crates/iroh-car) | 80 80 | go | [indigo](https://github.com/bluesky-social/indigo) | latest | [cbor-gen](https://github.com/whyrusleeping/cbor-gen) (code-generated) | [go-car/v2](https://github.com/ipld/go-car) | 81 81 | python | [atproto](https://github.com/MarshalX/atproto) | 0.0.65 | [libipld](https://github.com/MarshalX/atproto) (Rust via PyO3) | libipld | 82 82
+3235 -13
rust/Cargo.lock
··· 3 3 version = 4 4 4 5 5 [[package]] 6 + name = "abnf" 7 + version = "0.13.0" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "087113bd50d9adce24850eed5d0476c7d199d532fce8fab5173650331e09033a" 10 + dependencies = [ 11 + "abnf-core", 12 + "nom", 13 + ] 14 + 15 + [[package]] 16 + name = "abnf-core" 17 + version = "0.5.0" 18 + source = "registry+https://github.com/rust-lang/crates.io-index" 19 + checksum = "c44e09c43ae1c368fb91a03a566472d0087c26cf7e1b9e8e289c14ede681dd7d" 20 + dependencies = [ 21 + "nom", 22 + ] 23 + 24 + [[package]] 25 + name = "adler2" 26 + version = "2.0.1" 27 + source = "registry+https://github.com/rust-lang/crates.io-index" 28 + checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 29 + 30 + [[package]] 31 + name = "aho-corasick" 32 + version = "1.1.4" 33 + source = "registry+https://github.com/rust-lang/crates.io-index" 34 + checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 35 + dependencies = [ 36 + "memchr", 37 + ] 38 + 39 + [[package]] 40 + name = "aliasable" 41 + version = "0.1.3" 42 + source = "registry+https://github.com/rust-lang/crates.io-index" 43 + checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" 44 + 45 + [[package]] 46 + name = "android_system_properties" 47 + version = "0.1.5" 48 + source = "registry+https://github.com/rust-lang/crates.io-index" 49 + checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 50 + dependencies = [ 51 + "libc", 52 + ] 53 + 54 + [[package]] 6 55 name = "anyhow" 7 56 version = "1.0.102" 8 57 source = "registry+https://github.com/rust-lang/crates.io-index" 9 58 checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" 10 59 11 60 [[package]] 61 + name = "async-compression" 62 + version = "0.4.41" 63 + source = "registry+https://github.com/rust-lang/crates.io-index" 64 + checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1" 65 + dependencies = [ 66 + "compression-codecs", 67 + "compression-core", 68 + "pin-project-lite", 69 + "tokio", 70 + ] 71 + 72 + [[package]] 73 + name = "atomic-polyfill" 74 + version = "1.0.3" 75 + source = "registry+https://github.com/rust-lang/crates.io-index" 76 + checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" 77 + dependencies = [ 78 + "critical-section", 79 + ] 80 + 81 + [[package]] 82 + name = "atomic-waker" 83 + version = "1.1.2" 84 + source = "registry+https://github.com/rust-lang/crates.io-index" 85 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 86 + 87 + [[package]] 12 88 name = "atproto-bench" 13 89 version = "0.1.0" 14 90 dependencies = [ 15 - "ciborium", 16 91 "ipld-core", 17 - "iroh-car", 18 - "serde", 19 - "serde_bytes", 92 + "jacquard-api", 93 + "jacquard-repo", 20 94 "serde_ipld_dagcbor", 21 95 "tokio", 22 96 ] 23 97 24 98 [[package]] 99 + name = "autocfg" 100 + version = "1.5.0" 101 + source = "registry+https://github.com/rust-lang/crates.io-index" 102 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 103 + 104 + [[package]] 25 105 name = "base-x" 26 106 version = "0.2.11" 27 107 source = "registry+https://github.com/rust-lang/crates.io-index" 28 108 checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" 29 109 30 110 [[package]] 111 + name = "base16ct" 112 + version = "0.2.0" 113 + source = "registry+https://github.com/rust-lang/crates.io-index" 114 + checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" 115 + 116 + [[package]] 31 117 name = "base256emoji" 32 118 version = "1.0.2" 33 119 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 38 124 ] 39 125 40 126 [[package]] 127 + name = "base64" 128 + version = "0.22.1" 129 + source = "registry+https://github.com/rust-lang/crates.io-index" 130 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 131 + 132 + [[package]] 133 + name = "base64ct" 134 + version = "1.8.3" 135 + source = "registry+https://github.com/rust-lang/crates.io-index" 136 + checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" 137 + 138 + [[package]] 139 + name = "bitflags" 140 + version = "2.11.0" 141 + source = "registry+https://github.com/rust-lang/crates.io-index" 142 + checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" 143 + 144 + [[package]] 145 + name = "block-buffer" 146 + version = "0.10.4" 147 + source = "registry+https://github.com/rust-lang/crates.io-index" 148 + checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 149 + dependencies = [ 150 + "generic-array", 151 + ] 152 + 153 + [[package]] 154 + name = "bon" 155 + version = "3.9.0" 156 + source = "registry+https://github.com/rust-lang/crates.io-index" 157 + checksum = "2d13a61f2963b88eef9c1be03df65d42f6996dfeac1054870d950fcf66686f83" 158 + dependencies = [ 159 + "bon-macros", 160 + "rustversion", 161 + ] 162 + 163 + [[package]] 164 + name = "bon-macros" 165 + version = "3.9.0" 166 + source = "registry+https://github.com/rust-lang/crates.io-index" 167 + checksum = "d314cc62af2b6b0c65780555abb4d02a03dd3b799cd42419044f0c38d99738c0" 168 + dependencies = [ 169 + "darling 0.23.0", 170 + "ident_case", 171 + "prettyplease", 172 + "proc-macro2", 173 + "quote", 174 + "rustversion", 175 + "syn 2.0.117", 176 + ] 177 + 178 + [[package]] 179 + name = "borsh" 180 + version = "1.6.0" 181 + source = "registry+https://github.com/rust-lang/crates.io-index" 182 + checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" 183 + dependencies = [ 184 + "cfg_aliases", 185 + ] 186 + 187 + [[package]] 188 + name = "btree-range-map" 189 + version = "0.7.2" 190 + source = "registry+https://github.com/rust-lang/crates.io-index" 191 + checksum = "1be5c9672446d3800bcbcaabaeba121fe22f1fb25700c4562b22faf76d377c33" 192 + dependencies = [ 193 + "btree-slab", 194 + "cc-traits", 195 + "range-traits", 196 + "serde", 197 + "slab", 198 + ] 199 + 200 + [[package]] 201 + name = "btree-slab" 202 + version = "0.6.1" 203 + source = "registry+https://github.com/rust-lang/crates.io-index" 204 + checksum = "7a2b56d3029f075c4fa892428a098425b86cef5c89ae54073137ece416aef13c" 205 + dependencies = [ 206 + "cc-traits", 207 + "slab", 208 + "smallvec", 209 + ] 210 + 211 + [[package]] 212 + name = "bumpalo" 213 + version = "3.20.2" 214 + source = "registry+https://github.com/rust-lang/crates.io-index" 215 + checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" 216 + 217 + [[package]] 218 + name = "byteorder" 219 + version = "1.5.0" 220 + source = "registry+https://github.com/rust-lang/crates.io-index" 221 + checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 222 + 223 + [[package]] 41 224 name = "bytes" 42 225 version = "1.11.1" 43 226 source = "registry+https://github.com/rust-lang/crates.io-index" 44 227 checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" 228 + dependencies = [ 229 + "serde", 230 + ] 45 231 46 232 [[package]] 47 233 name = "cbor4ii" ··· 53 239 ] 54 240 55 241 [[package]] 242 + name = "cc" 243 + version = "1.2.56" 244 + source = "registry+https://github.com/rust-lang/crates.io-index" 245 + checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" 246 + dependencies = [ 247 + "find-msvc-tools", 248 + "shlex", 249 + ] 250 + 251 + [[package]] 252 + name = "cc-traits" 253 + version = "2.0.0" 254 + source = "registry+https://github.com/rust-lang/crates.io-index" 255 + checksum = "060303ef31ef4a522737e1b1ab68c67916f2a787bb2f4f54f383279adba962b5" 256 + dependencies = [ 257 + "slab", 258 + ] 259 + 260 + [[package]] 56 261 name = "cfg-if" 57 262 version = "1.0.4" 58 263 source = "registry+https://github.com/rust-lang/crates.io-index" 59 264 checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 60 265 61 266 [[package]] 267 + name = "cfg_aliases" 268 + version = "0.2.1" 269 + source = "registry+https://github.com/rust-lang/crates.io-index" 270 + checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 271 + 272 + [[package]] 273 + name = "chrono" 274 + version = "0.4.44" 275 + source = "registry+https://github.com/rust-lang/crates.io-index" 276 + checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" 277 + dependencies = [ 278 + "iana-time-zone", 279 + "js-sys", 280 + "num-traits", 281 + "serde", 282 + "wasm-bindgen", 283 + "windows-link", 284 + ] 285 + 286 + [[package]] 62 287 name = "ciborium" 63 288 version = "0.2.2" 64 289 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 100 325 ] 101 326 102 327 [[package]] 328 + name = "cobs" 329 + version = "0.3.0" 330 + source = "registry+https://github.com/rust-lang/crates.io-index" 331 + checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" 332 + dependencies = [ 333 + "thiserror 2.0.18", 334 + ] 335 + 336 + [[package]] 337 + name = "compression-codecs" 338 + version = "0.4.37" 339 + source = "registry+https://github.com/rust-lang/crates.io-index" 340 + checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7" 341 + dependencies = [ 342 + "compression-core", 343 + "flate2", 344 + "memchr", 345 + ] 346 + 347 + [[package]] 348 + name = "compression-core" 349 + version = "0.4.31" 350 + source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" 352 + 353 + [[package]] 354 + name = "const-oid" 355 + version = "0.9.6" 356 + source = "registry+https://github.com/rust-lang/crates.io-index" 357 + checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 358 + 359 + [[package]] 103 360 name = "const-str" 104 361 version = "0.4.3" 105 362 source = "registry+https://github.com/rust-lang/crates.io-index" 106 363 checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" 107 364 108 365 [[package]] 366 + name = "cordyceps" 367 + version = "0.3.4" 368 + source = "registry+https://github.com/rust-lang/crates.io-index" 369 + checksum = "688d7fbb8092b8de775ef2536f36c8c31f2bc4006ece2e8d8ad2d17d00ce0a2a" 370 + dependencies = [ 371 + "loom", 372 + "tracing", 373 + ] 374 + 375 + [[package]] 376 + name = "core-foundation" 377 + version = "0.9.4" 378 + source = "registry+https://github.com/rust-lang/crates.io-index" 379 + checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 380 + dependencies = [ 381 + "core-foundation-sys", 382 + "libc", 383 + ] 384 + 385 + [[package]] 386 + name = "core-foundation" 387 + version = "0.10.1" 388 + source = "registry+https://github.com/rust-lang/crates.io-index" 389 + checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" 390 + dependencies = [ 391 + "core-foundation-sys", 392 + "libc", 393 + ] 394 + 395 + [[package]] 396 + name = "core-foundation-sys" 397 + version = "0.8.7" 398 + source = "registry+https://github.com/rust-lang/crates.io-index" 399 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 400 + 401 + [[package]] 109 402 name = "core2" 110 403 version = "0.4.0" 111 404 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 115 408 ] 116 409 117 410 [[package]] 411 + name = "cpufeatures" 412 + version = "0.2.17" 413 + source = "registry+https://github.com/rust-lang/crates.io-index" 414 + checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 415 + dependencies = [ 416 + "libc", 417 + ] 418 + 419 + [[package]] 420 + name = "crc32fast" 421 + version = "1.5.0" 422 + source = "registry+https://github.com/rust-lang/crates.io-index" 423 + checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" 424 + dependencies = [ 425 + "cfg-if", 426 + ] 427 + 428 + [[package]] 429 + name = "critical-section" 430 + version = "1.2.0" 431 + source = "registry+https://github.com/rust-lang/crates.io-index" 432 + checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" 433 + 434 + [[package]] 435 + name = "crossbeam-utils" 436 + version = "0.8.21" 437 + source = "registry+https://github.com/rust-lang/crates.io-index" 438 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 439 + 440 + [[package]] 118 441 name = "crunchy" 119 442 version = "0.2.4" 120 443 source = "registry+https://github.com/rust-lang/crates.io-index" 121 444 checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" 122 445 123 446 [[package]] 447 + name = "crypto-bigint" 448 + version = "0.5.5" 449 + source = "registry+https://github.com/rust-lang/crates.io-index" 450 + checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" 451 + dependencies = [ 452 + "generic-array", 453 + "rand_core 0.6.4", 454 + "subtle", 455 + "zeroize", 456 + ] 457 + 458 + [[package]] 459 + name = "crypto-common" 460 + version = "0.1.6" 461 + source = "registry+https://github.com/rust-lang/crates.io-index" 462 + checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 463 + dependencies = [ 464 + "generic-array", 465 + "typenum", 466 + ] 467 + 468 + [[package]] 469 + name = "curve25519-dalek" 470 + version = "4.1.3" 471 + source = "registry+https://github.com/rust-lang/crates.io-index" 472 + checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" 473 + dependencies = [ 474 + "cfg-if", 475 + "cpufeatures", 476 + "curve25519-dalek-derive", 477 + "digest", 478 + "fiat-crypto", 479 + "rustc_version", 480 + "subtle", 481 + "zeroize", 482 + ] 483 + 484 + [[package]] 485 + name = "curve25519-dalek-derive" 486 + version = "0.1.1" 487 + source = "registry+https://github.com/rust-lang/crates.io-index" 488 + checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" 489 + dependencies = [ 490 + "proc-macro2", 491 + "quote", 492 + "syn 2.0.117", 493 + ] 494 + 495 + [[package]] 496 + name = "darling" 497 + version = "0.21.3" 498 + source = "registry+https://github.com/rust-lang/crates.io-index" 499 + checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" 500 + dependencies = [ 501 + "darling_core 0.21.3", 502 + "darling_macro 0.21.3", 503 + ] 504 + 505 + [[package]] 506 + name = "darling" 507 + version = "0.23.0" 508 + source = "registry+https://github.com/rust-lang/crates.io-index" 509 + checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" 510 + dependencies = [ 511 + "darling_core 0.23.0", 512 + "darling_macro 0.23.0", 513 + ] 514 + 515 + [[package]] 516 + name = "darling_core" 517 + version = "0.21.3" 518 + source = "registry+https://github.com/rust-lang/crates.io-index" 519 + checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" 520 + dependencies = [ 521 + "fnv", 522 + "ident_case", 523 + "proc-macro2", 524 + "quote", 525 + "strsim", 526 + "syn 2.0.117", 527 + ] 528 + 529 + [[package]] 530 + name = "darling_core" 531 + version = "0.23.0" 532 + source = "registry+https://github.com/rust-lang/crates.io-index" 533 + checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" 534 + dependencies = [ 535 + "ident_case", 536 + "proc-macro2", 537 + "quote", 538 + "strsim", 539 + "syn 2.0.117", 540 + ] 541 + 542 + [[package]] 543 + name = "darling_macro" 544 + version = "0.21.3" 545 + source = "registry+https://github.com/rust-lang/crates.io-index" 546 + checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" 547 + dependencies = [ 548 + "darling_core 0.21.3", 549 + "quote", 550 + "syn 2.0.117", 551 + ] 552 + 553 + [[package]] 554 + name = "darling_macro" 555 + version = "0.23.0" 556 + source = "registry+https://github.com/rust-lang/crates.io-index" 557 + checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" 558 + dependencies = [ 559 + "darling_core 0.23.0", 560 + "quote", 561 + "syn 2.0.117", 562 + ] 563 + 564 + [[package]] 565 + name = "dashmap" 566 + version = "6.1.0" 567 + source = "registry+https://github.com/rust-lang/crates.io-index" 568 + checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" 569 + dependencies = [ 570 + "cfg-if", 571 + "crossbeam-utils", 572 + "hashbrown 0.14.5", 573 + "lock_api", 574 + "once_cell", 575 + "parking_lot_core", 576 + ] 577 + 578 + [[package]] 124 579 name = "data-encoding" 125 580 version = "2.10.0" 126 581 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 143 598 checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" 144 599 dependencies = [ 145 600 "data-encoding", 146 - "syn", 601 + "syn 2.0.117", 602 + ] 603 + 604 + [[package]] 605 + name = "der" 606 + version = "0.7.10" 607 + source = "registry+https://github.com/rust-lang/crates.io-index" 608 + checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" 609 + dependencies = [ 610 + "const-oid", 611 + "pem-rfc7468", 612 + "zeroize", 613 + ] 614 + 615 + [[package]] 616 + name = "deranged" 617 + version = "0.5.8" 618 + source = "registry+https://github.com/rust-lang/crates.io-index" 619 + checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" 620 + dependencies = [ 621 + "powerfmt", 622 + "serde_core", 623 + ] 624 + 625 + [[package]] 626 + name = "derive_more" 627 + version = "1.0.0" 628 + source = "registry+https://github.com/rust-lang/crates.io-index" 629 + checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" 630 + dependencies = [ 631 + "derive_more-impl", 632 + ] 633 + 634 + [[package]] 635 + name = "derive_more-impl" 636 + version = "1.0.0" 637 + source = "registry+https://github.com/rust-lang/crates.io-index" 638 + checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" 639 + dependencies = [ 640 + "proc-macro2", 641 + "quote", 642 + "syn 2.0.117", 643 + "unicode-xid", 644 + ] 645 + 646 + [[package]] 647 + name = "diatomic-waker" 648 + version = "0.2.3" 649 + source = "registry+https://github.com/rust-lang/crates.io-index" 650 + checksum = "ab03c107fafeb3ee9f5925686dbb7a73bc76e3932abb0d2b365cb64b169cf04c" 651 + 652 + [[package]] 653 + name = "digest" 654 + version = "0.10.7" 655 + source = "registry+https://github.com/rust-lang/crates.io-index" 656 + checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 657 + dependencies = [ 658 + "block-buffer", 659 + "const-oid", 660 + "crypto-common", 661 + "subtle", 662 + ] 663 + 664 + [[package]] 665 + name = "displaydoc" 666 + version = "0.2.5" 667 + source = "registry+https://github.com/rust-lang/crates.io-index" 668 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 669 + dependencies = [ 670 + "proc-macro2", 671 + "quote", 672 + "syn 2.0.117", 673 + ] 674 + 675 + [[package]] 676 + name = "dyn-clone" 677 + version = "1.0.20" 678 + source = "registry+https://github.com/rust-lang/crates.io-index" 679 + checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" 680 + 681 + [[package]] 682 + name = "ecdsa" 683 + version = "0.16.9" 684 + source = "registry+https://github.com/rust-lang/crates.io-index" 685 + checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" 686 + dependencies = [ 687 + "der", 688 + "digest", 689 + "elliptic-curve", 690 + "rfc6979", 691 + "signature", 692 + "spki", 693 + ] 694 + 695 + [[package]] 696 + name = "ed25519" 697 + version = "2.2.3" 698 + source = "registry+https://github.com/rust-lang/crates.io-index" 699 + checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" 700 + dependencies = [ 701 + "pkcs8", 702 + "signature", 703 + ] 704 + 705 + [[package]] 706 + name = "ed25519-dalek" 707 + version = "2.2.0" 708 + source = "registry+https://github.com/rust-lang/crates.io-index" 709 + checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" 710 + dependencies = [ 711 + "curve25519-dalek", 712 + "ed25519", 713 + "rand_core 0.6.4", 714 + "serde", 715 + "sha2", 716 + "subtle", 717 + "zeroize", 718 + ] 719 + 720 + [[package]] 721 + name = "elliptic-curve" 722 + version = "0.13.8" 723 + source = "registry+https://github.com/rust-lang/crates.io-index" 724 + checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" 725 + dependencies = [ 726 + "base16ct", 727 + "crypto-bigint", 728 + "digest", 729 + "ff", 730 + "generic-array", 731 + "group", 732 + "pem-rfc7468", 733 + "pkcs8", 734 + "rand_core 0.6.4", 735 + "sec1", 736 + "subtle", 737 + "zeroize", 738 + ] 739 + 740 + [[package]] 741 + name = "embedded-io" 742 + version = "0.4.0" 743 + source = "registry+https://github.com/rust-lang/crates.io-index" 744 + checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" 745 + 746 + [[package]] 747 + name = "embedded-io" 748 + version = "0.6.1" 749 + source = "registry+https://github.com/rust-lang/crates.io-index" 750 + checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" 751 + 752 + [[package]] 753 + name = "encoding_rs" 754 + version = "0.8.35" 755 + source = "registry+https://github.com/rust-lang/crates.io-index" 756 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 757 + dependencies = [ 758 + "cfg-if", 759 + ] 760 + 761 + [[package]] 762 + name = "equivalent" 763 + version = "1.0.2" 764 + source = "registry+https://github.com/rust-lang/crates.io-index" 765 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 766 + 767 + [[package]] 768 + name = "fastrand" 769 + version = "2.3.0" 770 + source = "registry+https://github.com/rust-lang/crates.io-index" 771 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 772 + 773 + [[package]] 774 + name = "ff" 775 + version = "0.13.1" 776 + source = "registry+https://github.com/rust-lang/crates.io-index" 777 + checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" 778 + dependencies = [ 779 + "rand_core 0.6.4", 780 + "subtle", 781 + ] 782 + 783 + [[package]] 784 + name = "fiat-crypto" 785 + version = "0.2.9" 786 + source = "registry+https://github.com/rust-lang/crates.io-index" 787 + checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" 788 + 789 + [[package]] 790 + name = "find-msvc-tools" 791 + version = "0.1.9" 792 + source = "registry+https://github.com/rust-lang/crates.io-index" 793 + checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" 794 + 795 + [[package]] 796 + name = "flate2" 797 + version = "1.1.9" 798 + source = "registry+https://github.com/rust-lang/crates.io-index" 799 + checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" 800 + dependencies = [ 801 + "crc32fast", 802 + "miniz_oxide", 803 + ] 804 + 805 + [[package]] 806 + name = "fnv" 807 + version = "1.0.7" 808 + source = "registry+https://github.com/rust-lang/crates.io-index" 809 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 810 + 811 + [[package]] 812 + name = "form_urlencoded" 813 + version = "1.2.2" 814 + source = "registry+https://github.com/rust-lang/crates.io-index" 815 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 816 + dependencies = [ 817 + "percent-encoding", 147 818 ] 148 819 149 820 [[package]] ··· 162 833 ] 163 834 164 835 [[package]] 836 + name = "futures-buffered" 837 + version = "0.2.13" 838 + source = "registry+https://github.com/rust-lang/crates.io-index" 839 + checksum = "4421cb78ee172b6b06080093479d3c50f058e7c81b7d577bbb8d118d551d4cd5" 840 + dependencies = [ 841 + "cordyceps", 842 + "diatomic-waker", 843 + "futures-core", 844 + "pin-project-lite", 845 + "spin 0.10.0", 846 + ] 847 + 848 + [[package]] 165 849 name = "futures-channel" 166 850 version = "0.3.32" 167 851 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 195 879 checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" 196 880 197 881 [[package]] 882 + name = "futures-lite" 883 + version = "2.6.1" 884 + source = "registry+https://github.com/rust-lang/crates.io-index" 885 + checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" 886 + dependencies = [ 887 + "fastrand", 888 + "futures-core", 889 + "futures-io", 890 + "parking", 891 + "pin-project-lite", 892 + ] 893 + 894 + [[package]] 198 895 name = "futures-macro" 199 896 version = "0.3.32" 200 897 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 202 899 dependencies = [ 203 900 "proc-macro2", 204 901 "quote", 205 - "syn", 902 + "syn 2.0.117", 206 903 ] 207 904 208 905 [[package]] ··· 235 932 ] 236 933 237 934 [[package]] 935 + name = "generator" 936 + version = "0.8.8" 937 + source = "registry+https://github.com/rust-lang/crates.io-index" 938 + checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9" 939 + dependencies = [ 940 + "cc", 941 + "cfg-if", 942 + "libc", 943 + "log", 944 + "rustversion", 945 + "windows-link", 946 + "windows-result", 947 + ] 948 + 949 + [[package]] 950 + name = "generic-array" 951 + version = "0.14.9" 952 + source = "registry+https://github.com/rust-lang/crates.io-index" 953 + checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" 954 + dependencies = [ 955 + "typenum", 956 + "version_check", 957 + "zeroize", 958 + ] 959 + 960 + [[package]] 961 + name = "getrandom" 962 + version = "0.2.17" 963 + source = "registry+https://github.com/rust-lang/crates.io-index" 964 + checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" 965 + dependencies = [ 966 + "cfg-if", 967 + "js-sys", 968 + "libc", 969 + "wasi", 970 + "wasm-bindgen", 971 + ] 972 + 973 + [[package]] 974 + name = "getrandom" 975 + version = "0.3.4" 976 + source = "registry+https://github.com/rust-lang/crates.io-index" 977 + checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 978 + dependencies = [ 979 + "cfg-if", 980 + "js-sys", 981 + "libc", 982 + "r-efi", 983 + "wasip2", 984 + "wasm-bindgen", 985 + ] 986 + 987 + [[package]] 988 + name = "group" 989 + version = "0.13.0" 990 + source = "registry+https://github.com/rust-lang/crates.io-index" 991 + checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" 992 + dependencies = [ 993 + "ff", 994 + "rand_core 0.6.4", 995 + "subtle", 996 + ] 997 + 998 + [[package]] 999 + name = "h2" 1000 + version = "0.4.13" 1001 + source = "registry+https://github.com/rust-lang/crates.io-index" 1002 + checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" 1003 + dependencies = [ 1004 + "atomic-waker", 1005 + "bytes", 1006 + "fnv", 1007 + "futures-core", 1008 + "futures-sink", 1009 + "http", 1010 + "indexmap 2.13.0", 1011 + "slab", 1012 + "tokio", 1013 + "tokio-util", 1014 + "tracing", 1015 + ] 1016 + 1017 + [[package]] 238 1018 name = "half" 239 1019 version = "2.7.1" 240 1020 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 246 1026 ] 247 1027 248 1028 [[package]] 1029 + name = "hash32" 1030 + version = "0.2.1" 1031 + source = "registry+https://github.com/rust-lang/crates.io-index" 1032 + checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" 1033 + dependencies = [ 1034 + "byteorder", 1035 + ] 1036 + 1037 + [[package]] 1038 + name = "hashbrown" 1039 + version = "0.12.3" 1040 + source = "registry+https://github.com/rust-lang/crates.io-index" 1041 + checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1042 + 1043 + [[package]] 1044 + name = "hashbrown" 1045 + version = "0.14.5" 1046 + source = "registry+https://github.com/rust-lang/crates.io-index" 1047 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1048 + 1049 + [[package]] 1050 + name = "hashbrown" 1051 + version = "0.16.1" 1052 + source = "registry+https://github.com/rust-lang/crates.io-index" 1053 + checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 1054 + 1055 + [[package]] 1056 + name = "heapless" 1057 + version = "0.7.17" 1058 + source = "registry+https://github.com/rust-lang/crates.io-index" 1059 + checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" 1060 + dependencies = [ 1061 + "atomic-polyfill", 1062 + "hash32", 1063 + "rustc_version", 1064 + "serde", 1065 + "spin 0.9.8", 1066 + "stable_deref_trait", 1067 + ] 1068 + 1069 + [[package]] 1070 + name = "heck" 1071 + version = "0.4.1" 1072 + source = "registry+https://github.com/rust-lang/crates.io-index" 1073 + checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1074 + 1075 + [[package]] 1076 + name = "heck" 1077 + version = "0.5.0" 1078 + source = "registry+https://github.com/rust-lang/crates.io-index" 1079 + checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1080 + 1081 + [[package]] 1082 + name = "hex" 1083 + version = "0.4.3" 1084 + source = "registry+https://github.com/rust-lang/crates.io-index" 1085 + checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1086 + 1087 + [[package]] 1088 + name = "hex_fmt" 1089 + version = "0.3.0" 1090 + source = "registry+https://github.com/rust-lang/crates.io-index" 1091 + checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" 1092 + 1093 + [[package]] 1094 + name = "hmac" 1095 + version = "0.12.1" 1096 + source = "registry+https://github.com/rust-lang/crates.io-index" 1097 + checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 1098 + dependencies = [ 1099 + "digest", 1100 + ] 1101 + 1102 + [[package]] 1103 + name = "http" 1104 + version = "1.4.0" 1105 + source = "registry+https://github.com/rust-lang/crates.io-index" 1106 + checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" 1107 + dependencies = [ 1108 + "bytes", 1109 + "itoa", 1110 + ] 1111 + 1112 + [[package]] 1113 + name = "http-body" 1114 + version = "1.0.1" 1115 + source = "registry+https://github.com/rust-lang/crates.io-index" 1116 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 1117 + dependencies = [ 1118 + "bytes", 1119 + "http", 1120 + ] 1121 + 1122 + [[package]] 1123 + name = "http-body-util" 1124 + version = "0.1.3" 1125 + source = "registry+https://github.com/rust-lang/crates.io-index" 1126 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 1127 + dependencies = [ 1128 + "bytes", 1129 + "futures-core", 1130 + "http", 1131 + "http-body", 1132 + "pin-project-lite", 1133 + ] 1134 + 1135 + [[package]] 1136 + name = "httparse" 1137 + version = "1.10.1" 1138 + source = "registry+https://github.com/rust-lang/crates.io-index" 1139 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 1140 + 1141 + [[package]] 1142 + name = "hyper" 1143 + version = "1.8.1" 1144 + source = "registry+https://github.com/rust-lang/crates.io-index" 1145 + checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" 1146 + dependencies = [ 1147 + "atomic-waker", 1148 + "bytes", 1149 + "futures-channel", 1150 + "futures-core", 1151 + "h2", 1152 + "http", 1153 + "http-body", 1154 + "httparse", 1155 + "itoa", 1156 + "pin-project-lite", 1157 + "pin-utils", 1158 + "smallvec", 1159 + "tokio", 1160 + "want", 1161 + ] 1162 + 1163 + [[package]] 1164 + name = "hyper-rustls" 1165 + version = "0.27.7" 1166 + source = "registry+https://github.com/rust-lang/crates.io-index" 1167 + checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" 1168 + dependencies = [ 1169 + "http", 1170 + "hyper", 1171 + "hyper-util", 1172 + "rustls", 1173 + "rustls-pki-types", 1174 + "tokio", 1175 + "tokio-rustls", 1176 + "tower-service", 1177 + "webpki-roots", 1178 + ] 1179 + 1180 + [[package]] 1181 + name = "hyper-util" 1182 + version = "0.1.20" 1183 + source = "registry+https://github.com/rust-lang/crates.io-index" 1184 + checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" 1185 + dependencies = [ 1186 + "base64", 1187 + "bytes", 1188 + "futures-channel", 1189 + "futures-util", 1190 + "http", 1191 + "http-body", 1192 + "hyper", 1193 + "ipnet", 1194 + "libc", 1195 + "percent-encoding", 1196 + "pin-project-lite", 1197 + "socket2", 1198 + "system-configuration", 1199 + "tokio", 1200 + "tower-service", 1201 + "tracing", 1202 + "windows-registry", 1203 + ] 1204 + 1205 + [[package]] 1206 + name = "iana-time-zone" 1207 + version = "0.1.65" 1208 + source = "registry+https://github.com/rust-lang/crates.io-index" 1209 + checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" 1210 + dependencies = [ 1211 + "android_system_properties", 1212 + "core-foundation-sys", 1213 + "iana-time-zone-haiku", 1214 + "js-sys", 1215 + "log", 1216 + "wasm-bindgen", 1217 + "windows-core", 1218 + ] 1219 + 1220 + [[package]] 1221 + name = "iana-time-zone-haiku" 1222 + version = "0.1.2" 1223 + source = "registry+https://github.com/rust-lang/crates.io-index" 1224 + checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1225 + dependencies = [ 1226 + "cc", 1227 + ] 1228 + 1229 + [[package]] 1230 + name = "icu_collections" 1231 + version = "2.1.1" 1232 + source = "registry+https://github.com/rust-lang/crates.io-index" 1233 + checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" 1234 + dependencies = [ 1235 + "displaydoc", 1236 + "potential_utf", 1237 + "yoke", 1238 + "zerofrom", 1239 + "zerovec", 1240 + ] 1241 + 1242 + [[package]] 1243 + name = "icu_locale_core" 1244 + version = "2.1.1" 1245 + source = "registry+https://github.com/rust-lang/crates.io-index" 1246 + checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" 1247 + dependencies = [ 1248 + "displaydoc", 1249 + "litemap", 1250 + "tinystr", 1251 + "writeable", 1252 + "zerovec", 1253 + ] 1254 + 1255 + [[package]] 1256 + name = "icu_normalizer" 1257 + version = "2.1.1" 1258 + source = "registry+https://github.com/rust-lang/crates.io-index" 1259 + checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" 1260 + dependencies = [ 1261 + "icu_collections", 1262 + "icu_normalizer_data", 1263 + "icu_properties", 1264 + "icu_provider", 1265 + "smallvec", 1266 + "zerovec", 1267 + ] 1268 + 1269 + [[package]] 1270 + name = "icu_normalizer_data" 1271 + version = "2.1.1" 1272 + source = "registry+https://github.com/rust-lang/crates.io-index" 1273 + checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" 1274 + 1275 + [[package]] 1276 + name = "icu_properties" 1277 + version = "2.1.2" 1278 + source = "registry+https://github.com/rust-lang/crates.io-index" 1279 + checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" 1280 + dependencies = [ 1281 + "icu_collections", 1282 + "icu_locale_core", 1283 + "icu_properties_data", 1284 + "icu_provider", 1285 + "zerotrie", 1286 + "zerovec", 1287 + ] 1288 + 1289 + [[package]] 1290 + name = "icu_properties_data" 1291 + version = "2.1.2" 1292 + source = "registry+https://github.com/rust-lang/crates.io-index" 1293 + checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" 1294 + 1295 + [[package]] 1296 + name = "icu_provider" 1297 + version = "2.1.1" 1298 + source = "registry+https://github.com/rust-lang/crates.io-index" 1299 + checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" 1300 + dependencies = [ 1301 + "displaydoc", 1302 + "icu_locale_core", 1303 + "writeable", 1304 + "yoke", 1305 + "zerofrom", 1306 + "zerotrie", 1307 + "zerovec", 1308 + ] 1309 + 1310 + [[package]] 1311 + name = "ident_case" 1312 + version = "1.0.1" 1313 + source = "registry+https://github.com/rust-lang/crates.io-index" 1314 + checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1315 + 1316 + [[package]] 1317 + name = "idna" 1318 + version = "1.1.0" 1319 + source = "registry+https://github.com/rust-lang/crates.io-index" 1320 + checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" 1321 + dependencies = [ 1322 + "idna_adapter", 1323 + "smallvec", 1324 + "utf8_iter", 1325 + ] 1326 + 1327 + [[package]] 1328 + name = "idna_adapter" 1329 + version = "1.2.1" 1330 + source = "registry+https://github.com/rust-lang/crates.io-index" 1331 + checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 1332 + dependencies = [ 1333 + "icu_normalizer", 1334 + "icu_properties", 1335 + ] 1336 + 1337 + [[package]] 1338 + name = "indexmap" 1339 + version = "1.9.3" 1340 + source = "registry+https://github.com/rust-lang/crates.io-index" 1341 + checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1342 + dependencies = [ 1343 + "autocfg", 1344 + "hashbrown 0.12.3", 1345 + "serde", 1346 + ] 1347 + 1348 + [[package]] 1349 + name = "indexmap" 1350 + version = "2.13.0" 1351 + source = "registry+https://github.com/rust-lang/crates.io-index" 1352 + checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" 1353 + dependencies = [ 1354 + "equivalent", 1355 + "hashbrown 0.16.1", 1356 + "serde", 1357 + "serde_core", 1358 + ] 1359 + 1360 + [[package]] 1361 + name = "indoc" 1362 + version = "2.0.7" 1363 + source = "registry+https://github.com/rust-lang/crates.io-index" 1364 + checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" 1365 + dependencies = [ 1366 + "rustversion", 1367 + ] 1368 + 1369 + [[package]] 1370 + name = "inventory" 1371 + version = "0.3.22" 1372 + source = "registry+https://github.com/rust-lang/crates.io-index" 1373 + checksum = "009ae045c87e7082cb72dab0ccd01ae075dd00141ddc108f43a0ea150a9e7227" 1374 + dependencies = [ 1375 + "rustversion", 1376 + ] 1377 + 1378 + [[package]] 249 1379 name = "ipld-core" 250 1380 version = "0.4.3" 251 1381 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 257 1387 ] 258 1388 259 1389 [[package]] 1390 + name = "ipnet" 1391 + version = "2.11.0" 1392 + source = "registry+https://github.com/rust-lang/crates.io-index" 1393 + checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" 1394 + 1395 + [[package]] 1396 + name = "iri-string" 1397 + version = "0.7.10" 1398 + source = "registry+https://github.com/rust-lang/crates.io-index" 1399 + checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" 1400 + dependencies = [ 1401 + "memchr", 1402 + "serde", 1403 + ] 1404 + 1405 + [[package]] 260 1406 name = "iroh-car" 261 1407 version = "0.5.1" 262 1408 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 267 1413 "futures", 268 1414 "serde", 269 1415 "serde_ipld_dagcbor", 270 - "thiserror", 1416 + "thiserror 1.0.69", 271 1417 "tokio", 272 1418 "unsigned-varint 0.7.2", 273 1419 ] 274 1420 275 1421 [[package]] 1422 + name = "itoa" 1423 + version = "1.0.17" 1424 + source = "registry+https://github.com/rust-lang/crates.io-index" 1425 + checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" 1426 + 1427 + [[package]] 1428 + name = "jacquard-api" 1429 + version = "0.9.5" 1430 + source = "registry+https://github.com/rust-lang/crates.io-index" 1431 + checksum = "4979fb1848c1dd7ac8fd12745bc71f56f6da61374407d5f9b06005467a954e5a" 1432 + dependencies = [ 1433 + "bon", 1434 + "bytes", 1435 + "jacquard-common", 1436 + "jacquard-derive", 1437 + "jacquard-lexicon", 1438 + "miette", 1439 + "rustversion", 1440 + "serde", 1441 + "serde_bytes", 1442 + "serde_ipld_dagcbor", 1443 + "thiserror 2.0.18", 1444 + "unicode-segmentation", 1445 + ] 1446 + 1447 + [[package]] 1448 + name = "jacquard-common" 1449 + version = "0.9.5" 1450 + source = "registry+https://github.com/rust-lang/crates.io-index" 1451 + checksum = "1751921e0bdae5e0077afade6161545e9ef7698306c868f800916e99ecbcaae9" 1452 + dependencies = [ 1453 + "base64", 1454 + "bon", 1455 + "bytes", 1456 + "chrono", 1457 + "ciborium", 1458 + "cid", 1459 + "ed25519-dalek", 1460 + "futures", 1461 + "getrandom 0.2.17", 1462 + "getrandom 0.3.4", 1463 + "http", 1464 + "ipld-core", 1465 + "k256", 1466 + "langtag", 1467 + "miette", 1468 + "multibase", 1469 + "multihash", 1470 + "n0-future", 1471 + "ouroboros", 1472 + "p256", 1473 + "postcard", 1474 + "rand 0.9.2", 1475 + "regex", 1476 + "regex-lite", 1477 + "reqwest", 1478 + "serde", 1479 + "serde_bytes", 1480 + "serde_html_form", 1481 + "serde_ipld_dagcbor", 1482 + "serde_json", 1483 + "signature", 1484 + "smol_str", 1485 + "thiserror 2.0.18", 1486 + "tokio", 1487 + "tokio-tungstenite-wasm", 1488 + "tokio-util", 1489 + "trait-variant", 1490 + "url", 1491 + ] 1492 + 1493 + [[package]] 1494 + name = "jacquard-derive" 1495 + version = "0.9.5" 1496 + source = "registry+https://github.com/rust-lang/crates.io-index" 1497 + checksum = "9c8d73dfee07943fdab93569ed1c28b06c6921ed891c08b415c4a323ff67e593" 1498 + dependencies = [ 1499 + "heck 0.5.0", 1500 + "jacquard-lexicon", 1501 + "proc-macro2", 1502 + "quote", 1503 + "syn 2.0.117", 1504 + ] 1505 + 1506 + [[package]] 1507 + name = "jacquard-lexicon" 1508 + version = "0.9.5" 1509 + source = "registry+https://github.com/rust-lang/crates.io-index" 1510 + checksum = "8411aff546569b0a1e0ef669bed2380cec1c00d48f02f3fcd57a71545321b3d8" 1511 + dependencies = [ 1512 + "cid", 1513 + "dashmap", 1514 + "heck 0.5.0", 1515 + "inventory", 1516 + "jacquard-common", 1517 + "miette", 1518 + "multihash", 1519 + "prettyplease", 1520 + "proc-macro2", 1521 + "quote", 1522 + "serde", 1523 + "serde_ipld_dagcbor", 1524 + "serde_json", 1525 + "serde_repr", 1526 + "serde_with", 1527 + "sha2", 1528 + "syn 2.0.117", 1529 + "thiserror 2.0.18", 1530 + "unicode-segmentation", 1531 + ] 1532 + 1533 + [[package]] 1534 + name = "jacquard-repo" 1535 + version = "0.9.6" 1536 + source = "registry+https://github.com/rust-lang/crates.io-index" 1537 + checksum = "c59705c56678f4d57229ab7790313b9f7d8f244a658d01ad1f4344e7d2efe2a3" 1538 + dependencies = [ 1539 + "bytes", 1540 + "cid", 1541 + "ed25519-dalek", 1542 + "iroh-car", 1543 + "jacquard-common", 1544 + "jacquard-derive", 1545 + "k256", 1546 + "miette", 1547 + "multihash", 1548 + "n0-future", 1549 + "p256", 1550 + "serde", 1551 + "serde_bytes", 1552 + "serde_ipld_dagcbor", 1553 + "sha2", 1554 + "smol_str", 1555 + "thiserror 2.0.18", 1556 + "tokio", 1557 + "trait-variant", 1558 + ] 1559 + 1560 + [[package]] 1561 + name = "js-sys" 1562 + version = "0.3.90" 1563 + source = "registry+https://github.com/rust-lang/crates.io-index" 1564 + checksum = "14dc6f6450b3f6d4ed5b16327f38fed626d375a886159ca555bd7822c0c3a5a6" 1565 + dependencies = [ 1566 + "once_cell", 1567 + "wasm-bindgen", 1568 + ] 1569 + 1570 + [[package]] 1571 + name = "k256" 1572 + version = "0.13.4" 1573 + source = "registry+https://github.com/rust-lang/crates.io-index" 1574 + checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" 1575 + dependencies = [ 1576 + "cfg-if", 1577 + "ecdsa", 1578 + "elliptic-curve", 1579 + "once_cell", 1580 + "sha2", 1581 + "signature", 1582 + ] 1583 + 1584 + [[package]] 1585 + name = "langtag" 1586 + version = "0.4.0" 1587 + source = "registry+https://github.com/rust-lang/crates.io-index" 1588 + checksum = "9ecb4c689a30e48ebeaa14237f34037e300dd072e6ad21a9ec72e810ff3c6600" 1589 + dependencies = [ 1590 + "serde", 1591 + "static-regular-grammar", 1592 + "thiserror 1.0.69", 1593 + ] 1594 + 1595 + [[package]] 1596 + name = "lazy_static" 1597 + version = "1.5.0" 1598 + source = "registry+https://github.com/rust-lang/crates.io-index" 1599 + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 1600 + 1601 + [[package]] 1602 + name = "libc" 1603 + version = "0.2.182" 1604 + source = "registry+https://github.com/rust-lang/crates.io-index" 1605 + checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" 1606 + 1607 + [[package]] 1608 + name = "litemap" 1609 + version = "0.8.1" 1610 + source = "registry+https://github.com/rust-lang/crates.io-index" 1611 + checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" 1612 + 1613 + [[package]] 1614 + name = "lock_api" 1615 + version = "0.4.14" 1616 + source = "registry+https://github.com/rust-lang/crates.io-index" 1617 + checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" 1618 + dependencies = [ 1619 + "scopeguard", 1620 + ] 1621 + 1622 + [[package]] 1623 + name = "log" 1624 + version = "0.4.29" 1625 + source = "registry+https://github.com/rust-lang/crates.io-index" 1626 + checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" 1627 + 1628 + [[package]] 1629 + name = "loom" 1630 + version = "0.7.2" 1631 + source = "registry+https://github.com/rust-lang/crates.io-index" 1632 + checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" 1633 + dependencies = [ 1634 + "cfg-if", 1635 + "generator", 1636 + "scoped-tls", 1637 + "tracing", 1638 + "tracing-subscriber", 1639 + ] 1640 + 1641 + [[package]] 1642 + name = "lru-slab" 1643 + version = "0.1.2" 1644 + source = "registry+https://github.com/rust-lang/crates.io-index" 1645 + checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" 1646 + 1647 + [[package]] 276 1648 name = "match-lookup" 277 1649 version = "0.1.2" 278 1650 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 280 1652 dependencies = [ 281 1653 "proc-macro2", 282 1654 "quote", 283 - "syn", 1655 + "syn 2.0.117", 1656 + ] 1657 + 1658 + [[package]] 1659 + name = "matchers" 1660 + version = "0.2.0" 1661 + source = "registry+https://github.com/rust-lang/crates.io-index" 1662 + checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" 1663 + dependencies = [ 1664 + "regex-automata", 284 1665 ] 285 1666 286 1667 [[package]] ··· 290 1671 checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" 291 1672 292 1673 [[package]] 1674 + name = "miette" 1675 + version = "7.6.0" 1676 + source = "registry+https://github.com/rust-lang/crates.io-index" 1677 + checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" 1678 + dependencies = [ 1679 + "cfg-if", 1680 + "miette-derive", 1681 + "unicode-width", 1682 + ] 1683 + 1684 + [[package]] 1685 + name = "miette-derive" 1686 + version = "7.6.0" 1687 + source = "registry+https://github.com/rust-lang/crates.io-index" 1688 + checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" 1689 + dependencies = [ 1690 + "proc-macro2", 1691 + "quote", 1692 + "syn 2.0.117", 1693 + ] 1694 + 1695 + [[package]] 1696 + name = "mime" 1697 + version = "0.3.17" 1698 + source = "registry+https://github.com/rust-lang/crates.io-index" 1699 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1700 + 1701 + [[package]] 1702 + name = "minimal-lexical" 1703 + version = "0.2.1" 1704 + source = "registry+https://github.com/rust-lang/crates.io-index" 1705 + checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1706 + 1707 + [[package]] 1708 + name = "miniz_oxide" 1709 + version = "0.8.9" 1710 + source = "registry+https://github.com/rust-lang/crates.io-index" 1711 + checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 1712 + dependencies = [ 1713 + "adler2", 1714 + "simd-adler32", 1715 + ] 1716 + 1717 + [[package]] 1718 + name = "mio" 1719 + version = "1.1.1" 1720 + source = "registry+https://github.com/rust-lang/crates.io-index" 1721 + checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" 1722 + dependencies = [ 1723 + "libc", 1724 + "wasi", 1725 + "windows-sys 0.61.2", 1726 + ] 1727 + 1728 + [[package]] 293 1729 name = "multibase" 294 1730 version = "0.9.2" 295 1731 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 313 1749 ] 314 1750 315 1751 [[package]] 1752 + name = "n0-future" 1753 + version = "0.1.3" 1754 + source = "registry+https://github.com/rust-lang/crates.io-index" 1755 + checksum = "7bb0e5d99e681ab3c938842b96fcb41bf8a7bb4bfdb11ccbd653a7e83e06c794" 1756 + dependencies = [ 1757 + "cfg_aliases", 1758 + "derive_more", 1759 + "futures-buffered", 1760 + "futures-lite", 1761 + "futures-util", 1762 + "js-sys", 1763 + "pin-project", 1764 + "send_wrapper", 1765 + "tokio", 1766 + "tokio-util", 1767 + "wasm-bindgen", 1768 + "wasm-bindgen-futures", 1769 + "web-time", 1770 + ] 1771 + 1772 + [[package]] 1773 + name = "nom" 1774 + version = "7.1.3" 1775 + source = "registry+https://github.com/rust-lang/crates.io-index" 1776 + checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 1777 + dependencies = [ 1778 + "memchr", 1779 + "minimal-lexical", 1780 + ] 1781 + 1782 + [[package]] 1783 + name = "nu-ansi-term" 1784 + version = "0.50.3" 1785 + source = "registry+https://github.com/rust-lang/crates.io-index" 1786 + checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" 1787 + dependencies = [ 1788 + "windows-sys 0.61.2", 1789 + ] 1790 + 1791 + [[package]] 1792 + name = "num-conv" 1793 + version = "0.2.0" 1794 + source = "registry+https://github.com/rust-lang/crates.io-index" 1795 + checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" 1796 + 1797 + [[package]] 1798 + name = "num-traits" 1799 + version = "0.2.19" 1800 + source = "registry+https://github.com/rust-lang/crates.io-index" 1801 + checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1802 + dependencies = [ 1803 + "autocfg", 1804 + ] 1805 + 1806 + [[package]] 1807 + name = "once_cell" 1808 + version = "1.21.3" 1809 + source = "registry+https://github.com/rust-lang/crates.io-index" 1810 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 1811 + 1812 + [[package]] 1813 + name = "openssl-probe" 1814 + version = "0.2.0" 1815 + source = "registry+https://github.com/rust-lang/crates.io-index" 1816 + checksum = "9f50d9b3dabb09ecd771ad0aa242ca6894994c130308ca3d7684634df8037391" 1817 + 1818 + [[package]] 1819 + name = "ouroboros" 1820 + version = "0.18.5" 1821 + source = "registry+https://github.com/rust-lang/crates.io-index" 1822 + checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59" 1823 + dependencies = [ 1824 + "aliasable", 1825 + "ouroboros_macro", 1826 + "static_assertions", 1827 + ] 1828 + 1829 + [[package]] 1830 + name = "ouroboros_macro" 1831 + version = "0.18.5" 1832 + source = "registry+https://github.com/rust-lang/crates.io-index" 1833 + checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" 1834 + dependencies = [ 1835 + "heck 0.4.1", 1836 + "proc-macro2", 1837 + "proc-macro2-diagnostics", 1838 + "quote", 1839 + "syn 2.0.117", 1840 + ] 1841 + 1842 + [[package]] 1843 + name = "p256" 1844 + version = "0.13.2" 1845 + source = "registry+https://github.com/rust-lang/crates.io-index" 1846 + checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" 1847 + dependencies = [ 1848 + "ecdsa", 1849 + "elliptic-curve", 1850 + "primeorder", 1851 + "sha2", 1852 + ] 1853 + 1854 + [[package]] 1855 + name = "parking" 1856 + version = "2.2.1" 1857 + source = "registry+https://github.com/rust-lang/crates.io-index" 1858 + checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 1859 + 1860 + [[package]] 1861 + name = "parking_lot_core" 1862 + version = "0.9.12" 1863 + source = "registry+https://github.com/rust-lang/crates.io-index" 1864 + checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" 1865 + dependencies = [ 1866 + "cfg-if", 1867 + "libc", 1868 + "redox_syscall", 1869 + "smallvec", 1870 + "windows-link", 1871 + ] 1872 + 1873 + [[package]] 1874 + name = "pem-rfc7468" 1875 + version = "0.7.0" 1876 + source = "registry+https://github.com/rust-lang/crates.io-index" 1877 + checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" 1878 + dependencies = [ 1879 + "base64ct", 1880 + ] 1881 + 1882 + [[package]] 1883 + name = "percent-encoding" 1884 + version = "2.3.2" 1885 + source = "registry+https://github.com/rust-lang/crates.io-index" 1886 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 1887 + 1888 + [[package]] 1889 + name = "pin-project" 1890 + version = "1.1.10" 1891 + source = "registry+https://github.com/rust-lang/crates.io-index" 1892 + checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 1893 + dependencies = [ 1894 + "pin-project-internal", 1895 + ] 1896 + 1897 + [[package]] 1898 + name = "pin-project-internal" 1899 + version = "1.1.10" 1900 + source = "registry+https://github.com/rust-lang/crates.io-index" 1901 + checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 1902 + dependencies = [ 1903 + "proc-macro2", 1904 + "quote", 1905 + "syn 2.0.117", 1906 + ] 1907 + 1908 + [[package]] 316 1909 name = "pin-project-lite" 317 1910 version = "0.2.16" 318 1911 source = "registry+https://github.com/rust-lang/crates.io-index" 319 1912 checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 320 1913 321 1914 [[package]] 1915 + name = "pin-utils" 1916 + version = "0.1.0" 1917 + source = "registry+https://github.com/rust-lang/crates.io-index" 1918 + checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1919 + 1920 + [[package]] 1921 + name = "pkcs8" 1922 + version = "0.10.2" 1923 + source = "registry+https://github.com/rust-lang/crates.io-index" 1924 + checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" 1925 + dependencies = [ 1926 + "der", 1927 + "spki", 1928 + ] 1929 + 1930 + [[package]] 1931 + name = "postcard" 1932 + version = "1.1.3" 1933 + source = "registry+https://github.com/rust-lang/crates.io-index" 1934 + checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" 1935 + dependencies = [ 1936 + "cobs", 1937 + "embedded-io 0.4.0", 1938 + "embedded-io 0.6.1", 1939 + "heapless", 1940 + "serde", 1941 + ] 1942 + 1943 + [[package]] 1944 + name = "potential_utf" 1945 + version = "0.1.4" 1946 + source = "registry+https://github.com/rust-lang/crates.io-index" 1947 + checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" 1948 + dependencies = [ 1949 + "zerovec", 1950 + ] 1951 + 1952 + [[package]] 1953 + name = "powerfmt" 1954 + version = "0.2.0" 1955 + source = "registry+https://github.com/rust-lang/crates.io-index" 1956 + checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 1957 + 1958 + [[package]] 1959 + name = "ppv-lite86" 1960 + version = "0.2.21" 1961 + source = "registry+https://github.com/rust-lang/crates.io-index" 1962 + checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 1963 + dependencies = [ 1964 + "zerocopy", 1965 + ] 1966 + 1967 + [[package]] 1968 + name = "prettyplease" 1969 + version = "0.2.37" 1970 + source = "registry+https://github.com/rust-lang/crates.io-index" 1971 + checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" 1972 + dependencies = [ 1973 + "proc-macro2", 1974 + "syn 2.0.117", 1975 + ] 1976 + 1977 + [[package]] 1978 + name = "primeorder" 1979 + version = "0.13.6" 1980 + source = "registry+https://github.com/rust-lang/crates.io-index" 1981 + checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" 1982 + dependencies = [ 1983 + "elliptic-curve", 1984 + ] 1985 + 1986 + [[package]] 1987 + name = "proc-macro-error" 1988 + version = "1.0.4" 1989 + source = "registry+https://github.com/rust-lang/crates.io-index" 1990 + checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1991 + dependencies = [ 1992 + "proc-macro-error-attr", 1993 + "proc-macro2", 1994 + "quote", 1995 + "syn 1.0.109", 1996 + "version_check", 1997 + ] 1998 + 1999 + [[package]] 2000 + name = "proc-macro-error-attr" 2001 + version = "1.0.4" 2002 + source = "registry+https://github.com/rust-lang/crates.io-index" 2003 + checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 2004 + dependencies = [ 2005 + "proc-macro2", 2006 + "quote", 2007 + "version_check", 2008 + ] 2009 + 2010 + [[package]] 322 2011 name = "proc-macro2" 323 2012 version = "1.0.106" 324 2013 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 328 2017 ] 329 2018 330 2019 [[package]] 2020 + name = "proc-macro2-diagnostics" 2021 + version = "0.10.1" 2022 + source = "registry+https://github.com/rust-lang/crates.io-index" 2023 + checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" 2024 + dependencies = [ 2025 + "proc-macro2", 2026 + "quote", 2027 + "syn 2.0.117", 2028 + "version_check", 2029 + "yansi", 2030 + ] 2031 + 2032 + [[package]] 2033 + name = "quinn" 2034 + version = "0.11.9" 2035 + source = "registry+https://github.com/rust-lang/crates.io-index" 2036 + checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" 2037 + dependencies = [ 2038 + "bytes", 2039 + "cfg_aliases", 2040 + "pin-project-lite", 2041 + "quinn-proto", 2042 + "quinn-udp", 2043 + "rustc-hash", 2044 + "rustls", 2045 + "socket2", 2046 + "thiserror 2.0.18", 2047 + "tokio", 2048 + "tracing", 2049 + "web-time", 2050 + ] 2051 + 2052 + [[package]] 2053 + name = "quinn-proto" 2054 + version = "0.11.13" 2055 + source = "registry+https://github.com/rust-lang/crates.io-index" 2056 + checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" 2057 + dependencies = [ 2058 + "bytes", 2059 + "getrandom 0.3.4", 2060 + "lru-slab", 2061 + "rand 0.9.2", 2062 + "ring", 2063 + "rustc-hash", 2064 + "rustls", 2065 + "rustls-pki-types", 2066 + "slab", 2067 + "thiserror 2.0.18", 2068 + "tinyvec", 2069 + "tracing", 2070 + "web-time", 2071 + ] 2072 + 2073 + [[package]] 2074 + name = "quinn-udp" 2075 + version = "0.5.14" 2076 + source = "registry+https://github.com/rust-lang/crates.io-index" 2077 + checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" 2078 + dependencies = [ 2079 + "cfg_aliases", 2080 + "libc", 2081 + "once_cell", 2082 + "socket2", 2083 + "tracing", 2084 + "windows-sys 0.60.2", 2085 + ] 2086 + 2087 + [[package]] 331 2088 name = "quote" 332 2089 version = "1.0.44" 333 2090 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 337 2094 ] 338 2095 339 2096 [[package]] 2097 + name = "r-efi" 2098 + version = "5.3.0" 2099 + source = "registry+https://github.com/rust-lang/crates.io-index" 2100 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 2101 + 2102 + [[package]] 2103 + name = "rand" 2104 + version = "0.8.5" 2105 + source = "registry+https://github.com/rust-lang/crates.io-index" 2106 + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2107 + dependencies = [ 2108 + "libc", 2109 + "rand_chacha 0.3.1", 2110 + "rand_core 0.6.4", 2111 + ] 2112 + 2113 + [[package]] 2114 + name = "rand" 2115 + version = "0.9.2" 2116 + source = "registry+https://github.com/rust-lang/crates.io-index" 2117 + checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" 2118 + dependencies = [ 2119 + "rand_chacha 0.9.0", 2120 + "rand_core 0.9.5", 2121 + ] 2122 + 2123 + [[package]] 2124 + name = "rand_chacha" 2125 + version = "0.3.1" 2126 + source = "registry+https://github.com/rust-lang/crates.io-index" 2127 + checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2128 + dependencies = [ 2129 + "ppv-lite86", 2130 + "rand_core 0.6.4", 2131 + ] 2132 + 2133 + [[package]] 2134 + name = "rand_chacha" 2135 + version = "0.9.0" 2136 + source = "registry+https://github.com/rust-lang/crates.io-index" 2137 + checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 2138 + dependencies = [ 2139 + "ppv-lite86", 2140 + "rand_core 0.9.5", 2141 + ] 2142 + 2143 + [[package]] 2144 + name = "rand_core" 2145 + version = "0.6.4" 2146 + source = "registry+https://github.com/rust-lang/crates.io-index" 2147 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2148 + dependencies = [ 2149 + "getrandom 0.2.17", 2150 + ] 2151 + 2152 + [[package]] 2153 + name = "rand_core" 2154 + version = "0.9.5" 2155 + source = "registry+https://github.com/rust-lang/crates.io-index" 2156 + checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" 2157 + dependencies = [ 2158 + "getrandom 0.3.4", 2159 + ] 2160 + 2161 + [[package]] 2162 + name = "range-traits" 2163 + version = "0.3.2" 2164 + source = "registry+https://github.com/rust-lang/crates.io-index" 2165 + checksum = "d20581732dd76fa913c7dff1a2412b714afe3573e94d41c34719de73337cc8ab" 2166 + 2167 + [[package]] 2168 + name = "redox_syscall" 2169 + version = "0.5.18" 2170 + source = "registry+https://github.com/rust-lang/crates.io-index" 2171 + checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 2172 + dependencies = [ 2173 + "bitflags", 2174 + ] 2175 + 2176 + [[package]] 2177 + name = "ref-cast" 2178 + version = "1.0.25" 2179 + source = "registry+https://github.com/rust-lang/crates.io-index" 2180 + checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" 2181 + dependencies = [ 2182 + "ref-cast-impl", 2183 + ] 2184 + 2185 + [[package]] 2186 + name = "ref-cast-impl" 2187 + version = "1.0.25" 2188 + source = "registry+https://github.com/rust-lang/crates.io-index" 2189 + checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" 2190 + dependencies = [ 2191 + "proc-macro2", 2192 + "quote", 2193 + "syn 2.0.117", 2194 + ] 2195 + 2196 + [[package]] 2197 + name = "regex" 2198 + version = "1.12.3" 2199 + source = "registry+https://github.com/rust-lang/crates.io-index" 2200 + checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" 2201 + dependencies = [ 2202 + "aho-corasick", 2203 + "memchr", 2204 + "regex-automata", 2205 + "regex-syntax", 2206 + ] 2207 + 2208 + [[package]] 2209 + name = "regex-automata" 2210 + version = "0.4.14" 2211 + source = "registry+https://github.com/rust-lang/crates.io-index" 2212 + checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" 2213 + dependencies = [ 2214 + "aho-corasick", 2215 + "memchr", 2216 + "regex-syntax", 2217 + ] 2218 + 2219 + [[package]] 2220 + name = "regex-lite" 2221 + version = "0.1.9" 2222 + source = "registry+https://github.com/rust-lang/crates.io-index" 2223 + checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" 2224 + 2225 + [[package]] 2226 + name = "regex-syntax" 2227 + version = "0.8.10" 2228 + source = "registry+https://github.com/rust-lang/crates.io-index" 2229 + checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" 2230 + 2231 + [[package]] 2232 + name = "reqwest" 2233 + version = "0.12.28" 2234 + source = "registry+https://github.com/rust-lang/crates.io-index" 2235 + checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" 2236 + dependencies = [ 2237 + "base64", 2238 + "bytes", 2239 + "encoding_rs", 2240 + "futures-core", 2241 + "futures-util", 2242 + "h2", 2243 + "http", 2244 + "http-body", 2245 + "http-body-util", 2246 + "hyper", 2247 + "hyper-rustls", 2248 + "hyper-util", 2249 + "js-sys", 2250 + "log", 2251 + "mime", 2252 + "percent-encoding", 2253 + "pin-project-lite", 2254 + "quinn", 2255 + "rustls", 2256 + "rustls-pki-types", 2257 + "serde", 2258 + "serde_json", 2259 + "serde_urlencoded", 2260 + "sync_wrapper", 2261 + "tokio", 2262 + "tokio-rustls", 2263 + "tokio-util", 2264 + "tower", 2265 + "tower-http", 2266 + "tower-service", 2267 + "url", 2268 + "wasm-bindgen", 2269 + "wasm-bindgen-futures", 2270 + "wasm-streams", 2271 + "web-sys", 2272 + "webpki-roots", 2273 + ] 2274 + 2275 + [[package]] 2276 + name = "rfc6979" 2277 + version = "0.4.0" 2278 + source = "registry+https://github.com/rust-lang/crates.io-index" 2279 + checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" 2280 + dependencies = [ 2281 + "hmac", 2282 + "subtle", 2283 + ] 2284 + 2285 + [[package]] 2286 + name = "ring" 2287 + version = "0.17.14" 2288 + source = "registry+https://github.com/rust-lang/crates.io-index" 2289 + checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 2290 + dependencies = [ 2291 + "cc", 2292 + "cfg-if", 2293 + "getrandom 0.2.17", 2294 + "libc", 2295 + "untrusted", 2296 + "windows-sys 0.52.0", 2297 + ] 2298 + 2299 + [[package]] 2300 + name = "rustc-hash" 2301 + version = "2.1.1" 2302 + source = "registry+https://github.com/rust-lang/crates.io-index" 2303 + checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" 2304 + 2305 + [[package]] 2306 + name = "rustc_version" 2307 + version = "0.4.1" 2308 + source = "registry+https://github.com/rust-lang/crates.io-index" 2309 + checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 2310 + dependencies = [ 2311 + "semver", 2312 + ] 2313 + 2314 + [[package]] 2315 + name = "rustls" 2316 + version = "0.23.37" 2317 + source = "registry+https://github.com/rust-lang/crates.io-index" 2318 + checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" 2319 + dependencies = [ 2320 + "once_cell", 2321 + "ring", 2322 + "rustls-pki-types", 2323 + "rustls-webpki", 2324 + "subtle", 2325 + "zeroize", 2326 + ] 2327 + 2328 + [[package]] 2329 + name = "rustls-native-certs" 2330 + version = "0.8.3" 2331 + source = "registry+https://github.com/rust-lang/crates.io-index" 2332 + checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" 2333 + dependencies = [ 2334 + "openssl-probe", 2335 + "rustls-pki-types", 2336 + "schannel", 2337 + "security-framework", 2338 + ] 2339 + 2340 + [[package]] 2341 + name = "rustls-pki-types" 2342 + version = "1.14.0" 2343 + source = "registry+https://github.com/rust-lang/crates.io-index" 2344 + checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" 2345 + dependencies = [ 2346 + "web-time", 2347 + "zeroize", 2348 + ] 2349 + 2350 + [[package]] 2351 + name = "rustls-webpki" 2352 + version = "0.103.9" 2353 + source = "registry+https://github.com/rust-lang/crates.io-index" 2354 + checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" 2355 + dependencies = [ 2356 + "ring", 2357 + "rustls-pki-types", 2358 + "untrusted", 2359 + ] 2360 + 2361 + [[package]] 2362 + name = "rustversion" 2363 + version = "1.0.22" 2364 + source = "registry+https://github.com/rust-lang/crates.io-index" 2365 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 2366 + 2367 + [[package]] 2368 + name = "ryu" 2369 + version = "1.0.23" 2370 + source = "registry+https://github.com/rust-lang/crates.io-index" 2371 + checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" 2372 + 2373 + [[package]] 2374 + name = "schannel" 2375 + version = "0.1.28" 2376 + source = "registry+https://github.com/rust-lang/crates.io-index" 2377 + checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" 2378 + dependencies = [ 2379 + "windows-sys 0.61.2", 2380 + ] 2381 + 2382 + [[package]] 2383 + name = "schemars" 2384 + version = "0.9.0" 2385 + source = "registry+https://github.com/rust-lang/crates.io-index" 2386 + checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" 2387 + dependencies = [ 2388 + "dyn-clone", 2389 + "ref-cast", 2390 + "serde", 2391 + "serde_json", 2392 + ] 2393 + 2394 + [[package]] 2395 + name = "schemars" 2396 + version = "1.2.1" 2397 + source = "registry+https://github.com/rust-lang/crates.io-index" 2398 + checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" 2399 + dependencies = [ 2400 + "dyn-clone", 2401 + "ref-cast", 2402 + "serde", 2403 + "serde_json", 2404 + ] 2405 + 2406 + [[package]] 2407 + name = "scoped-tls" 2408 + version = "1.0.1" 2409 + source = "registry+https://github.com/rust-lang/crates.io-index" 2410 + checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 2411 + 2412 + [[package]] 340 2413 name = "scopeguard" 341 2414 version = "1.2.0" 342 2415 source = "registry+https://github.com/rust-lang/crates.io-index" 343 2416 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 344 2417 345 2418 [[package]] 2419 + name = "sec1" 2420 + version = "0.7.3" 2421 + source = "registry+https://github.com/rust-lang/crates.io-index" 2422 + checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" 2423 + dependencies = [ 2424 + "base16ct", 2425 + "der", 2426 + "generic-array", 2427 + "pkcs8", 2428 + "subtle", 2429 + "zeroize", 2430 + ] 2431 + 2432 + [[package]] 2433 + name = "security-framework" 2434 + version = "3.5.1" 2435 + source = "registry+https://github.com/rust-lang/crates.io-index" 2436 + checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" 2437 + dependencies = [ 2438 + "bitflags", 2439 + "core-foundation 0.10.1", 2440 + "core-foundation-sys", 2441 + "libc", 2442 + "security-framework-sys", 2443 + ] 2444 + 2445 + [[package]] 2446 + name = "security-framework-sys" 2447 + version = "2.15.0" 2448 + source = "registry+https://github.com/rust-lang/crates.io-index" 2449 + checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" 2450 + dependencies = [ 2451 + "core-foundation-sys", 2452 + "libc", 2453 + ] 2454 + 2455 + [[package]] 2456 + name = "semver" 2457 + version = "1.0.27" 2458 + source = "registry+https://github.com/rust-lang/crates.io-index" 2459 + checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" 2460 + 2461 + [[package]] 2462 + name = "send_wrapper" 2463 + version = "0.6.0" 2464 + source = "registry+https://github.com/rust-lang/crates.io-index" 2465 + checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" 2466 + 2467 + [[package]] 346 2468 name = "serde" 347 2469 version = "1.0.228" 348 2470 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 379 2501 dependencies = [ 380 2502 "proc-macro2", 381 2503 "quote", 382 - "syn", 2504 + "syn 2.0.117", 2505 + ] 2506 + 2507 + [[package]] 2508 + name = "serde_html_form" 2509 + version = "0.2.8" 2510 + source = "registry+https://github.com/rust-lang/crates.io-index" 2511 + checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" 2512 + dependencies = [ 2513 + "form_urlencoded", 2514 + "indexmap 2.13.0", 2515 + "itoa", 2516 + "ryu", 2517 + "serde_core", 383 2518 ] 384 2519 385 2520 [[package]] ··· 395 2530 ] 396 2531 397 2532 [[package]] 2533 + name = "serde_json" 2534 + version = "1.0.149" 2535 + source = "registry+https://github.com/rust-lang/crates.io-index" 2536 + checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" 2537 + dependencies = [ 2538 + "itoa", 2539 + "memchr", 2540 + "serde", 2541 + "serde_core", 2542 + "zmij", 2543 + ] 2544 + 2545 + [[package]] 2546 + name = "serde_repr" 2547 + version = "0.1.20" 2548 + source = "registry+https://github.com/rust-lang/crates.io-index" 2549 + checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" 2550 + dependencies = [ 2551 + "proc-macro2", 2552 + "quote", 2553 + "syn 2.0.117", 2554 + ] 2555 + 2556 + [[package]] 2557 + name = "serde_urlencoded" 2558 + version = "0.7.1" 2559 + source = "registry+https://github.com/rust-lang/crates.io-index" 2560 + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 2561 + dependencies = [ 2562 + "form_urlencoded", 2563 + "itoa", 2564 + "ryu", 2565 + "serde", 2566 + ] 2567 + 2568 + [[package]] 2569 + name = "serde_with" 2570 + version = "3.17.0" 2571 + source = "registry+https://github.com/rust-lang/crates.io-index" 2572 + checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" 2573 + dependencies = [ 2574 + "base64", 2575 + "chrono", 2576 + "hex", 2577 + "indexmap 1.9.3", 2578 + "indexmap 2.13.0", 2579 + "schemars 0.9.0", 2580 + "schemars 1.2.1", 2581 + "serde_core", 2582 + "serde_json", 2583 + "serde_with_macros", 2584 + "time", 2585 + ] 2586 + 2587 + [[package]] 2588 + name = "serde_with_macros" 2589 + version = "3.17.0" 2590 + source = "registry+https://github.com/rust-lang/crates.io-index" 2591 + checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" 2592 + dependencies = [ 2593 + "darling 0.21.3", 2594 + "proc-macro2", 2595 + "quote", 2596 + "syn 2.0.117", 2597 + ] 2598 + 2599 + [[package]] 2600 + name = "sha1" 2601 + version = "0.10.6" 2602 + source = "registry+https://github.com/rust-lang/crates.io-index" 2603 + checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 2604 + dependencies = [ 2605 + "cfg-if", 2606 + "cpufeatures", 2607 + "digest", 2608 + ] 2609 + 2610 + [[package]] 2611 + name = "sha2" 2612 + version = "0.10.9" 2613 + source = "registry+https://github.com/rust-lang/crates.io-index" 2614 + checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 2615 + dependencies = [ 2616 + "cfg-if", 2617 + "cpufeatures", 2618 + "digest", 2619 + ] 2620 + 2621 + [[package]] 2622 + name = "sharded-slab" 2623 + version = "0.1.7" 2624 + source = "registry+https://github.com/rust-lang/crates.io-index" 2625 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 2626 + dependencies = [ 2627 + "lazy_static", 2628 + ] 2629 + 2630 + [[package]] 2631 + name = "shlex" 2632 + version = "1.3.0" 2633 + source = "registry+https://github.com/rust-lang/crates.io-index" 2634 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 2635 + 2636 + [[package]] 2637 + name = "signature" 2638 + version = "2.2.0" 2639 + source = "registry+https://github.com/rust-lang/crates.io-index" 2640 + checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" 2641 + dependencies = [ 2642 + "digest", 2643 + "rand_core 0.6.4", 2644 + ] 2645 + 2646 + [[package]] 2647 + name = "simd-adler32" 2648 + version = "0.3.8" 2649 + source = "registry+https://github.com/rust-lang/crates.io-index" 2650 + checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" 2651 + 2652 + [[package]] 398 2653 name = "slab" 399 2654 version = "0.4.12" 400 2655 source = "registry+https://github.com/rust-lang/crates.io-index" 401 2656 checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" 402 2657 403 2658 [[package]] 2659 + name = "smallvec" 2660 + version = "1.15.1" 2661 + source = "registry+https://github.com/rust-lang/crates.io-index" 2662 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 2663 + 2664 + [[package]] 2665 + name = "smol_str" 2666 + version = "0.3.5" 2667 + source = "registry+https://github.com/rust-lang/crates.io-index" 2668 + checksum = "0f7a918bd2a9951d18ee6e48f076843e8e73a9a5d22cf05bcd4b7a81bdd04e17" 2669 + dependencies = [ 2670 + "borsh", 2671 + "serde_core", 2672 + ] 2673 + 2674 + [[package]] 2675 + name = "socket2" 2676 + version = "0.6.2" 2677 + source = "registry+https://github.com/rust-lang/crates.io-index" 2678 + checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" 2679 + dependencies = [ 2680 + "libc", 2681 + "windows-sys 0.60.2", 2682 + ] 2683 + 2684 + [[package]] 2685 + name = "spin" 2686 + version = "0.9.8" 2687 + source = "registry+https://github.com/rust-lang/crates.io-index" 2688 + checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 2689 + dependencies = [ 2690 + "lock_api", 2691 + ] 2692 + 2693 + [[package]] 2694 + name = "spin" 2695 + version = "0.10.0" 2696 + source = "registry+https://github.com/rust-lang/crates.io-index" 2697 + checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" 2698 + 2699 + [[package]] 2700 + name = "spki" 2701 + version = "0.7.3" 2702 + source = "registry+https://github.com/rust-lang/crates.io-index" 2703 + checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" 2704 + dependencies = [ 2705 + "base64ct", 2706 + "der", 2707 + ] 2708 + 2709 + [[package]] 2710 + name = "stable_deref_trait" 2711 + version = "1.2.1" 2712 + source = "registry+https://github.com/rust-lang/crates.io-index" 2713 + checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" 2714 + 2715 + [[package]] 2716 + name = "static-regular-grammar" 2717 + version = "2.0.2" 2718 + source = "registry+https://github.com/rust-lang/crates.io-index" 2719 + checksum = "4f4a6c40247579acfbb138c3cd7de3dab113ab4ac6227f1b7de7d626ee667957" 2720 + dependencies = [ 2721 + "abnf", 2722 + "btree-range-map", 2723 + "ciborium", 2724 + "hex_fmt", 2725 + "indoc", 2726 + "proc-macro-error", 2727 + "proc-macro2", 2728 + "quote", 2729 + "serde", 2730 + "sha2", 2731 + "syn 2.0.117", 2732 + "thiserror 1.0.69", 2733 + ] 2734 + 2735 + [[package]] 2736 + name = "static_assertions" 2737 + version = "1.1.0" 2738 + source = "registry+https://github.com/rust-lang/crates.io-index" 2739 + checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 2740 + 2741 + [[package]] 2742 + name = "strsim" 2743 + version = "0.11.1" 2744 + source = "registry+https://github.com/rust-lang/crates.io-index" 2745 + checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 2746 + 2747 + [[package]] 2748 + name = "subtle" 2749 + version = "2.6.1" 2750 + source = "registry+https://github.com/rust-lang/crates.io-index" 2751 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 2752 + 2753 + [[package]] 2754 + name = "syn" 2755 + version = "1.0.109" 2756 + source = "registry+https://github.com/rust-lang/crates.io-index" 2757 + checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2758 + dependencies = [ 2759 + "proc-macro2", 2760 + "unicode-ident", 2761 + ] 2762 + 2763 + [[package]] 404 2764 name = "syn" 405 2765 version = "2.0.117" 406 2766 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 412 2772 ] 413 2773 414 2774 [[package]] 2775 + name = "sync_wrapper" 2776 + version = "1.0.2" 2777 + source = "registry+https://github.com/rust-lang/crates.io-index" 2778 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 2779 + dependencies = [ 2780 + "futures-core", 2781 + ] 2782 + 2783 + [[package]] 2784 + name = "synstructure" 2785 + version = "0.13.2" 2786 + source = "registry+https://github.com/rust-lang/crates.io-index" 2787 + checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 2788 + dependencies = [ 2789 + "proc-macro2", 2790 + "quote", 2791 + "syn 2.0.117", 2792 + ] 2793 + 2794 + [[package]] 2795 + name = "system-configuration" 2796 + version = "0.7.0" 2797 + source = "registry+https://github.com/rust-lang/crates.io-index" 2798 + checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" 2799 + dependencies = [ 2800 + "bitflags", 2801 + "core-foundation 0.9.4", 2802 + "system-configuration-sys", 2803 + ] 2804 + 2805 + [[package]] 2806 + name = "system-configuration-sys" 2807 + version = "0.6.0" 2808 + source = "registry+https://github.com/rust-lang/crates.io-index" 2809 + checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" 2810 + dependencies = [ 2811 + "core-foundation-sys", 2812 + "libc", 2813 + ] 2814 + 2815 + [[package]] 415 2816 name = "thiserror" 416 2817 version = "1.0.69" 417 2818 source = "registry+https://github.com/rust-lang/crates.io-index" 418 2819 checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 419 2820 dependencies = [ 420 - "thiserror-impl", 2821 + "thiserror-impl 1.0.69", 2822 + ] 2823 + 2824 + [[package]] 2825 + name = "thiserror" 2826 + version = "2.0.18" 2827 + source = "registry+https://github.com/rust-lang/crates.io-index" 2828 + checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" 2829 + dependencies = [ 2830 + "thiserror-impl 2.0.18", 421 2831 ] 422 2832 423 2833 [[package]] ··· 428 2838 dependencies = [ 429 2839 "proc-macro2", 430 2840 "quote", 431 - "syn", 2841 + "syn 2.0.117", 432 2842 ] 433 2843 434 2844 [[package]] 2845 + name = "thiserror-impl" 2846 + version = "2.0.18" 2847 + source = "registry+https://github.com/rust-lang/crates.io-index" 2848 + checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" 2849 + dependencies = [ 2850 + "proc-macro2", 2851 + "quote", 2852 + "syn 2.0.117", 2853 + ] 2854 + 2855 + [[package]] 2856 + name = "thread_local" 2857 + version = "1.1.9" 2858 + source = "registry+https://github.com/rust-lang/crates.io-index" 2859 + checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 2860 + dependencies = [ 2861 + "cfg-if", 2862 + ] 2863 + 2864 + [[package]] 2865 + name = "time" 2866 + version = "0.3.47" 2867 + source = "registry+https://github.com/rust-lang/crates.io-index" 2868 + checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" 2869 + dependencies = [ 2870 + "deranged", 2871 + "itoa", 2872 + "num-conv", 2873 + "powerfmt", 2874 + "serde_core", 2875 + "time-core", 2876 + "time-macros", 2877 + ] 2878 + 2879 + [[package]] 2880 + name = "time-core" 2881 + version = "0.1.8" 2882 + source = "registry+https://github.com/rust-lang/crates.io-index" 2883 + checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" 2884 + 2885 + [[package]] 2886 + name = "time-macros" 2887 + version = "0.2.27" 2888 + source = "registry+https://github.com/rust-lang/crates.io-index" 2889 + checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" 2890 + dependencies = [ 2891 + "num-conv", 2892 + "time-core", 2893 + ] 2894 + 2895 + [[package]] 2896 + name = "tinystr" 2897 + version = "0.8.2" 2898 + source = "registry+https://github.com/rust-lang/crates.io-index" 2899 + checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" 2900 + dependencies = [ 2901 + "displaydoc", 2902 + "zerovec", 2903 + ] 2904 + 2905 + [[package]] 2906 + name = "tinyvec" 2907 + version = "1.10.0" 2908 + source = "registry+https://github.com/rust-lang/crates.io-index" 2909 + checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" 2910 + dependencies = [ 2911 + "tinyvec_macros", 2912 + ] 2913 + 2914 + [[package]] 2915 + name = "tinyvec_macros" 2916 + version = "0.1.1" 2917 + source = "registry+https://github.com/rust-lang/crates.io-index" 2918 + checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2919 + 2920 + [[package]] 435 2921 name = "tokio" 436 2922 version = "1.49.0" 437 2923 source = "registry+https://github.com/rust-lang/crates.io-index" 438 2924 checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" 439 2925 dependencies = [ 440 2926 "bytes", 2927 + "libc", 2928 + "mio", 441 2929 "pin-project-lite", 2930 + "socket2", 442 2931 "tokio-macros", 2932 + "windows-sys 0.61.2", 443 2933 ] 444 2934 445 2935 [[package]] ··· 450 2940 dependencies = [ 451 2941 "proc-macro2", 452 2942 "quote", 453 - "syn", 2943 + "syn 2.0.117", 2944 + ] 2945 + 2946 + [[package]] 2947 + name = "tokio-rustls" 2948 + version = "0.26.4" 2949 + source = "registry+https://github.com/rust-lang/crates.io-index" 2950 + checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" 2951 + dependencies = [ 2952 + "rustls", 2953 + "tokio", 2954 + ] 2955 + 2956 + [[package]] 2957 + name = "tokio-tungstenite" 2958 + version = "0.24.0" 2959 + source = "registry+https://github.com/rust-lang/crates.io-index" 2960 + checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" 2961 + dependencies = [ 2962 + "futures-util", 2963 + "log", 2964 + "rustls", 2965 + "rustls-native-certs", 2966 + "rustls-pki-types", 2967 + "tokio", 2968 + "tokio-rustls", 2969 + "tungstenite", 2970 + ] 2971 + 2972 + [[package]] 2973 + name = "tokio-tungstenite-wasm" 2974 + version = "0.4.0" 2975 + source = "registry+https://github.com/rust-lang/crates.io-index" 2976 + checksum = "e21a5c399399c3db9f08d8297ac12b500e86bca82e930253fdc62eaf9c0de6ae" 2977 + dependencies = [ 2978 + "futures-channel", 2979 + "futures-util", 2980 + "http", 2981 + "httparse", 2982 + "js-sys", 2983 + "rustls", 2984 + "thiserror 1.0.69", 2985 + "tokio", 2986 + "tokio-tungstenite", 2987 + "wasm-bindgen", 2988 + "web-sys", 2989 + ] 2990 + 2991 + [[package]] 2992 + name = "tokio-util" 2993 + version = "0.7.18" 2994 + source = "registry+https://github.com/rust-lang/crates.io-index" 2995 + checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" 2996 + dependencies = [ 2997 + "bytes", 2998 + "futures-core", 2999 + "futures-sink", 3000 + "futures-util", 3001 + "pin-project-lite", 3002 + "tokio", 3003 + ] 3004 + 3005 + [[package]] 3006 + name = "tower" 3007 + version = "0.5.3" 3008 + source = "registry+https://github.com/rust-lang/crates.io-index" 3009 + checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" 3010 + dependencies = [ 3011 + "futures-core", 3012 + "futures-util", 3013 + "pin-project-lite", 3014 + "sync_wrapper", 3015 + "tokio", 3016 + "tower-layer", 3017 + "tower-service", 3018 + ] 3019 + 3020 + [[package]] 3021 + name = "tower-http" 3022 + version = "0.6.8" 3023 + source = "registry+https://github.com/rust-lang/crates.io-index" 3024 + checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" 3025 + dependencies = [ 3026 + "async-compression", 3027 + "bitflags", 3028 + "bytes", 3029 + "futures-core", 3030 + "futures-util", 3031 + "http", 3032 + "http-body", 3033 + "http-body-util", 3034 + "iri-string", 3035 + "pin-project-lite", 3036 + "tokio", 3037 + "tokio-util", 3038 + "tower", 3039 + "tower-layer", 3040 + "tower-service", 454 3041 ] 455 3042 456 3043 [[package]] 3044 + name = "tower-layer" 3045 + version = "0.3.3" 3046 + source = "registry+https://github.com/rust-lang/crates.io-index" 3047 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 3048 + 3049 + [[package]] 3050 + name = "tower-service" 3051 + version = "0.3.3" 3052 + source = "registry+https://github.com/rust-lang/crates.io-index" 3053 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 3054 + 3055 + [[package]] 3056 + name = "tracing" 3057 + version = "0.1.44" 3058 + source = "registry+https://github.com/rust-lang/crates.io-index" 3059 + checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" 3060 + dependencies = [ 3061 + "pin-project-lite", 3062 + "tracing-attributes", 3063 + "tracing-core", 3064 + ] 3065 + 3066 + [[package]] 3067 + name = "tracing-attributes" 3068 + version = "0.1.31" 3069 + source = "registry+https://github.com/rust-lang/crates.io-index" 3070 + checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" 3071 + dependencies = [ 3072 + "proc-macro2", 3073 + "quote", 3074 + "syn 2.0.117", 3075 + ] 3076 + 3077 + [[package]] 3078 + name = "tracing-core" 3079 + version = "0.1.36" 3080 + source = "registry+https://github.com/rust-lang/crates.io-index" 3081 + checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" 3082 + dependencies = [ 3083 + "once_cell", 3084 + "valuable", 3085 + ] 3086 + 3087 + [[package]] 3088 + name = "tracing-log" 3089 + version = "0.2.0" 3090 + source = "registry+https://github.com/rust-lang/crates.io-index" 3091 + checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 3092 + dependencies = [ 3093 + "log", 3094 + "once_cell", 3095 + "tracing-core", 3096 + ] 3097 + 3098 + [[package]] 3099 + name = "tracing-subscriber" 3100 + version = "0.3.22" 3101 + source = "registry+https://github.com/rust-lang/crates.io-index" 3102 + checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" 3103 + dependencies = [ 3104 + "matchers", 3105 + "nu-ansi-term", 3106 + "once_cell", 3107 + "regex-automata", 3108 + "sharded-slab", 3109 + "smallvec", 3110 + "thread_local", 3111 + "tracing", 3112 + "tracing-core", 3113 + "tracing-log", 3114 + ] 3115 + 3116 + [[package]] 3117 + name = "trait-variant" 3118 + version = "0.1.2" 3119 + source = "registry+https://github.com/rust-lang/crates.io-index" 3120 + checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" 3121 + dependencies = [ 3122 + "proc-macro2", 3123 + "quote", 3124 + "syn 2.0.117", 3125 + ] 3126 + 3127 + [[package]] 3128 + name = "try-lock" 3129 + version = "0.2.5" 3130 + source = "registry+https://github.com/rust-lang/crates.io-index" 3131 + checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 3132 + 3133 + [[package]] 3134 + name = "tungstenite" 3135 + version = "0.24.0" 3136 + source = "registry+https://github.com/rust-lang/crates.io-index" 3137 + checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" 3138 + dependencies = [ 3139 + "byteorder", 3140 + "bytes", 3141 + "data-encoding", 3142 + "http", 3143 + "httparse", 3144 + "log", 3145 + "rand 0.8.5", 3146 + "rustls", 3147 + "rustls-pki-types", 3148 + "sha1", 3149 + "thiserror 1.0.69", 3150 + "utf-8", 3151 + ] 3152 + 3153 + [[package]] 3154 + name = "typenum" 3155 + version = "1.19.0" 3156 + source = "registry+https://github.com/rust-lang/crates.io-index" 3157 + checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 3158 + 3159 + [[package]] 457 3160 name = "unicode-ident" 458 3161 version = "1.0.24" 459 3162 source = "registry+https://github.com/rust-lang/crates.io-index" 460 3163 checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" 461 3164 462 3165 [[package]] 3166 + name = "unicode-segmentation" 3167 + version = "1.12.0" 3168 + source = "registry+https://github.com/rust-lang/crates.io-index" 3169 + checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 3170 + 3171 + [[package]] 3172 + name = "unicode-width" 3173 + version = "0.1.14" 3174 + source = "registry+https://github.com/rust-lang/crates.io-index" 3175 + checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" 3176 + 3177 + [[package]] 3178 + name = "unicode-xid" 3179 + version = "0.2.6" 3180 + source = "registry+https://github.com/rust-lang/crates.io-index" 3181 + checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 3182 + 3183 + [[package]] 463 3184 name = "unsigned-varint" 464 3185 version = "0.7.2" 465 3186 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 472 3193 checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" 473 3194 474 3195 [[package]] 3196 + name = "untrusted" 3197 + version = "0.9.0" 3198 + source = "registry+https://github.com/rust-lang/crates.io-index" 3199 + checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 3200 + 3201 + [[package]] 3202 + name = "url" 3203 + version = "2.5.8" 3204 + source = "registry+https://github.com/rust-lang/crates.io-index" 3205 + checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" 3206 + dependencies = [ 3207 + "form_urlencoded", 3208 + "idna", 3209 + "percent-encoding", 3210 + "serde", 3211 + "serde_derive", 3212 + ] 3213 + 3214 + [[package]] 3215 + name = "utf-8" 3216 + version = "0.7.6" 3217 + source = "registry+https://github.com/rust-lang/crates.io-index" 3218 + checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 3219 + 3220 + [[package]] 3221 + name = "utf8_iter" 3222 + version = "1.0.4" 3223 + source = "registry+https://github.com/rust-lang/crates.io-index" 3224 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 3225 + 3226 + [[package]] 3227 + name = "valuable" 3228 + version = "0.1.1" 3229 + source = "registry+https://github.com/rust-lang/crates.io-index" 3230 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 3231 + 3232 + [[package]] 3233 + name = "version_check" 3234 + version = "0.9.5" 3235 + source = "registry+https://github.com/rust-lang/crates.io-index" 3236 + checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 3237 + 3238 + [[package]] 3239 + name = "want" 3240 + version = "0.3.1" 3241 + source = "registry+https://github.com/rust-lang/crates.io-index" 3242 + checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 3243 + dependencies = [ 3244 + "try-lock", 3245 + ] 3246 + 3247 + [[package]] 3248 + name = "wasi" 3249 + version = "0.11.1+wasi-snapshot-preview1" 3250 + source = "registry+https://github.com/rust-lang/crates.io-index" 3251 + checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 3252 + 3253 + [[package]] 3254 + name = "wasip2" 3255 + version = "1.0.2+wasi-0.2.9" 3256 + source = "registry+https://github.com/rust-lang/crates.io-index" 3257 + checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" 3258 + dependencies = [ 3259 + "wit-bindgen", 3260 + ] 3261 + 3262 + [[package]] 3263 + name = "wasm-bindgen" 3264 + version = "0.2.113" 3265 + source = "registry+https://github.com/rust-lang/crates.io-index" 3266 + checksum = "60722a937f594b7fde9adb894d7c092fc1bb6612897c46368d18e7a20208eff2" 3267 + dependencies = [ 3268 + "cfg-if", 3269 + "once_cell", 3270 + "rustversion", 3271 + "wasm-bindgen-macro", 3272 + "wasm-bindgen-shared", 3273 + ] 3274 + 3275 + [[package]] 3276 + name = "wasm-bindgen-futures" 3277 + version = "0.4.63" 3278 + source = "registry+https://github.com/rust-lang/crates.io-index" 3279 + checksum = "8a89f4650b770e4521aa6573724e2aed4704372151bd0de9d16a3bbabb87441a" 3280 + dependencies = [ 3281 + "cfg-if", 3282 + "futures-util", 3283 + "js-sys", 3284 + "once_cell", 3285 + "wasm-bindgen", 3286 + "web-sys", 3287 + ] 3288 + 3289 + [[package]] 3290 + name = "wasm-bindgen-macro" 3291 + version = "0.2.113" 3292 + source = "registry+https://github.com/rust-lang/crates.io-index" 3293 + checksum = "0fac8c6395094b6b91c4af293f4c79371c163f9a6f56184d2c9a85f5a95f3950" 3294 + dependencies = [ 3295 + "quote", 3296 + "wasm-bindgen-macro-support", 3297 + ] 3298 + 3299 + [[package]] 3300 + name = "wasm-bindgen-macro-support" 3301 + version = "0.2.113" 3302 + source = "registry+https://github.com/rust-lang/crates.io-index" 3303 + checksum = "ab3fabce6159dc20728033842636887e4877688ae94382766e00b180abac9d60" 3304 + dependencies = [ 3305 + "bumpalo", 3306 + "proc-macro2", 3307 + "quote", 3308 + "syn 2.0.117", 3309 + "wasm-bindgen-shared", 3310 + ] 3311 + 3312 + [[package]] 3313 + name = "wasm-bindgen-shared" 3314 + version = "0.2.113" 3315 + source = "registry+https://github.com/rust-lang/crates.io-index" 3316 + checksum = "de0e091bdb824da87dc01d967388880d017a0a9bc4f3bdc0d86ee9f9336e3bb5" 3317 + dependencies = [ 3318 + "unicode-ident", 3319 + ] 3320 + 3321 + [[package]] 3322 + name = "wasm-streams" 3323 + version = "0.4.2" 3324 + source = "registry+https://github.com/rust-lang/crates.io-index" 3325 + checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" 3326 + dependencies = [ 3327 + "futures-util", 3328 + "js-sys", 3329 + "wasm-bindgen", 3330 + "wasm-bindgen-futures", 3331 + "web-sys", 3332 + ] 3333 + 3334 + [[package]] 3335 + name = "web-sys" 3336 + version = "0.3.90" 3337 + source = "registry+https://github.com/rust-lang/crates.io-index" 3338 + checksum = "705eceb4ce901230f8625bd1d665128056ccbe4b7408faa625eec1ba80f59a97" 3339 + dependencies = [ 3340 + "js-sys", 3341 + "wasm-bindgen", 3342 + ] 3343 + 3344 + [[package]] 3345 + name = "web-time" 3346 + version = "1.1.0" 3347 + source = "registry+https://github.com/rust-lang/crates.io-index" 3348 + checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 3349 + dependencies = [ 3350 + "js-sys", 3351 + "wasm-bindgen", 3352 + ] 3353 + 3354 + [[package]] 3355 + name = "webpki-roots" 3356 + version = "1.0.6" 3357 + source = "registry+https://github.com/rust-lang/crates.io-index" 3358 + checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" 3359 + dependencies = [ 3360 + "rustls-pki-types", 3361 + ] 3362 + 3363 + [[package]] 3364 + name = "windows-core" 3365 + version = "0.62.2" 3366 + source = "registry+https://github.com/rust-lang/crates.io-index" 3367 + checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" 3368 + dependencies = [ 3369 + "windows-implement", 3370 + "windows-interface", 3371 + "windows-link", 3372 + "windows-result", 3373 + "windows-strings", 3374 + ] 3375 + 3376 + [[package]] 3377 + name = "windows-implement" 3378 + version = "0.60.2" 3379 + source = "registry+https://github.com/rust-lang/crates.io-index" 3380 + checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 3381 + dependencies = [ 3382 + "proc-macro2", 3383 + "quote", 3384 + "syn 2.0.117", 3385 + ] 3386 + 3387 + [[package]] 3388 + name = "windows-interface" 3389 + version = "0.59.3" 3390 + source = "registry+https://github.com/rust-lang/crates.io-index" 3391 + checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 3392 + dependencies = [ 3393 + "proc-macro2", 3394 + "quote", 3395 + "syn 2.0.117", 3396 + ] 3397 + 3398 + [[package]] 3399 + name = "windows-link" 3400 + version = "0.2.1" 3401 + source = "registry+https://github.com/rust-lang/crates.io-index" 3402 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 3403 + 3404 + [[package]] 3405 + name = "windows-registry" 3406 + version = "0.6.1" 3407 + source = "registry+https://github.com/rust-lang/crates.io-index" 3408 + checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" 3409 + dependencies = [ 3410 + "windows-link", 3411 + "windows-result", 3412 + "windows-strings", 3413 + ] 3414 + 3415 + [[package]] 3416 + name = "windows-result" 3417 + version = "0.4.1" 3418 + source = "registry+https://github.com/rust-lang/crates.io-index" 3419 + checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" 3420 + dependencies = [ 3421 + "windows-link", 3422 + ] 3423 + 3424 + [[package]] 3425 + name = "windows-strings" 3426 + version = "0.5.1" 3427 + source = "registry+https://github.com/rust-lang/crates.io-index" 3428 + checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" 3429 + dependencies = [ 3430 + "windows-link", 3431 + ] 3432 + 3433 + [[package]] 3434 + name = "windows-sys" 3435 + version = "0.52.0" 3436 + source = "registry+https://github.com/rust-lang/crates.io-index" 3437 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 3438 + dependencies = [ 3439 + "windows-targets 0.52.6", 3440 + ] 3441 + 3442 + [[package]] 3443 + name = "windows-sys" 3444 + version = "0.60.2" 3445 + source = "registry+https://github.com/rust-lang/crates.io-index" 3446 + checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 3447 + dependencies = [ 3448 + "windows-targets 0.53.5", 3449 + ] 3450 + 3451 + [[package]] 3452 + name = "windows-sys" 3453 + version = "0.61.2" 3454 + source = "registry+https://github.com/rust-lang/crates.io-index" 3455 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 3456 + dependencies = [ 3457 + "windows-link", 3458 + ] 3459 + 3460 + [[package]] 3461 + name = "windows-targets" 3462 + version = "0.52.6" 3463 + source = "registry+https://github.com/rust-lang/crates.io-index" 3464 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 3465 + dependencies = [ 3466 + "windows_aarch64_gnullvm 0.52.6", 3467 + "windows_aarch64_msvc 0.52.6", 3468 + "windows_i686_gnu 0.52.6", 3469 + "windows_i686_gnullvm 0.52.6", 3470 + "windows_i686_msvc 0.52.6", 3471 + "windows_x86_64_gnu 0.52.6", 3472 + "windows_x86_64_gnullvm 0.52.6", 3473 + "windows_x86_64_msvc 0.52.6", 3474 + ] 3475 + 3476 + [[package]] 3477 + name = "windows-targets" 3478 + version = "0.53.5" 3479 + source = "registry+https://github.com/rust-lang/crates.io-index" 3480 + checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" 3481 + dependencies = [ 3482 + "windows-link", 3483 + "windows_aarch64_gnullvm 0.53.1", 3484 + "windows_aarch64_msvc 0.53.1", 3485 + "windows_i686_gnu 0.53.1", 3486 + "windows_i686_gnullvm 0.53.1", 3487 + "windows_i686_msvc 0.53.1", 3488 + "windows_x86_64_gnu 0.53.1", 3489 + "windows_x86_64_gnullvm 0.53.1", 3490 + "windows_x86_64_msvc 0.53.1", 3491 + ] 3492 + 3493 + [[package]] 3494 + name = "windows_aarch64_gnullvm" 3495 + version = "0.52.6" 3496 + source = "registry+https://github.com/rust-lang/crates.io-index" 3497 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 3498 + 3499 + [[package]] 3500 + name = "windows_aarch64_gnullvm" 3501 + version = "0.53.1" 3502 + source = "registry+https://github.com/rust-lang/crates.io-index" 3503 + checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" 3504 + 3505 + [[package]] 3506 + name = "windows_aarch64_msvc" 3507 + version = "0.52.6" 3508 + source = "registry+https://github.com/rust-lang/crates.io-index" 3509 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 3510 + 3511 + [[package]] 3512 + name = "windows_aarch64_msvc" 3513 + version = "0.53.1" 3514 + source = "registry+https://github.com/rust-lang/crates.io-index" 3515 + checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 3516 + 3517 + [[package]] 3518 + name = "windows_i686_gnu" 3519 + version = "0.52.6" 3520 + source = "registry+https://github.com/rust-lang/crates.io-index" 3521 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 3522 + 3523 + [[package]] 3524 + name = "windows_i686_gnu" 3525 + version = "0.53.1" 3526 + source = "registry+https://github.com/rust-lang/crates.io-index" 3527 + checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" 3528 + 3529 + [[package]] 3530 + name = "windows_i686_gnullvm" 3531 + version = "0.52.6" 3532 + source = "registry+https://github.com/rust-lang/crates.io-index" 3533 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 3534 + 3535 + [[package]] 3536 + name = "windows_i686_gnullvm" 3537 + version = "0.53.1" 3538 + source = "registry+https://github.com/rust-lang/crates.io-index" 3539 + checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 3540 + 3541 + [[package]] 3542 + name = "windows_i686_msvc" 3543 + version = "0.52.6" 3544 + source = "registry+https://github.com/rust-lang/crates.io-index" 3545 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 3546 + 3547 + [[package]] 3548 + name = "windows_i686_msvc" 3549 + version = "0.53.1" 3550 + source = "registry+https://github.com/rust-lang/crates.io-index" 3551 + checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 3552 + 3553 + [[package]] 3554 + name = "windows_x86_64_gnu" 3555 + version = "0.52.6" 3556 + source = "registry+https://github.com/rust-lang/crates.io-index" 3557 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 3558 + 3559 + [[package]] 3560 + name = "windows_x86_64_gnu" 3561 + version = "0.53.1" 3562 + source = "registry+https://github.com/rust-lang/crates.io-index" 3563 + checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 3564 + 3565 + [[package]] 3566 + name = "windows_x86_64_gnullvm" 3567 + version = "0.52.6" 3568 + source = "registry+https://github.com/rust-lang/crates.io-index" 3569 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 3570 + 3571 + [[package]] 3572 + name = "windows_x86_64_gnullvm" 3573 + version = "0.53.1" 3574 + source = "registry+https://github.com/rust-lang/crates.io-index" 3575 + checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 3576 + 3577 + [[package]] 3578 + name = "windows_x86_64_msvc" 3579 + version = "0.52.6" 3580 + source = "registry+https://github.com/rust-lang/crates.io-index" 3581 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 3582 + 3583 + [[package]] 3584 + name = "windows_x86_64_msvc" 3585 + version = "0.53.1" 3586 + source = "registry+https://github.com/rust-lang/crates.io-index" 3587 + checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" 3588 + 3589 + [[package]] 3590 + name = "wit-bindgen" 3591 + version = "0.51.0" 3592 + source = "registry+https://github.com/rust-lang/crates.io-index" 3593 + checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" 3594 + 3595 + [[package]] 3596 + name = "writeable" 3597 + version = "0.6.2" 3598 + source = "registry+https://github.com/rust-lang/crates.io-index" 3599 + checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" 3600 + 3601 + [[package]] 3602 + name = "yansi" 3603 + version = "1.0.1" 3604 + source = "registry+https://github.com/rust-lang/crates.io-index" 3605 + checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" 3606 + 3607 + [[package]] 3608 + name = "yoke" 3609 + version = "0.8.1" 3610 + source = "registry+https://github.com/rust-lang/crates.io-index" 3611 + checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" 3612 + dependencies = [ 3613 + "stable_deref_trait", 3614 + "yoke-derive", 3615 + "zerofrom", 3616 + ] 3617 + 3618 + [[package]] 3619 + name = "yoke-derive" 3620 + version = "0.8.1" 3621 + source = "registry+https://github.com/rust-lang/crates.io-index" 3622 + checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" 3623 + dependencies = [ 3624 + "proc-macro2", 3625 + "quote", 3626 + "syn 2.0.117", 3627 + "synstructure", 3628 + ] 3629 + 3630 + [[package]] 475 3631 name = "zerocopy" 476 3632 version = "0.8.39" 477 3633 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 488 3644 dependencies = [ 489 3645 "proc-macro2", 490 3646 "quote", 491 - "syn", 3647 + "syn 2.0.117", 3648 + ] 3649 + 3650 + [[package]] 3651 + name = "zerofrom" 3652 + version = "0.1.6" 3653 + source = "registry+https://github.com/rust-lang/crates.io-index" 3654 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 3655 + dependencies = [ 3656 + "zerofrom-derive", 3657 + ] 3658 + 3659 + [[package]] 3660 + name = "zerofrom-derive" 3661 + version = "0.1.6" 3662 + source = "registry+https://github.com/rust-lang/crates.io-index" 3663 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 3664 + dependencies = [ 3665 + "proc-macro2", 3666 + "quote", 3667 + "syn 2.0.117", 3668 + "synstructure", 3669 + ] 3670 + 3671 + [[package]] 3672 + name = "zeroize" 3673 + version = "1.8.2" 3674 + source = "registry+https://github.com/rust-lang/crates.io-index" 3675 + checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" 3676 + 3677 + [[package]] 3678 + name = "zerotrie" 3679 + version = "0.2.3" 3680 + source = "registry+https://github.com/rust-lang/crates.io-index" 3681 + checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" 3682 + dependencies = [ 3683 + "displaydoc", 3684 + "yoke", 3685 + "zerofrom", 492 3686 ] 3687 + 3688 + [[package]] 3689 + name = "zerovec" 3690 + version = "0.11.5" 3691 + source = "registry+https://github.com/rust-lang/crates.io-index" 3692 + checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" 3693 + dependencies = [ 3694 + "yoke", 3695 + "zerofrom", 3696 + "zerovec-derive", 3697 + ] 3698 + 3699 + [[package]] 3700 + name = "zerovec-derive" 3701 + version = "0.11.2" 3702 + source = "registry+https://github.com/rust-lang/crates.io-index" 3703 + checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" 3704 + dependencies = [ 3705 + "proc-macro2", 3706 + "quote", 3707 + "syn 2.0.117", 3708 + ] 3709 + 3710 + [[package]] 3711 + name = "zmij" 3712 + version = "1.0.21" 3713 + source = "registry+https://github.com/rust-lang/crates.io-index" 3714 + checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
+2 -4
rust/Cargo.toml
··· 4 4 edition = "2021" 5 5 6 6 [dependencies] 7 - ciborium = "0.2" 7 + jacquard-api = { version = "0.9", features = ["minimal", "streaming"] } 8 + jacquard-repo = "0.9" 8 9 serde_ipld_dagcbor = "0.6" 9 10 ipld-core = { version = "0.4", features = ["serde"] } 10 - serde = { version = "1", features = ["derive"] } 11 - serde_bytes = "0.11" 12 11 tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros"] } 13 - iroh-car = "0.5" 14 12 15 13 [profile.release] 16 14 opt-level = 3
+16 -80
rust/src/main.rs
··· 1 - //! atproto firehose benchmarks — rust (jacquard-style) 1 + //! atproto firehose benchmarks — rust (jacquard) 2 2 //! 3 - //! decodes a corpus of real firehose frames using the same decode path as jacquard: 4 - //! - ciborium for the frame header (op + message type) 5 - //! - serde_ipld_dagcbor for the typed Commit body 6 - //! - iroh-car + serde_ipld_dagcbor for CAR block extraction 3 + //! decodes a corpus of real firehose frames using jacquard's public API: 4 + //! - SubscribeReposMessage::decode_framed for frame → typed commit 5 + //! - jacquard_repo::car::parse_car_bytes for CAR → block map 6 + //! - serde_ipld_dagcbor for per-block DAG-CBOR decode 7 7 8 8 use ipld_core::ipld::Ipld; 9 - use serde::Deserialize; 10 - use std::io::Cursor; 9 + use jacquard_api::com_atproto::sync::subscribe_repos::SubscribeReposMessage; 11 10 use std::time::Instant; 12 11 13 12 const WARMUP_PASSES: usize = 2; ··· 89 88 println!(); 90 89 } 91 90 92 - // --- types matching the AT Protocol firehose subscription --- 93 - 94 - #[allow(dead_code)] 95 - #[derive(Deserialize, Debug)] 96 - struct FrameHeader { 97 - op: i64, 98 - #[serde(default)] 99 - t: Option<String>, 100 - } 101 - 102 - #[allow(dead_code)] 103 - #[derive(Deserialize, Debug)] 104 - struct Commit { 105 - seq: i64, 106 - repo: String, 107 - rev: String, 108 - time: String, 109 - #[serde(default)] 110 - since: Option<String>, 111 - #[serde(default, with = "serde_bytes")] 112 - blocks: Vec<u8>, 113 - ops: Vec<RepoOp>, 114 - #[serde(default)] 115 - #[serde(rename = "tooBig")] 116 - too_big: bool, 117 - } 118 - 119 - #[allow(dead_code)] 120 - #[derive(Deserialize, Debug)] 121 - struct RepoOp { 122 - action: String, 123 - path: String, 124 - #[serde(default)] 125 - cid: Option<Ipld>, 126 - } 127 - 128 - // --- header parsing via ciborium (what jacquard does) --- 129 - 130 - /// wrapper that tracks bytes consumed by ciborium::from_reader 131 - struct TrackingReader<R> { 132 - inner: R, 133 - bytes_read: usize, 134 - } 135 - 136 - impl<R: std::io::Read> TrackingReader<R> { 137 - fn new(inner: R) -> Self { 138 - Self { 139 - inner, 140 - bytes_read: 0, 141 - } 142 - } 143 - } 144 - 145 - impl<R: std::io::Read> std::io::Read for TrackingReader<R> { 146 - fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> { 147 - let n = self.inner.read(buf)?; 148 - self.bytes_read += n; 149 - Ok(n) 150 - } 151 - } 152 - 153 - /// full decode: frame header + typed commit + CAR blocks + record decode. 154 - /// counts blocks and errors — does not abort on per-block failures. 91 + /// full decode: jacquard decode_framed → parse_car_bytes → decode every block. 155 92 async fn decode_full(data: &[u8]) -> Result<DecodeResult, Box<dyn std::error::Error>> { 156 - let mut reader = TrackingReader::new(Cursor::new(data)); 157 - let _header: FrameHeader = ciborium::from_reader(&mut reader)?; 158 - let body = &data[reader.bytes_read..]; 159 - let commit: Commit = serde_ipld_dagcbor::from_slice(body)?; 93 + let msg = SubscribeReposMessage::decode_framed(data)?; 160 94 161 95 let mut blocks = 0usize; 162 96 let mut errors = 0usize; 163 97 164 - if !commit.blocks.is_empty() { 165 - let mut car_reader = iroh_car::CarReader::new(Cursor::new(&commit.blocks)).await?; 166 - while let Some((_cid, block_data)) = car_reader.next_block().await? { 167 - match serde_ipld_dagcbor::from_slice::<Ipld>(&block_data) { 168 - Ok(_) => blocks += 1, 169 - Err(_) => errors += 1, 98 + if let SubscribeReposMessage::Commit(commit) = msg { 99 + if !commit.blocks.is_empty() { 100 + let parsed = jacquard_repo::car::parse_car_bytes(&commit.blocks).await?; 101 + for (_cid, block_data) in &parsed.blocks { 102 + match serde_ipld_dagcbor::from_slice::<Ipld>(block_data) { 103 + Ok(_) => blocks += 1, 104 + Err(_) => errors += 1, 105 + } 170 106 } 171 107 } 172 108 }