this repo has no description
3
fork

Configure Feed

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

*: first commit

Don't you dare asking for docs okay?

Gee Sawra ab4378dd

+4382
+4
.gitignore
··· 1 + target 2 + node_modules 3 + .wrangler 4 + .dev.vars
+2654
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 4 4 + 5 + [[package]] 6 + name = "addr2line" 7 + version = "0.24.2" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 + dependencies = [ 11 + "gimli", 12 + ] 13 + 14 + [[package]] 15 + name = "adler2" 16 + version = "2.0.1" 17 + source = "registry+https://github.com/rust-lang/crates.io-index" 18 + checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 19 + 20 + [[package]] 21 + name = "aho-corasick" 22 + version = "1.1.3" 23 + source = "registry+https://github.com/rust-lang/crates.io-index" 24 + checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 + dependencies = [ 26 + "memchr", 27 + ] 28 + 29 + [[package]] 30 + name = "allocator-api2" 31 + version = "0.2.21" 32 + source = "registry+https://github.com/rust-lang/crates.io-index" 33 + checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 34 + 35 + [[package]] 36 + name = "android_system_properties" 37 + version = "0.1.5" 38 + source = "registry+https://github.com/rust-lang/crates.io-index" 39 + checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 40 + dependencies = [ 41 + "libc", 42 + ] 43 + 44 + [[package]] 45 + name = "anyhow" 46 + version = "1.0.100" 47 + source = "registry+https://github.com/rust-lang/crates.io-index" 48 + checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" 49 + 50 + [[package]] 51 + name = "async-compression" 52 + version = "0.4.30" 53 + source = "registry+https://github.com/rust-lang/crates.io-index" 54 + checksum = "977eb15ea9efd848bb8a4a1a2500347ed7f0bf794edf0dc3ddcf439f43d36b23" 55 + dependencies = [ 56 + "compression-codecs", 57 + "compression-core", 58 + "futures-core", 59 + "pin-project-lite", 60 + "tokio", 61 + ] 62 + 63 + [[package]] 64 + name = "async-lock" 65 + version = "3.4.1" 66 + source = "registry+https://github.com/rust-lang/crates.io-index" 67 + checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" 68 + dependencies = [ 69 + "event-listener", 70 + "event-listener-strategy", 71 + "pin-project-lite", 72 + ] 73 + 74 + [[package]] 75 + name = "async-trait" 76 + version = "0.1.89" 77 + source = "registry+https://github.com/rust-lang/crates.io-index" 78 + checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" 79 + dependencies = [ 80 + "proc-macro2", 81 + "quote", 82 + "syn", 83 + ] 84 + 85 + [[package]] 86 + name = "atomic-waker" 87 + version = "1.1.2" 88 + source = "registry+https://github.com/rust-lang/crates.io-index" 89 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 90 + 91 + [[package]] 92 + name = "atrium-api" 93 + version = "0.25.5" 94 + source = "registry+https://github.com/rust-lang/crates.io-index" 95 + checksum = "8bceed6a87be6213040945254aa94191490fea22b7f49dec584e349f336cc17a" 96 + dependencies = [ 97 + "atrium-common", 98 + "atrium-xrpc", 99 + "chrono", 100 + "http", 101 + "ipld-core", 102 + "langtag", 103 + "regex", 104 + "serde", 105 + "serde_bytes", 106 + "serde_json", 107 + "thiserror 1.0.69", 108 + "tokio", 109 + "trait-variant", 110 + ] 111 + 112 + [[package]] 113 + name = "atrium-common" 114 + version = "0.1.2" 115 + source = "registry+https://github.com/rust-lang/crates.io-index" 116 + checksum = "9ed5610654043faa396a5a15afac0ac646d76aebe45aebd7cef4f8b96b0ab7f4" 117 + dependencies = [ 118 + "dashmap", 119 + "lru", 120 + "moka", 121 + "thiserror 1.0.69", 122 + "tokio", 123 + "trait-variant", 124 + "web-time", 125 + ] 126 + 127 + [[package]] 128 + name = "atrium-xrpc" 129 + version = "0.12.3" 130 + source = "registry+https://github.com/rust-lang/crates.io-index" 131 + checksum = "0216ad50ce34e9ff982e171c3659e65dedaa2ed5ac2994524debdc9a9647ffa8" 132 + dependencies = [ 133 + "http", 134 + "serde", 135 + "serde_html_form", 136 + "serde_json", 137 + "thiserror 1.0.69", 138 + "trait-variant", 139 + ] 140 + 141 + [[package]] 142 + name = "atrium-xrpc-client" 143 + version = "0.5.14" 144 + source = "registry+https://github.com/rust-lang/crates.io-index" 145 + checksum = "e099e5171f79faef52364ef0657a4cab086a71b384a779a29597a91b780de0d5" 146 + dependencies = [ 147 + "atrium-xrpc", 148 + "reqwest", 149 + ] 150 + 151 + [[package]] 152 + name = "autocfg" 153 + version = "1.5.0" 154 + source = "registry+https://github.com/rust-lang/crates.io-index" 155 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 156 + 157 + [[package]] 158 + name = "backtrace" 159 + version = "0.3.75" 160 + source = "registry+https://github.com/rust-lang/crates.io-index" 161 + checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" 162 + dependencies = [ 163 + "addr2line", 164 + "cfg-if", 165 + "libc", 166 + "miniz_oxide", 167 + "object", 168 + "rustc-demangle", 169 + "windows-targets", 170 + ] 171 + 172 + [[package]] 173 + name = "base-x" 174 + version = "0.2.11" 175 + source = "registry+https://github.com/rust-lang/crates.io-index" 176 + checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" 177 + 178 + [[package]] 179 + name = "base64" 180 + version = "0.22.1" 181 + source = "registry+https://github.com/rust-lang/crates.io-index" 182 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 183 + 184 + [[package]] 185 + name = "bitflags" 186 + version = "2.9.4" 187 + source = "registry+https://github.com/rust-lang/crates.io-index" 188 + checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" 189 + 190 + [[package]] 191 + name = "bsky-sdk" 192 + version = "0.1.21" 193 + source = "registry+https://github.com/rust-lang/crates.io-index" 194 + checksum = "fac3fd5ca998d3bdb1debdd421a16a94931f61e0d805a0208907ec3b5f2cffea" 195 + dependencies = [ 196 + "anyhow", 197 + "atrium-api", 198 + "atrium-xrpc-client", 199 + "chrono", 200 + "psl", 201 + "regex", 202 + "serde", 203 + "serde_json", 204 + "thiserror 1.0.69", 205 + "trait-variant", 206 + "unicode-segmentation", 207 + ] 208 + 209 + [[package]] 210 + name = "bumpalo" 211 + version = "3.19.0" 212 + source = "registry+https://github.com/rust-lang/crates.io-index" 213 + checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 214 + 215 + [[package]] 216 + name = "bytes" 217 + version = "1.10.1" 218 + source = "registry+https://github.com/rust-lang/crates.io-index" 219 + checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 220 + 221 + [[package]] 222 + name = "cc" 223 + version = "1.2.38" 224 + source = "registry+https://github.com/rust-lang/crates.io-index" 225 + checksum = "80f41ae168f955c12fb8960b057d70d0ca153fb83182b57d86380443527be7e9" 226 + dependencies = [ 227 + "find-msvc-tools", 228 + "shlex", 229 + ] 230 + 231 + [[package]] 232 + name = "cfg-if" 233 + version = "1.0.3" 234 + source = "registry+https://github.com/rust-lang/crates.io-index" 235 + checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" 236 + 237 + [[package]] 238 + name = "chrono" 239 + version = "0.4.42" 240 + source = "registry+https://github.com/rust-lang/crates.io-index" 241 + checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" 242 + dependencies = [ 243 + "iana-time-zone", 244 + "js-sys", 245 + "num-traits", 246 + "serde", 247 + "wasm-bindgen", 248 + "windows-link 0.2.0", 249 + ] 250 + 251 + [[package]] 252 + name = "cid" 253 + version = "0.11.1" 254 + source = "registry+https://github.com/rust-lang/crates.io-index" 255 + checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" 256 + dependencies = [ 257 + "core2", 258 + "multibase", 259 + "multihash", 260 + "serde", 261 + "serde_bytes", 262 + "unsigned-varint", 263 + ] 264 + 265 + [[package]] 266 + name = "compression-codecs" 267 + version = "0.4.30" 268 + source = "registry+https://github.com/rust-lang/crates.io-index" 269 + checksum = "485abf41ac0c8047c07c87c72c8fb3eb5197f6e9d7ded615dfd1a00ae00a0f64" 270 + dependencies = [ 271 + "compression-core", 272 + "flate2", 273 + "memchr", 274 + ] 275 + 276 + [[package]] 277 + name = "compression-core" 278 + version = "0.4.29" 279 + source = "registry+https://github.com/rust-lang/crates.io-index" 280 + checksum = "e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb" 281 + 282 + [[package]] 283 + name = "concurrent-queue" 284 + version = "2.5.0" 285 + source = "registry+https://github.com/rust-lang/crates.io-index" 286 + checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 287 + dependencies = [ 288 + "crossbeam-utils", 289 + ] 290 + 291 + [[package]] 292 + name = "console_error_panic_hook" 293 + version = "0.1.7" 294 + source = "registry+https://github.com/rust-lang/crates.io-index" 295 + checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 296 + dependencies = [ 297 + "cfg-if", 298 + "wasm-bindgen", 299 + ] 300 + 301 + [[package]] 302 + name = "core-foundation" 303 + version = "0.9.4" 304 + source = "registry+https://github.com/rust-lang/crates.io-index" 305 + checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 306 + dependencies = [ 307 + "core-foundation-sys", 308 + "libc", 309 + ] 310 + 311 + [[package]] 312 + name = "core-foundation-sys" 313 + version = "0.8.7" 314 + source = "registry+https://github.com/rust-lang/crates.io-index" 315 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 316 + 317 + [[package]] 318 + name = "core2" 319 + version = "0.4.0" 320 + source = "registry+https://github.com/rust-lang/crates.io-index" 321 + checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" 322 + dependencies = [ 323 + "memchr", 324 + ] 325 + 326 + [[package]] 327 + name = "crc32fast" 328 + version = "1.5.0" 329 + source = "registry+https://github.com/rust-lang/crates.io-index" 330 + checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" 331 + dependencies = [ 332 + "cfg-if", 333 + ] 334 + 335 + [[package]] 336 + name = "crossbeam-channel" 337 + version = "0.5.15" 338 + source = "registry+https://github.com/rust-lang/crates.io-index" 339 + checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" 340 + dependencies = [ 341 + "crossbeam-utils", 342 + ] 343 + 344 + [[package]] 345 + name = "crossbeam-epoch" 346 + version = "0.9.18" 347 + source = "registry+https://github.com/rust-lang/crates.io-index" 348 + checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 349 + dependencies = [ 350 + "crossbeam-utils", 351 + ] 352 + 353 + [[package]] 354 + name = "crossbeam-utils" 355 + version = "0.8.21" 356 + source = "registry+https://github.com/rust-lang/crates.io-index" 357 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 358 + 359 + [[package]] 360 + name = "dashmap" 361 + version = "6.1.0" 362 + source = "registry+https://github.com/rust-lang/crates.io-index" 363 + checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" 364 + dependencies = [ 365 + "cfg-if", 366 + "crossbeam-utils", 367 + "hashbrown 0.14.5", 368 + "lock_api", 369 + "once_cell", 370 + "parking_lot_core", 371 + ] 372 + 373 + [[package]] 374 + name = "data-encoding" 375 + version = "2.9.0" 376 + source = "registry+https://github.com/rust-lang/crates.io-index" 377 + checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" 378 + 379 + [[package]] 380 + name = "data-encoding-macro" 381 + version = "0.1.18" 382 + source = "registry+https://github.com/rust-lang/crates.io-index" 383 + checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" 384 + dependencies = [ 385 + "data-encoding", 386 + "data-encoding-macro-internal", 387 + ] 388 + 389 + [[package]] 390 + name = "data-encoding-macro-internal" 391 + version = "0.1.16" 392 + source = "registry+https://github.com/rust-lang/crates.io-index" 393 + checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" 394 + dependencies = [ 395 + "data-encoding", 396 + "syn", 397 + ] 398 + 399 + [[package]] 400 + name = "displaydoc" 401 + version = "0.2.5" 402 + source = "registry+https://github.com/rust-lang/crates.io-index" 403 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 404 + dependencies = [ 405 + "proc-macro2", 406 + "quote", 407 + "syn", 408 + ] 409 + 410 + [[package]] 411 + name = "encoding_rs" 412 + version = "0.8.35" 413 + source = "registry+https://github.com/rust-lang/crates.io-index" 414 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 415 + dependencies = [ 416 + "cfg-if", 417 + ] 418 + 419 + [[package]] 420 + name = "equivalent" 421 + version = "1.0.2" 422 + source = "registry+https://github.com/rust-lang/crates.io-index" 423 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 424 + 425 + [[package]] 426 + name = "errno" 427 + version = "0.3.14" 428 + source = "registry+https://github.com/rust-lang/crates.io-index" 429 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 430 + dependencies = [ 431 + "libc", 432 + "windows-sys 0.61.0", 433 + ] 434 + 435 + [[package]] 436 + name = "event-listener" 437 + version = "5.4.1" 438 + source = "registry+https://github.com/rust-lang/crates.io-index" 439 + checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" 440 + dependencies = [ 441 + "concurrent-queue", 442 + "parking", 443 + "pin-project-lite", 444 + ] 445 + 446 + [[package]] 447 + name = "event-listener-strategy" 448 + version = "0.5.4" 449 + source = "registry+https://github.com/rust-lang/crates.io-index" 450 + checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" 451 + dependencies = [ 452 + "event-listener", 453 + "pin-project-lite", 454 + ] 455 + 456 + [[package]] 457 + name = "fastrand" 458 + version = "2.3.0" 459 + source = "registry+https://github.com/rust-lang/crates.io-index" 460 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 461 + 462 + [[package]] 463 + name = "find-msvc-tools" 464 + version = "0.1.2" 465 + source = "registry+https://github.com/rust-lang/crates.io-index" 466 + checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959" 467 + 468 + [[package]] 469 + name = "flate2" 470 + version = "1.1.2" 471 + source = "registry+https://github.com/rust-lang/crates.io-index" 472 + checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" 473 + dependencies = [ 474 + "crc32fast", 475 + "miniz_oxide", 476 + ] 477 + 478 + [[package]] 479 + name = "fnv" 480 + version = "1.0.7" 481 + source = "registry+https://github.com/rust-lang/crates.io-index" 482 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 483 + 484 + [[package]] 485 + name = "foldhash" 486 + version = "0.1.5" 487 + source = "registry+https://github.com/rust-lang/crates.io-index" 488 + checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 489 + 490 + [[package]] 491 + name = "foreign-types" 492 + version = "0.3.2" 493 + source = "registry+https://github.com/rust-lang/crates.io-index" 494 + checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 495 + dependencies = [ 496 + "foreign-types-shared", 497 + ] 498 + 499 + [[package]] 500 + name = "foreign-types-shared" 501 + version = "0.1.1" 502 + source = "registry+https://github.com/rust-lang/crates.io-index" 503 + checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 504 + 505 + [[package]] 506 + name = "form_urlencoded" 507 + version = "1.2.2" 508 + source = "registry+https://github.com/rust-lang/crates.io-index" 509 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 510 + dependencies = [ 511 + "percent-encoding", 512 + ] 513 + 514 + [[package]] 515 + name = "futures-channel" 516 + version = "0.3.31" 517 + source = "registry+https://github.com/rust-lang/crates.io-index" 518 + checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 519 + dependencies = [ 520 + "futures-core", 521 + ] 522 + 523 + [[package]] 524 + name = "futures-core" 525 + version = "0.3.31" 526 + source = "registry+https://github.com/rust-lang/crates.io-index" 527 + checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 528 + 529 + [[package]] 530 + name = "futures-io" 531 + version = "0.3.31" 532 + source = "registry+https://github.com/rust-lang/crates.io-index" 533 + checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 534 + 535 + [[package]] 536 + name = "futures-macro" 537 + version = "0.3.31" 538 + source = "registry+https://github.com/rust-lang/crates.io-index" 539 + checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 540 + dependencies = [ 541 + "proc-macro2", 542 + "quote", 543 + "syn", 544 + ] 545 + 546 + [[package]] 547 + name = "futures-sink" 548 + version = "0.3.31" 549 + source = "registry+https://github.com/rust-lang/crates.io-index" 550 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 551 + 552 + [[package]] 553 + name = "futures-task" 554 + version = "0.3.31" 555 + source = "registry+https://github.com/rust-lang/crates.io-index" 556 + checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 557 + 558 + [[package]] 559 + name = "futures-util" 560 + version = "0.3.31" 561 + source = "registry+https://github.com/rust-lang/crates.io-index" 562 + checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 563 + dependencies = [ 564 + "futures-core", 565 + "futures-io", 566 + "futures-macro", 567 + "futures-sink", 568 + "futures-task", 569 + "memchr", 570 + "pin-project-lite", 571 + "pin-utils", 572 + "slab", 573 + ] 574 + 575 + [[package]] 576 + name = "generator" 577 + version = "0.8.7" 578 + source = "registry+https://github.com/rust-lang/crates.io-index" 579 + checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" 580 + dependencies = [ 581 + "cc", 582 + "cfg-if", 583 + "libc", 584 + "log", 585 + "rustversion", 586 + "windows", 587 + ] 588 + 589 + [[package]] 590 + name = "getrandom" 591 + version = "0.2.16" 592 + source = "registry+https://github.com/rust-lang/crates.io-index" 593 + checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" 594 + dependencies = [ 595 + "cfg-if", 596 + "libc", 597 + "wasi 0.11.1+wasi-snapshot-preview1", 598 + ] 599 + 600 + [[package]] 601 + name = "getrandom" 602 + version = "0.3.3" 603 + source = "registry+https://github.com/rust-lang/crates.io-index" 604 + checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 605 + dependencies = [ 606 + "cfg-if", 607 + "libc", 608 + "r-efi", 609 + "wasi 0.14.7+wasi-0.2.4", 610 + ] 611 + 612 + [[package]] 613 + name = "gimli" 614 + version = "0.31.1" 615 + source = "registry+https://github.com/rust-lang/crates.io-index" 616 + checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 617 + 618 + [[package]] 619 + name = "h2" 620 + version = "0.4.12" 621 + source = "registry+https://github.com/rust-lang/crates.io-index" 622 + checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" 623 + dependencies = [ 624 + "atomic-waker", 625 + "bytes", 626 + "fnv", 627 + "futures-core", 628 + "futures-sink", 629 + "http", 630 + "indexmap", 631 + "slab", 632 + "tokio", 633 + "tokio-util", 634 + "tracing", 635 + ] 636 + 637 + [[package]] 638 + name = "hashbrown" 639 + version = "0.14.5" 640 + source = "registry+https://github.com/rust-lang/crates.io-index" 641 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 642 + 643 + [[package]] 644 + name = "hashbrown" 645 + version = "0.15.5" 646 + source = "registry+https://github.com/rust-lang/crates.io-index" 647 + checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 648 + dependencies = [ 649 + "allocator-api2", 650 + "equivalent", 651 + "foldhash", 652 + ] 653 + 654 + [[package]] 655 + name = "hashbrown" 656 + version = "0.16.0" 657 + source = "registry+https://github.com/rust-lang/crates.io-index" 658 + checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" 659 + 660 + [[package]] 661 + name = "http" 662 + version = "1.3.1" 663 + source = "registry+https://github.com/rust-lang/crates.io-index" 664 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 665 + dependencies = [ 666 + "bytes", 667 + "fnv", 668 + "itoa", 669 + ] 670 + 671 + [[package]] 672 + name = "http-body" 673 + version = "1.0.1" 674 + source = "registry+https://github.com/rust-lang/crates.io-index" 675 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 676 + dependencies = [ 677 + "bytes", 678 + "http", 679 + ] 680 + 681 + [[package]] 682 + name = "http-body-util" 683 + version = "0.1.3" 684 + source = "registry+https://github.com/rust-lang/crates.io-index" 685 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 686 + dependencies = [ 687 + "bytes", 688 + "futures-core", 689 + "http", 690 + "http-body", 691 + "pin-project-lite", 692 + ] 693 + 694 + [[package]] 695 + name = "httparse" 696 + version = "1.10.1" 697 + source = "registry+https://github.com/rust-lang/crates.io-index" 698 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 699 + 700 + [[package]] 701 + name = "hyper" 702 + version = "1.7.0" 703 + source = "registry+https://github.com/rust-lang/crates.io-index" 704 + checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" 705 + dependencies = [ 706 + "atomic-waker", 707 + "bytes", 708 + "futures-channel", 709 + "futures-core", 710 + "h2", 711 + "http", 712 + "http-body", 713 + "httparse", 714 + "itoa", 715 + "pin-project-lite", 716 + "pin-utils", 717 + "smallvec", 718 + "tokio", 719 + "want", 720 + ] 721 + 722 + [[package]] 723 + name = "hyper-rustls" 724 + version = "0.27.7" 725 + source = "registry+https://github.com/rust-lang/crates.io-index" 726 + checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" 727 + dependencies = [ 728 + "http", 729 + "hyper", 730 + "hyper-util", 731 + "rustls", 732 + "rustls-pki-types", 733 + "tokio", 734 + "tokio-rustls", 735 + "tower-service", 736 + ] 737 + 738 + [[package]] 739 + name = "hyper-tls" 740 + version = "0.6.0" 741 + source = "registry+https://github.com/rust-lang/crates.io-index" 742 + checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 743 + dependencies = [ 744 + "bytes", 745 + "http-body-util", 746 + "hyper", 747 + "hyper-util", 748 + "native-tls", 749 + "tokio", 750 + "tokio-native-tls", 751 + "tower-service", 752 + ] 753 + 754 + [[package]] 755 + name = "hyper-util" 756 + version = "0.1.17" 757 + source = "registry+https://github.com/rust-lang/crates.io-index" 758 + checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" 759 + dependencies = [ 760 + "base64", 761 + "bytes", 762 + "futures-channel", 763 + "futures-core", 764 + "futures-util", 765 + "http", 766 + "http-body", 767 + "hyper", 768 + "ipnet", 769 + "libc", 770 + "percent-encoding", 771 + "pin-project-lite", 772 + "socket2", 773 + "system-configuration", 774 + "tokio", 775 + "tower-service", 776 + "tracing", 777 + "windows-registry", 778 + ] 779 + 780 + [[package]] 781 + name = "iana-time-zone" 782 + version = "0.1.64" 783 + source = "registry+https://github.com/rust-lang/crates.io-index" 784 + checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" 785 + dependencies = [ 786 + "android_system_properties", 787 + "core-foundation-sys", 788 + "iana-time-zone-haiku", 789 + "js-sys", 790 + "log", 791 + "wasm-bindgen", 792 + "windows-core 0.62.0", 793 + ] 794 + 795 + [[package]] 796 + name = "iana-time-zone-haiku" 797 + version = "0.1.2" 798 + source = "registry+https://github.com/rust-lang/crates.io-index" 799 + checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 800 + dependencies = [ 801 + "cc", 802 + ] 803 + 804 + [[package]] 805 + name = "icu_collections" 806 + version = "2.0.0" 807 + source = "registry+https://github.com/rust-lang/crates.io-index" 808 + checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" 809 + dependencies = [ 810 + "displaydoc", 811 + "potential_utf", 812 + "yoke", 813 + "zerofrom", 814 + "zerovec", 815 + ] 816 + 817 + [[package]] 818 + name = "icu_locale_core" 819 + version = "2.0.0" 820 + source = "registry+https://github.com/rust-lang/crates.io-index" 821 + checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" 822 + dependencies = [ 823 + "displaydoc", 824 + "litemap", 825 + "tinystr", 826 + "writeable", 827 + "zerovec", 828 + ] 829 + 830 + [[package]] 831 + name = "icu_normalizer" 832 + version = "2.0.0" 833 + source = "registry+https://github.com/rust-lang/crates.io-index" 834 + checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" 835 + dependencies = [ 836 + "displaydoc", 837 + "icu_collections", 838 + "icu_normalizer_data", 839 + "icu_properties", 840 + "icu_provider", 841 + "smallvec", 842 + "zerovec", 843 + ] 844 + 845 + [[package]] 846 + name = "icu_normalizer_data" 847 + version = "2.0.0" 848 + source = "registry+https://github.com/rust-lang/crates.io-index" 849 + checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" 850 + 851 + [[package]] 852 + name = "icu_properties" 853 + version = "2.0.1" 854 + source = "registry+https://github.com/rust-lang/crates.io-index" 855 + checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" 856 + dependencies = [ 857 + "displaydoc", 858 + "icu_collections", 859 + "icu_locale_core", 860 + "icu_properties_data", 861 + "icu_provider", 862 + "potential_utf", 863 + "zerotrie", 864 + "zerovec", 865 + ] 866 + 867 + [[package]] 868 + name = "icu_properties_data" 869 + version = "2.0.1" 870 + source = "registry+https://github.com/rust-lang/crates.io-index" 871 + checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" 872 + 873 + [[package]] 874 + name = "icu_provider" 875 + version = "2.0.0" 876 + source = "registry+https://github.com/rust-lang/crates.io-index" 877 + checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" 878 + dependencies = [ 879 + "displaydoc", 880 + "icu_locale_core", 881 + "stable_deref_trait", 882 + "tinystr", 883 + "writeable", 884 + "yoke", 885 + "zerofrom", 886 + "zerotrie", 887 + "zerovec", 888 + ] 889 + 890 + [[package]] 891 + name = "idna" 892 + version = "1.1.0" 893 + source = "registry+https://github.com/rust-lang/crates.io-index" 894 + checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" 895 + dependencies = [ 896 + "idna_adapter", 897 + "smallvec", 898 + "utf8_iter", 899 + ] 900 + 901 + [[package]] 902 + name = "idna_adapter" 903 + version = "1.2.1" 904 + source = "registry+https://github.com/rust-lang/crates.io-index" 905 + checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 906 + dependencies = [ 907 + "icu_normalizer", 908 + "icu_properties", 909 + ] 910 + 911 + [[package]] 912 + name = "indexmap" 913 + version = "2.11.4" 914 + source = "registry+https://github.com/rust-lang/crates.io-index" 915 + checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" 916 + dependencies = [ 917 + "equivalent", 918 + "hashbrown 0.16.0", 919 + ] 920 + 921 + [[package]] 922 + name = "io-uring" 923 + version = "0.7.10" 924 + source = "registry+https://github.com/rust-lang/crates.io-index" 925 + checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" 926 + dependencies = [ 927 + "bitflags", 928 + "cfg-if", 929 + "libc", 930 + ] 931 + 932 + [[package]] 933 + name = "ipld-core" 934 + version = "0.4.2" 935 + source = "registry+https://github.com/rust-lang/crates.io-index" 936 + checksum = "104718b1cc124d92a6d01ca9c9258a7df311405debb3408c445a36452f9bf8db" 937 + dependencies = [ 938 + "cid", 939 + "serde", 940 + "serde_bytes", 941 + ] 942 + 943 + [[package]] 944 + name = "ipnet" 945 + version = "2.11.0" 946 + source = "registry+https://github.com/rust-lang/crates.io-index" 947 + checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" 948 + 949 + [[package]] 950 + name = "iri-string" 951 + version = "0.7.8" 952 + source = "registry+https://github.com/rust-lang/crates.io-index" 953 + checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" 954 + dependencies = [ 955 + "memchr", 956 + "serde", 957 + ] 958 + 959 + [[package]] 960 + name = "itoa" 961 + version = "1.0.15" 962 + source = "registry+https://github.com/rust-lang/crates.io-index" 963 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 964 + 965 + [[package]] 966 + name = "js-sys" 967 + version = "0.3.80" 968 + source = "registry+https://github.com/rust-lang/crates.io-index" 969 + checksum = "852f13bec5eba4ba9afbeb93fd7c13fe56147f055939ae21c43a29a0ecb2702e" 970 + dependencies = [ 971 + "once_cell", 972 + "wasm-bindgen", 973 + ] 974 + 975 + [[package]] 976 + name = "langtag" 977 + version = "0.3.4" 978 + source = "registry+https://github.com/rust-lang/crates.io-index" 979 + checksum = "ed60c85f254d6ae8450cec15eedd921efbc4d1bdf6fcf6202b9a58b403f6f805" 980 + dependencies = [ 981 + "serde", 982 + ] 983 + 984 + [[package]] 985 + name = "lazy_static" 986 + version = "1.5.0" 987 + source = "registry+https://github.com/rust-lang/crates.io-index" 988 + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 989 + 990 + [[package]] 991 + name = "libc" 992 + version = "0.2.175" 993 + source = "registry+https://github.com/rust-lang/crates.io-index" 994 + checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" 995 + 996 + [[package]] 997 + name = "linux-raw-sys" 998 + version = "0.11.0" 999 + source = "registry+https://github.com/rust-lang/crates.io-index" 1000 + checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" 1001 + 1002 + [[package]] 1003 + name = "litemap" 1004 + version = "0.8.0" 1005 + source = "registry+https://github.com/rust-lang/crates.io-index" 1006 + checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" 1007 + 1008 + [[package]] 1009 + name = "lock_api" 1010 + version = "0.4.13" 1011 + source = "registry+https://github.com/rust-lang/crates.io-index" 1012 + checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" 1013 + dependencies = [ 1014 + "autocfg", 1015 + "scopeguard", 1016 + ] 1017 + 1018 + [[package]] 1019 + name = "log" 1020 + version = "0.4.28" 1021 + source = "registry+https://github.com/rust-lang/crates.io-index" 1022 + checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" 1023 + 1024 + [[package]] 1025 + name = "loom" 1026 + version = "0.7.2" 1027 + source = "registry+https://github.com/rust-lang/crates.io-index" 1028 + checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" 1029 + dependencies = [ 1030 + "cfg-if", 1031 + "generator", 1032 + "scoped-tls", 1033 + "tracing", 1034 + "tracing-subscriber", 1035 + ] 1036 + 1037 + [[package]] 1038 + name = "lru" 1039 + version = "0.12.5" 1040 + source = "registry+https://github.com/rust-lang/crates.io-index" 1041 + checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" 1042 + dependencies = [ 1043 + "hashbrown 0.15.5", 1044 + ] 1045 + 1046 + [[package]] 1047 + name = "matchers" 1048 + version = "0.2.0" 1049 + source = "registry+https://github.com/rust-lang/crates.io-index" 1050 + checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" 1051 + dependencies = [ 1052 + "regex-automata", 1053 + ] 1054 + 1055 + [[package]] 1056 + name = "matchit" 1057 + version = "0.7.3" 1058 + source = "registry+https://github.com/rust-lang/crates.io-index" 1059 + checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" 1060 + 1061 + [[package]] 1062 + name = "memchr" 1063 + version = "2.7.5" 1064 + source = "registry+https://github.com/rust-lang/crates.io-index" 1065 + checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" 1066 + 1067 + [[package]] 1068 + name = "mime" 1069 + version = "0.3.17" 1070 + source = "registry+https://github.com/rust-lang/crates.io-index" 1071 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1072 + 1073 + [[package]] 1074 + name = "miniz_oxide" 1075 + version = "0.8.9" 1076 + source = "registry+https://github.com/rust-lang/crates.io-index" 1077 + checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 1078 + dependencies = [ 1079 + "adler2", 1080 + ] 1081 + 1082 + [[package]] 1083 + name = "mio" 1084 + version = "1.0.4" 1085 + source = "registry+https://github.com/rust-lang/crates.io-index" 1086 + checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 1087 + dependencies = [ 1088 + "libc", 1089 + "wasi 0.11.1+wasi-snapshot-preview1", 1090 + "windows-sys 0.59.0", 1091 + ] 1092 + 1093 + [[package]] 1094 + name = "moka" 1095 + version = "0.12.10" 1096 + source = "registry+https://github.com/rust-lang/crates.io-index" 1097 + checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" 1098 + dependencies = [ 1099 + "async-lock", 1100 + "crossbeam-channel", 1101 + "crossbeam-epoch", 1102 + "crossbeam-utils", 1103 + "event-listener", 1104 + "futures-util", 1105 + "loom", 1106 + "parking_lot", 1107 + "portable-atomic", 1108 + "rustc_version", 1109 + "smallvec", 1110 + "tagptr", 1111 + "thiserror 1.0.69", 1112 + "uuid", 1113 + ] 1114 + 1115 + [[package]] 1116 + name = "multibase" 1117 + version = "0.9.1" 1118 + source = "registry+https://github.com/rust-lang/crates.io-index" 1119 + checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" 1120 + dependencies = [ 1121 + "base-x", 1122 + "data-encoding", 1123 + "data-encoding-macro", 1124 + ] 1125 + 1126 + [[package]] 1127 + name = "multihash" 1128 + version = "0.19.3" 1129 + source = "registry+https://github.com/rust-lang/crates.io-index" 1130 + checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" 1131 + dependencies = [ 1132 + "core2", 1133 + "serde", 1134 + "unsigned-varint", 1135 + ] 1136 + 1137 + [[package]] 1138 + name = "native-tls" 1139 + version = "0.2.14" 1140 + source = "registry+https://github.com/rust-lang/crates.io-index" 1141 + checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" 1142 + dependencies = [ 1143 + "libc", 1144 + "log", 1145 + "openssl", 1146 + "openssl-probe", 1147 + "openssl-sys", 1148 + "schannel", 1149 + "security-framework", 1150 + "security-framework-sys", 1151 + "tempfile", 1152 + ] 1153 + 1154 + [[package]] 1155 + name = "nu-ansi-term" 1156 + version = "0.50.1" 1157 + source = "registry+https://github.com/rust-lang/crates.io-index" 1158 + checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" 1159 + dependencies = [ 1160 + "windows-sys 0.52.0", 1161 + ] 1162 + 1163 + [[package]] 1164 + name = "num-traits" 1165 + version = "0.2.19" 1166 + source = "registry+https://github.com/rust-lang/crates.io-index" 1167 + checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1168 + dependencies = [ 1169 + "autocfg", 1170 + ] 1171 + 1172 + [[package]] 1173 + name = "object" 1174 + version = "0.36.7" 1175 + source = "registry+https://github.com/rust-lang/crates.io-index" 1176 + checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 1177 + dependencies = [ 1178 + "memchr", 1179 + ] 1180 + 1181 + [[package]] 1182 + name = "once_cell" 1183 + version = "1.21.3" 1184 + source = "registry+https://github.com/rust-lang/crates.io-index" 1185 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 1186 + 1187 + [[package]] 1188 + name = "openssl" 1189 + version = "0.10.73" 1190 + source = "registry+https://github.com/rust-lang/crates.io-index" 1191 + checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" 1192 + dependencies = [ 1193 + "bitflags", 1194 + "cfg-if", 1195 + "foreign-types", 1196 + "libc", 1197 + "once_cell", 1198 + "openssl-macros", 1199 + "openssl-sys", 1200 + ] 1201 + 1202 + [[package]] 1203 + name = "openssl-macros" 1204 + version = "0.1.1" 1205 + source = "registry+https://github.com/rust-lang/crates.io-index" 1206 + checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 1207 + dependencies = [ 1208 + "proc-macro2", 1209 + "quote", 1210 + "syn", 1211 + ] 1212 + 1213 + [[package]] 1214 + name = "openssl-probe" 1215 + version = "0.1.6" 1216 + source = "registry+https://github.com/rust-lang/crates.io-index" 1217 + checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" 1218 + 1219 + [[package]] 1220 + name = "openssl-sys" 1221 + version = "0.9.109" 1222 + source = "registry+https://github.com/rust-lang/crates.io-index" 1223 + checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" 1224 + dependencies = [ 1225 + "cc", 1226 + "libc", 1227 + "pkg-config", 1228 + "vcpkg", 1229 + ] 1230 + 1231 + [[package]] 1232 + name = "parking" 1233 + version = "2.2.1" 1234 + source = "registry+https://github.com/rust-lang/crates.io-index" 1235 + checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 1236 + 1237 + [[package]] 1238 + name = "parking_lot" 1239 + version = "0.12.4" 1240 + source = "registry+https://github.com/rust-lang/crates.io-index" 1241 + checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" 1242 + dependencies = [ 1243 + "lock_api", 1244 + "parking_lot_core", 1245 + ] 1246 + 1247 + [[package]] 1248 + name = "parking_lot_core" 1249 + version = "0.9.11" 1250 + source = "registry+https://github.com/rust-lang/crates.io-index" 1251 + checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" 1252 + dependencies = [ 1253 + "cfg-if", 1254 + "libc", 1255 + "redox_syscall", 1256 + "smallvec", 1257 + "windows-targets", 1258 + ] 1259 + 1260 + [[package]] 1261 + name = "percent-encoding" 1262 + version = "2.3.2" 1263 + source = "registry+https://github.com/rust-lang/crates.io-index" 1264 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 1265 + 1266 + [[package]] 1267 + name = "pin-project" 1268 + version = "1.1.10" 1269 + source = "registry+https://github.com/rust-lang/crates.io-index" 1270 + checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 1271 + dependencies = [ 1272 + "pin-project-internal", 1273 + ] 1274 + 1275 + [[package]] 1276 + name = "pin-project-internal" 1277 + version = "1.1.10" 1278 + source = "registry+https://github.com/rust-lang/crates.io-index" 1279 + checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 1280 + dependencies = [ 1281 + "proc-macro2", 1282 + "quote", 1283 + "syn", 1284 + ] 1285 + 1286 + [[package]] 1287 + name = "pin-project-lite" 1288 + version = "0.2.16" 1289 + source = "registry+https://github.com/rust-lang/crates.io-index" 1290 + checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 1291 + 1292 + [[package]] 1293 + name = "pin-utils" 1294 + version = "0.1.0" 1295 + source = "registry+https://github.com/rust-lang/crates.io-index" 1296 + checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1297 + 1298 + [[package]] 1299 + name = "pkg-config" 1300 + version = "0.3.32" 1301 + source = "registry+https://github.com/rust-lang/crates.io-index" 1302 + checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 1303 + 1304 + [[package]] 1305 + name = "portable-atomic" 1306 + version = "1.11.1" 1307 + source = "registry+https://github.com/rust-lang/crates.io-index" 1308 + checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" 1309 + 1310 + [[package]] 1311 + name = "potential_utf" 1312 + version = "0.1.3" 1313 + source = "registry+https://github.com/rust-lang/crates.io-index" 1314 + checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" 1315 + dependencies = [ 1316 + "zerovec", 1317 + ] 1318 + 1319 + [[package]] 1320 + name = "proc-macro2" 1321 + version = "1.0.101" 1322 + source = "registry+https://github.com/rust-lang/crates.io-index" 1323 + checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" 1324 + dependencies = [ 1325 + "unicode-ident", 1326 + ] 1327 + 1328 + [[package]] 1329 + name = "psl" 1330 + version = "2.1.141" 1331 + source = "registry+https://github.com/rust-lang/crates.io-index" 1332 + checksum = "98c10a4dce9ad24c1fad826cffc79a624cf626bfaddb466e969368a53d877b30" 1333 + dependencies = [ 1334 + "psl-types", 1335 + ] 1336 + 1337 + [[package]] 1338 + name = "psl-types" 1339 + version = "2.0.11" 1340 + source = "registry+https://github.com/rust-lang/crates.io-index" 1341 + checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" 1342 + 1343 + [[package]] 1344 + name = "quote" 1345 + version = "1.0.40" 1346 + source = "registry+https://github.com/rust-lang/crates.io-index" 1347 + checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 1348 + dependencies = [ 1349 + "proc-macro2", 1350 + ] 1351 + 1352 + [[package]] 1353 + name = "r-efi" 1354 + version = "5.3.0" 1355 + source = "registry+https://github.com/rust-lang/crates.io-index" 1356 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 1357 + 1358 + [[package]] 1359 + name = "redox_syscall" 1360 + version = "0.5.17" 1361 + source = "registry+https://github.com/rust-lang/crates.io-index" 1362 + checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" 1363 + dependencies = [ 1364 + "bitflags", 1365 + ] 1366 + 1367 + [[package]] 1368 + name = "regex" 1369 + version = "1.11.2" 1370 + source = "registry+https://github.com/rust-lang/crates.io-index" 1371 + checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" 1372 + dependencies = [ 1373 + "aho-corasick", 1374 + "memchr", 1375 + "regex-automata", 1376 + "regex-syntax", 1377 + ] 1378 + 1379 + [[package]] 1380 + name = "regex-automata" 1381 + version = "0.4.10" 1382 + source = "registry+https://github.com/rust-lang/crates.io-index" 1383 + checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" 1384 + dependencies = [ 1385 + "aho-corasick", 1386 + "memchr", 1387 + "regex-syntax", 1388 + ] 1389 + 1390 + [[package]] 1391 + name = "regex-syntax" 1392 + version = "0.8.6" 1393 + source = "registry+https://github.com/rust-lang/crates.io-index" 1394 + checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" 1395 + 1396 + [[package]] 1397 + name = "reqwest" 1398 + version = "0.12.23" 1399 + source = "registry+https://github.com/rust-lang/crates.io-index" 1400 + checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" 1401 + dependencies = [ 1402 + "async-compression", 1403 + "base64", 1404 + "bytes", 1405 + "encoding_rs", 1406 + "futures-core", 1407 + "futures-util", 1408 + "h2", 1409 + "http", 1410 + "http-body", 1411 + "http-body-util", 1412 + "hyper", 1413 + "hyper-rustls", 1414 + "hyper-tls", 1415 + "hyper-util", 1416 + "js-sys", 1417 + "log", 1418 + "mime", 1419 + "native-tls", 1420 + "percent-encoding", 1421 + "pin-project-lite", 1422 + "rustls-pki-types", 1423 + "serde", 1424 + "serde_json", 1425 + "serde_urlencoded", 1426 + "sync_wrapper", 1427 + "tokio", 1428 + "tokio-native-tls", 1429 + "tokio-util", 1430 + "tower", 1431 + "tower-http", 1432 + "tower-service", 1433 + "url", 1434 + "wasm-bindgen", 1435 + "wasm-bindgen-futures", 1436 + "web-sys", 1437 + ] 1438 + 1439 + [[package]] 1440 + name = "ring" 1441 + version = "0.17.14" 1442 + source = "registry+https://github.com/rust-lang/crates.io-index" 1443 + checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 1444 + dependencies = [ 1445 + "cc", 1446 + "cfg-if", 1447 + "getrandom 0.2.16", 1448 + "libc", 1449 + "untrusted", 1450 + "windows-sys 0.52.0", 1451 + ] 1452 + 1453 + [[package]] 1454 + name = "rustc-demangle" 1455 + version = "0.1.26" 1456 + source = "registry+https://github.com/rust-lang/crates.io-index" 1457 + checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" 1458 + 1459 + [[package]] 1460 + name = "rustc_version" 1461 + version = "0.4.1" 1462 + source = "registry+https://github.com/rust-lang/crates.io-index" 1463 + checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 1464 + dependencies = [ 1465 + "semver", 1466 + ] 1467 + 1468 + [[package]] 1469 + name = "rustix" 1470 + version = "1.1.2" 1471 + source = "registry+https://github.com/rust-lang/crates.io-index" 1472 + checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" 1473 + dependencies = [ 1474 + "bitflags", 1475 + "errno", 1476 + "libc", 1477 + "linux-raw-sys", 1478 + "windows-sys 0.61.0", 1479 + ] 1480 + 1481 + [[package]] 1482 + name = "rustls" 1483 + version = "0.23.31" 1484 + source = "registry+https://github.com/rust-lang/crates.io-index" 1485 + checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" 1486 + dependencies = [ 1487 + "once_cell", 1488 + "rustls-pki-types", 1489 + "rustls-webpki", 1490 + "subtle", 1491 + "zeroize", 1492 + ] 1493 + 1494 + [[package]] 1495 + name = "rustls-pki-types" 1496 + version = "1.12.0" 1497 + source = "registry+https://github.com/rust-lang/crates.io-index" 1498 + checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" 1499 + dependencies = [ 1500 + "zeroize", 1501 + ] 1502 + 1503 + [[package]] 1504 + name = "rustls-webpki" 1505 + version = "0.103.6" 1506 + source = "registry+https://github.com/rust-lang/crates.io-index" 1507 + checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb" 1508 + dependencies = [ 1509 + "ring", 1510 + "rustls-pki-types", 1511 + "untrusted", 1512 + ] 1513 + 1514 + [[package]] 1515 + name = "rustversion" 1516 + version = "1.0.22" 1517 + source = "registry+https://github.com/rust-lang/crates.io-index" 1518 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 1519 + 1520 + [[package]] 1521 + name = "ryu" 1522 + version = "1.0.20" 1523 + source = "registry+https://github.com/rust-lang/crates.io-index" 1524 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1525 + 1526 + [[package]] 1527 + name = "schannel" 1528 + version = "0.1.28" 1529 + source = "registry+https://github.com/rust-lang/crates.io-index" 1530 + checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" 1531 + dependencies = [ 1532 + "windows-sys 0.61.0", 1533 + ] 1534 + 1535 + [[package]] 1536 + name = "scoped-tls" 1537 + version = "1.0.1" 1538 + source = "registry+https://github.com/rust-lang/crates.io-index" 1539 + checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 1540 + 1541 + [[package]] 1542 + name = "scopeguard" 1543 + version = "1.2.0" 1544 + source = "registry+https://github.com/rust-lang/crates.io-index" 1545 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1546 + 1547 + [[package]] 1548 + name = "security-framework" 1549 + version = "2.11.1" 1550 + source = "registry+https://github.com/rust-lang/crates.io-index" 1551 + checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 1552 + dependencies = [ 1553 + "bitflags", 1554 + "core-foundation", 1555 + "core-foundation-sys", 1556 + "libc", 1557 + "security-framework-sys", 1558 + ] 1559 + 1560 + [[package]] 1561 + name = "security-framework-sys" 1562 + version = "2.15.0" 1563 + source = "registry+https://github.com/rust-lang/crates.io-index" 1564 + checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" 1565 + dependencies = [ 1566 + "core-foundation-sys", 1567 + "libc", 1568 + ] 1569 + 1570 + [[package]] 1571 + name = "semver" 1572 + version = "1.0.27" 1573 + source = "registry+https://github.com/rust-lang/crates.io-index" 1574 + checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" 1575 + 1576 + [[package]] 1577 + name = "serde" 1578 + version = "1.0.225" 1579 + source = "registry+https://github.com/rust-lang/crates.io-index" 1580 + checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d" 1581 + dependencies = [ 1582 + "serde_core", 1583 + "serde_derive", 1584 + ] 1585 + 1586 + [[package]] 1587 + name = "serde-wasm-bindgen" 1588 + version = "0.6.5" 1589 + source = "registry+https://github.com/rust-lang/crates.io-index" 1590 + checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" 1591 + dependencies = [ 1592 + "js-sys", 1593 + "serde", 1594 + "wasm-bindgen", 1595 + ] 1596 + 1597 + [[package]] 1598 + name = "serde_bytes" 1599 + version = "0.11.19" 1600 + source = "registry+https://github.com/rust-lang/crates.io-index" 1601 + checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" 1602 + dependencies = [ 1603 + "serde", 1604 + "serde_core", 1605 + ] 1606 + 1607 + [[package]] 1608 + name = "serde_core" 1609 + version = "1.0.225" 1610 + source = "registry+https://github.com/rust-lang/crates.io-index" 1611 + checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383" 1612 + dependencies = [ 1613 + "serde_derive", 1614 + ] 1615 + 1616 + [[package]] 1617 + name = "serde_derive" 1618 + version = "1.0.225" 1619 + source = "registry+https://github.com/rust-lang/crates.io-index" 1620 + checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516" 1621 + dependencies = [ 1622 + "proc-macro2", 1623 + "quote", 1624 + "syn", 1625 + ] 1626 + 1627 + [[package]] 1628 + name = "serde_html_form" 1629 + version = "0.2.8" 1630 + source = "registry+https://github.com/rust-lang/crates.io-index" 1631 + checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" 1632 + dependencies = [ 1633 + "form_urlencoded", 1634 + "indexmap", 1635 + "itoa", 1636 + "ryu", 1637 + "serde_core", 1638 + ] 1639 + 1640 + [[package]] 1641 + name = "serde_json" 1642 + version = "1.0.145" 1643 + source = "registry+https://github.com/rust-lang/crates.io-index" 1644 + checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" 1645 + dependencies = [ 1646 + "itoa", 1647 + "memchr", 1648 + "ryu", 1649 + "serde", 1650 + "serde_core", 1651 + ] 1652 + 1653 + [[package]] 1654 + name = "serde_urlencoded" 1655 + version = "0.7.1" 1656 + source = "registry+https://github.com/rust-lang/crates.io-index" 1657 + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1658 + dependencies = [ 1659 + "form_urlencoded", 1660 + "itoa", 1661 + "ryu", 1662 + "serde", 1663 + ] 1664 + 1665 + [[package]] 1666 + name = "sharded-slab" 1667 + version = "0.1.7" 1668 + source = "registry+https://github.com/rust-lang/crates.io-index" 1669 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 1670 + dependencies = [ 1671 + "lazy_static", 1672 + ] 1673 + 1674 + [[package]] 1675 + name = "shlex" 1676 + version = "1.3.0" 1677 + source = "registry+https://github.com/rust-lang/crates.io-index" 1678 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1679 + 1680 + [[package]] 1681 + name = "skeetfm" 1682 + version = "0.1.0" 1683 + dependencies = [ 1684 + "atrium-api", 1685 + "bsky-sdk", 1686 + "console_error_panic_hook", 1687 + "log", 1688 + "reqwest", 1689 + "serde", 1690 + "serde_derive", 1691 + "serde_json", 1692 + "wasm-logger", 1693 + "worker", 1694 + "worker-macros", 1695 + ] 1696 + 1697 + [[package]] 1698 + name = "slab" 1699 + version = "0.4.11" 1700 + source = "registry+https://github.com/rust-lang/crates.io-index" 1701 + checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" 1702 + 1703 + [[package]] 1704 + name = "smallvec" 1705 + version = "1.15.1" 1706 + source = "registry+https://github.com/rust-lang/crates.io-index" 1707 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 1708 + 1709 + [[package]] 1710 + name = "socket2" 1711 + version = "0.6.0" 1712 + source = "registry+https://github.com/rust-lang/crates.io-index" 1713 + checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" 1714 + dependencies = [ 1715 + "libc", 1716 + "windows-sys 0.59.0", 1717 + ] 1718 + 1719 + [[package]] 1720 + name = "stable_deref_trait" 1721 + version = "1.2.0" 1722 + source = "registry+https://github.com/rust-lang/crates.io-index" 1723 + checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1724 + 1725 + [[package]] 1726 + name = "subtle" 1727 + version = "2.6.1" 1728 + source = "registry+https://github.com/rust-lang/crates.io-index" 1729 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 1730 + 1731 + [[package]] 1732 + name = "syn" 1733 + version = "2.0.106" 1734 + source = "registry+https://github.com/rust-lang/crates.io-index" 1735 + checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" 1736 + dependencies = [ 1737 + "proc-macro2", 1738 + "quote", 1739 + "unicode-ident", 1740 + ] 1741 + 1742 + [[package]] 1743 + name = "sync_wrapper" 1744 + version = "1.0.2" 1745 + source = "registry+https://github.com/rust-lang/crates.io-index" 1746 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 1747 + dependencies = [ 1748 + "futures-core", 1749 + ] 1750 + 1751 + [[package]] 1752 + name = "synstructure" 1753 + version = "0.13.2" 1754 + source = "registry+https://github.com/rust-lang/crates.io-index" 1755 + checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 1756 + dependencies = [ 1757 + "proc-macro2", 1758 + "quote", 1759 + "syn", 1760 + ] 1761 + 1762 + [[package]] 1763 + name = "system-configuration" 1764 + version = "0.6.1" 1765 + source = "registry+https://github.com/rust-lang/crates.io-index" 1766 + checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" 1767 + dependencies = [ 1768 + "bitflags", 1769 + "core-foundation", 1770 + "system-configuration-sys", 1771 + ] 1772 + 1773 + [[package]] 1774 + name = "system-configuration-sys" 1775 + version = "0.6.0" 1776 + source = "registry+https://github.com/rust-lang/crates.io-index" 1777 + checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" 1778 + dependencies = [ 1779 + "core-foundation-sys", 1780 + "libc", 1781 + ] 1782 + 1783 + [[package]] 1784 + name = "tagptr" 1785 + version = "0.2.0" 1786 + source = "registry+https://github.com/rust-lang/crates.io-index" 1787 + checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" 1788 + 1789 + [[package]] 1790 + name = "tempfile" 1791 + version = "3.22.0" 1792 + source = "registry+https://github.com/rust-lang/crates.io-index" 1793 + checksum = "84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53" 1794 + dependencies = [ 1795 + "fastrand", 1796 + "getrandom 0.3.3", 1797 + "once_cell", 1798 + "rustix", 1799 + "windows-sys 0.61.0", 1800 + ] 1801 + 1802 + [[package]] 1803 + name = "thiserror" 1804 + version = "1.0.69" 1805 + source = "registry+https://github.com/rust-lang/crates.io-index" 1806 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1807 + dependencies = [ 1808 + "thiserror-impl 1.0.69", 1809 + ] 1810 + 1811 + [[package]] 1812 + name = "thiserror" 1813 + version = "2.0.16" 1814 + source = "registry+https://github.com/rust-lang/crates.io-index" 1815 + checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" 1816 + dependencies = [ 1817 + "thiserror-impl 2.0.16", 1818 + ] 1819 + 1820 + [[package]] 1821 + name = "thiserror-impl" 1822 + version = "1.0.69" 1823 + source = "registry+https://github.com/rust-lang/crates.io-index" 1824 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1825 + dependencies = [ 1826 + "proc-macro2", 1827 + "quote", 1828 + "syn", 1829 + ] 1830 + 1831 + [[package]] 1832 + name = "thiserror-impl" 1833 + version = "2.0.16" 1834 + source = "registry+https://github.com/rust-lang/crates.io-index" 1835 + checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" 1836 + dependencies = [ 1837 + "proc-macro2", 1838 + "quote", 1839 + "syn", 1840 + ] 1841 + 1842 + [[package]] 1843 + name = "thread_local" 1844 + version = "1.1.9" 1845 + source = "registry+https://github.com/rust-lang/crates.io-index" 1846 + checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 1847 + dependencies = [ 1848 + "cfg-if", 1849 + ] 1850 + 1851 + [[package]] 1852 + name = "tinystr" 1853 + version = "0.8.1" 1854 + source = "registry+https://github.com/rust-lang/crates.io-index" 1855 + checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" 1856 + dependencies = [ 1857 + "displaydoc", 1858 + "zerovec", 1859 + ] 1860 + 1861 + [[package]] 1862 + name = "tokio" 1863 + version = "1.47.1" 1864 + source = "registry+https://github.com/rust-lang/crates.io-index" 1865 + checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 1866 + dependencies = [ 1867 + "backtrace", 1868 + "bytes", 1869 + "io-uring", 1870 + "libc", 1871 + "mio", 1872 + "pin-project-lite", 1873 + "slab", 1874 + "socket2", 1875 + "windows-sys 0.59.0", 1876 + ] 1877 + 1878 + [[package]] 1879 + name = "tokio-native-tls" 1880 + version = "0.3.1" 1881 + source = "registry+https://github.com/rust-lang/crates.io-index" 1882 + checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1883 + dependencies = [ 1884 + "native-tls", 1885 + "tokio", 1886 + ] 1887 + 1888 + [[package]] 1889 + name = "tokio-rustls" 1890 + version = "0.26.3" 1891 + source = "registry+https://github.com/rust-lang/crates.io-index" 1892 + checksum = "05f63835928ca123f1bef57abbcd23bb2ba0ac9ae1235f1e65bda0d06e7786bd" 1893 + dependencies = [ 1894 + "rustls", 1895 + "tokio", 1896 + ] 1897 + 1898 + [[package]] 1899 + name = "tokio-util" 1900 + version = "0.7.16" 1901 + source = "registry+https://github.com/rust-lang/crates.io-index" 1902 + checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" 1903 + dependencies = [ 1904 + "bytes", 1905 + "futures-core", 1906 + "futures-sink", 1907 + "pin-project-lite", 1908 + "tokio", 1909 + ] 1910 + 1911 + [[package]] 1912 + name = "tower" 1913 + version = "0.5.2" 1914 + source = "registry+https://github.com/rust-lang/crates.io-index" 1915 + checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" 1916 + dependencies = [ 1917 + "futures-core", 1918 + "futures-util", 1919 + "pin-project-lite", 1920 + "sync_wrapper", 1921 + "tokio", 1922 + "tower-layer", 1923 + "tower-service", 1924 + ] 1925 + 1926 + [[package]] 1927 + name = "tower-http" 1928 + version = "0.6.6" 1929 + source = "registry+https://github.com/rust-lang/crates.io-index" 1930 + checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" 1931 + dependencies = [ 1932 + "bitflags", 1933 + "bytes", 1934 + "futures-util", 1935 + "http", 1936 + "http-body", 1937 + "iri-string", 1938 + "pin-project-lite", 1939 + "tower", 1940 + "tower-layer", 1941 + "tower-service", 1942 + ] 1943 + 1944 + [[package]] 1945 + name = "tower-layer" 1946 + version = "0.3.3" 1947 + source = "registry+https://github.com/rust-lang/crates.io-index" 1948 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 1949 + 1950 + [[package]] 1951 + name = "tower-service" 1952 + version = "0.3.3" 1953 + source = "registry+https://github.com/rust-lang/crates.io-index" 1954 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1955 + 1956 + [[package]] 1957 + name = "tracing" 1958 + version = "0.1.41" 1959 + source = "registry+https://github.com/rust-lang/crates.io-index" 1960 + checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1961 + dependencies = [ 1962 + "pin-project-lite", 1963 + "tracing-core", 1964 + ] 1965 + 1966 + [[package]] 1967 + name = "tracing-core" 1968 + version = "0.1.34" 1969 + source = "registry+https://github.com/rust-lang/crates.io-index" 1970 + checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 1971 + dependencies = [ 1972 + "once_cell", 1973 + "valuable", 1974 + ] 1975 + 1976 + [[package]] 1977 + name = "tracing-log" 1978 + version = "0.2.0" 1979 + source = "registry+https://github.com/rust-lang/crates.io-index" 1980 + checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 1981 + dependencies = [ 1982 + "log", 1983 + "once_cell", 1984 + "tracing-core", 1985 + ] 1986 + 1987 + [[package]] 1988 + name = "tracing-subscriber" 1989 + version = "0.3.20" 1990 + source = "registry+https://github.com/rust-lang/crates.io-index" 1991 + checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" 1992 + dependencies = [ 1993 + "matchers", 1994 + "nu-ansi-term", 1995 + "once_cell", 1996 + "regex-automata", 1997 + "sharded-slab", 1998 + "smallvec", 1999 + "thread_local", 2000 + "tracing", 2001 + "tracing-core", 2002 + "tracing-log", 2003 + ] 2004 + 2005 + [[package]] 2006 + name = "trait-variant" 2007 + version = "0.1.2" 2008 + source = "registry+https://github.com/rust-lang/crates.io-index" 2009 + checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" 2010 + dependencies = [ 2011 + "proc-macro2", 2012 + "quote", 2013 + "syn", 2014 + ] 2015 + 2016 + [[package]] 2017 + name = "try-lock" 2018 + version = "0.2.5" 2019 + source = "registry+https://github.com/rust-lang/crates.io-index" 2020 + checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 2021 + 2022 + [[package]] 2023 + name = "unicode-ident" 2024 + version = "1.0.19" 2025 + source = "registry+https://github.com/rust-lang/crates.io-index" 2026 + checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" 2027 + 2028 + [[package]] 2029 + name = "unicode-segmentation" 2030 + version = "1.12.0" 2031 + source = "registry+https://github.com/rust-lang/crates.io-index" 2032 + checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 2033 + 2034 + [[package]] 2035 + name = "unsigned-varint" 2036 + version = "0.8.0" 2037 + source = "registry+https://github.com/rust-lang/crates.io-index" 2038 + checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" 2039 + 2040 + [[package]] 2041 + name = "untrusted" 2042 + version = "0.9.0" 2043 + source = "registry+https://github.com/rust-lang/crates.io-index" 2044 + checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 2045 + 2046 + [[package]] 2047 + name = "url" 2048 + version = "2.5.7" 2049 + source = "registry+https://github.com/rust-lang/crates.io-index" 2050 + checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" 2051 + dependencies = [ 2052 + "form_urlencoded", 2053 + "idna", 2054 + "percent-encoding", 2055 + "serde", 2056 + ] 2057 + 2058 + [[package]] 2059 + name = "utf8_iter" 2060 + version = "1.0.4" 2061 + source = "registry+https://github.com/rust-lang/crates.io-index" 2062 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 2063 + 2064 + [[package]] 2065 + name = "uuid" 2066 + version = "1.18.1" 2067 + source = "registry+https://github.com/rust-lang/crates.io-index" 2068 + checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" 2069 + dependencies = [ 2070 + "getrandom 0.3.3", 2071 + "js-sys", 2072 + "wasm-bindgen", 2073 + ] 2074 + 2075 + [[package]] 2076 + name = "valuable" 2077 + version = "0.1.1" 2078 + source = "registry+https://github.com/rust-lang/crates.io-index" 2079 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 2080 + 2081 + [[package]] 2082 + name = "vcpkg" 2083 + version = "0.2.15" 2084 + source = "registry+https://github.com/rust-lang/crates.io-index" 2085 + checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 2086 + 2087 + [[package]] 2088 + name = "want" 2089 + version = "0.3.1" 2090 + source = "registry+https://github.com/rust-lang/crates.io-index" 2091 + checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 2092 + dependencies = [ 2093 + "try-lock", 2094 + ] 2095 + 2096 + [[package]] 2097 + name = "wasi" 2098 + version = "0.11.1+wasi-snapshot-preview1" 2099 + source = "registry+https://github.com/rust-lang/crates.io-index" 2100 + checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 2101 + 2102 + [[package]] 2103 + name = "wasi" 2104 + version = "0.14.7+wasi-0.2.4" 2105 + source = "registry+https://github.com/rust-lang/crates.io-index" 2106 + checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" 2107 + dependencies = [ 2108 + "wasip2", 2109 + ] 2110 + 2111 + [[package]] 2112 + name = "wasip2" 2113 + version = "1.0.1+wasi-0.2.4" 2114 + source = "registry+https://github.com/rust-lang/crates.io-index" 2115 + checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" 2116 + dependencies = [ 2117 + "wit-bindgen", 2118 + ] 2119 + 2120 + [[package]] 2121 + name = "wasm-bindgen" 2122 + version = "0.2.103" 2123 + source = "registry+https://github.com/rust-lang/crates.io-index" 2124 + checksum = "ab10a69fbd0a177f5f649ad4d8d3305499c42bab9aef2f7ff592d0ec8f833819" 2125 + dependencies = [ 2126 + "cfg-if", 2127 + "once_cell", 2128 + "rustversion", 2129 + "wasm-bindgen-macro", 2130 + "wasm-bindgen-shared", 2131 + ] 2132 + 2133 + [[package]] 2134 + name = "wasm-bindgen-backend" 2135 + version = "0.2.103" 2136 + source = "registry+https://github.com/rust-lang/crates.io-index" 2137 + checksum = "0bb702423545a6007bbc368fde243ba47ca275e549c8a28617f56f6ba53b1d1c" 2138 + dependencies = [ 2139 + "bumpalo", 2140 + "log", 2141 + "proc-macro2", 2142 + "quote", 2143 + "syn", 2144 + "wasm-bindgen-shared", 2145 + ] 2146 + 2147 + [[package]] 2148 + name = "wasm-bindgen-futures" 2149 + version = "0.4.53" 2150 + source = "registry+https://github.com/rust-lang/crates.io-index" 2151 + checksum = "a0b221ff421256839509adbb55998214a70d829d3a28c69b4a6672e9d2a42f67" 2152 + dependencies = [ 2153 + "cfg-if", 2154 + "js-sys", 2155 + "once_cell", 2156 + "wasm-bindgen", 2157 + "web-sys", 2158 + ] 2159 + 2160 + [[package]] 2161 + name = "wasm-bindgen-macro" 2162 + version = "0.2.103" 2163 + source = "registry+https://github.com/rust-lang/crates.io-index" 2164 + checksum = "fc65f4f411d91494355917b605e1480033152658d71f722a90647f56a70c88a0" 2165 + dependencies = [ 2166 + "quote", 2167 + "wasm-bindgen-macro-support", 2168 + ] 2169 + 2170 + [[package]] 2171 + name = "wasm-bindgen-macro-support" 2172 + version = "0.2.103" 2173 + source = "registry+https://github.com/rust-lang/crates.io-index" 2174 + checksum = "ffc003a991398a8ee604a401e194b6b3a39677b3173d6e74495eb51b82e99a32" 2175 + dependencies = [ 2176 + "proc-macro2", 2177 + "quote", 2178 + "syn", 2179 + "wasm-bindgen-backend", 2180 + "wasm-bindgen-shared", 2181 + ] 2182 + 2183 + [[package]] 2184 + name = "wasm-bindgen-shared" 2185 + version = "0.2.103" 2186 + source = "registry+https://github.com/rust-lang/crates.io-index" 2187 + checksum = "293c37f4efa430ca14db3721dfbe48d8c33308096bd44d80ebaa775ab71ba1cf" 2188 + dependencies = [ 2189 + "unicode-ident", 2190 + ] 2191 + 2192 + [[package]] 2193 + name = "wasm-logger" 2194 + version = "0.2.0" 2195 + source = "registry+https://github.com/rust-lang/crates.io-index" 2196 + checksum = "074649a66bb306c8f2068c9016395fa65d8e08d2affcbf95acf3c24c3ab19718" 2197 + dependencies = [ 2198 + "log", 2199 + "wasm-bindgen", 2200 + "web-sys", 2201 + ] 2202 + 2203 + [[package]] 2204 + name = "wasm-streams" 2205 + version = "0.4.2" 2206 + source = "registry+https://github.com/rust-lang/crates.io-index" 2207 + checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" 2208 + dependencies = [ 2209 + "futures-util", 2210 + "js-sys", 2211 + "wasm-bindgen", 2212 + "wasm-bindgen-futures", 2213 + "web-sys", 2214 + ] 2215 + 2216 + [[package]] 2217 + name = "web-sys" 2218 + version = "0.3.80" 2219 + source = "registry+https://github.com/rust-lang/crates.io-index" 2220 + checksum = "fbe734895e869dc429d78c4b433f8d17d95f8d05317440b4fad5ab2d33e596dc" 2221 + dependencies = [ 2222 + "js-sys", 2223 + "wasm-bindgen", 2224 + ] 2225 + 2226 + [[package]] 2227 + name = "web-time" 2228 + version = "1.1.0" 2229 + source = "registry+https://github.com/rust-lang/crates.io-index" 2230 + checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 2231 + dependencies = [ 2232 + "js-sys", 2233 + "wasm-bindgen", 2234 + ] 2235 + 2236 + [[package]] 2237 + name = "windows" 2238 + version = "0.61.3" 2239 + source = "registry+https://github.com/rust-lang/crates.io-index" 2240 + checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" 2241 + dependencies = [ 2242 + "windows-collections", 2243 + "windows-core 0.61.2", 2244 + "windows-future", 2245 + "windows-link 0.1.3", 2246 + "windows-numerics", 2247 + ] 2248 + 2249 + [[package]] 2250 + name = "windows-collections" 2251 + version = "0.2.0" 2252 + source = "registry+https://github.com/rust-lang/crates.io-index" 2253 + checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" 2254 + dependencies = [ 2255 + "windows-core 0.61.2", 2256 + ] 2257 + 2258 + [[package]] 2259 + name = "windows-core" 2260 + version = "0.61.2" 2261 + source = "registry+https://github.com/rust-lang/crates.io-index" 2262 + checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" 2263 + dependencies = [ 2264 + "windows-implement", 2265 + "windows-interface", 2266 + "windows-link 0.1.3", 2267 + "windows-result 0.3.4", 2268 + "windows-strings 0.4.2", 2269 + ] 2270 + 2271 + [[package]] 2272 + name = "windows-core" 2273 + version = "0.62.0" 2274 + source = "registry+https://github.com/rust-lang/crates.io-index" 2275 + checksum = "57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c" 2276 + dependencies = [ 2277 + "windows-implement", 2278 + "windows-interface", 2279 + "windows-link 0.2.0", 2280 + "windows-result 0.4.0", 2281 + "windows-strings 0.5.0", 2282 + ] 2283 + 2284 + [[package]] 2285 + name = "windows-future" 2286 + version = "0.2.1" 2287 + source = "registry+https://github.com/rust-lang/crates.io-index" 2288 + checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" 2289 + dependencies = [ 2290 + "windows-core 0.61.2", 2291 + "windows-link 0.1.3", 2292 + "windows-threading", 2293 + ] 2294 + 2295 + [[package]] 2296 + name = "windows-implement" 2297 + version = "0.60.0" 2298 + source = "registry+https://github.com/rust-lang/crates.io-index" 2299 + checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" 2300 + dependencies = [ 2301 + "proc-macro2", 2302 + "quote", 2303 + "syn", 2304 + ] 2305 + 2306 + [[package]] 2307 + name = "windows-interface" 2308 + version = "0.59.1" 2309 + source = "registry+https://github.com/rust-lang/crates.io-index" 2310 + checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" 2311 + dependencies = [ 2312 + "proc-macro2", 2313 + "quote", 2314 + "syn", 2315 + ] 2316 + 2317 + [[package]] 2318 + name = "windows-link" 2319 + version = "0.1.3" 2320 + source = "registry+https://github.com/rust-lang/crates.io-index" 2321 + checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 2322 + 2323 + [[package]] 2324 + name = "windows-link" 2325 + version = "0.2.0" 2326 + source = "registry+https://github.com/rust-lang/crates.io-index" 2327 + checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" 2328 + 2329 + [[package]] 2330 + name = "windows-numerics" 2331 + version = "0.2.0" 2332 + source = "registry+https://github.com/rust-lang/crates.io-index" 2333 + checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" 2334 + dependencies = [ 2335 + "windows-core 0.61.2", 2336 + "windows-link 0.1.3", 2337 + ] 2338 + 2339 + [[package]] 2340 + name = "windows-registry" 2341 + version = "0.5.3" 2342 + source = "registry+https://github.com/rust-lang/crates.io-index" 2343 + checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" 2344 + dependencies = [ 2345 + "windows-link 0.1.3", 2346 + "windows-result 0.3.4", 2347 + "windows-strings 0.4.2", 2348 + ] 2349 + 2350 + [[package]] 2351 + name = "windows-result" 2352 + version = "0.3.4" 2353 + source = "registry+https://github.com/rust-lang/crates.io-index" 2354 + checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 2355 + dependencies = [ 2356 + "windows-link 0.1.3", 2357 + ] 2358 + 2359 + [[package]] 2360 + name = "windows-result" 2361 + version = "0.4.0" 2362 + source = "registry+https://github.com/rust-lang/crates.io-index" 2363 + checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" 2364 + dependencies = [ 2365 + "windows-link 0.2.0", 2366 + ] 2367 + 2368 + [[package]] 2369 + name = "windows-strings" 2370 + version = "0.4.2" 2371 + source = "registry+https://github.com/rust-lang/crates.io-index" 2372 + checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 2373 + dependencies = [ 2374 + "windows-link 0.1.3", 2375 + ] 2376 + 2377 + [[package]] 2378 + name = "windows-strings" 2379 + version = "0.5.0" 2380 + source = "registry+https://github.com/rust-lang/crates.io-index" 2381 + checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" 2382 + dependencies = [ 2383 + "windows-link 0.2.0", 2384 + ] 2385 + 2386 + [[package]] 2387 + name = "windows-sys" 2388 + version = "0.52.0" 2389 + source = "registry+https://github.com/rust-lang/crates.io-index" 2390 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2391 + dependencies = [ 2392 + "windows-targets", 2393 + ] 2394 + 2395 + [[package]] 2396 + name = "windows-sys" 2397 + version = "0.59.0" 2398 + source = "registry+https://github.com/rust-lang/crates.io-index" 2399 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 2400 + dependencies = [ 2401 + "windows-targets", 2402 + ] 2403 + 2404 + [[package]] 2405 + name = "windows-sys" 2406 + version = "0.61.0" 2407 + source = "registry+https://github.com/rust-lang/crates.io-index" 2408 + checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" 2409 + dependencies = [ 2410 + "windows-link 0.2.0", 2411 + ] 2412 + 2413 + [[package]] 2414 + name = "windows-targets" 2415 + version = "0.52.6" 2416 + source = "registry+https://github.com/rust-lang/crates.io-index" 2417 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 2418 + dependencies = [ 2419 + "windows_aarch64_gnullvm", 2420 + "windows_aarch64_msvc", 2421 + "windows_i686_gnu", 2422 + "windows_i686_gnullvm", 2423 + "windows_i686_msvc", 2424 + "windows_x86_64_gnu", 2425 + "windows_x86_64_gnullvm", 2426 + "windows_x86_64_msvc", 2427 + ] 2428 + 2429 + [[package]] 2430 + name = "windows-threading" 2431 + version = "0.1.0" 2432 + source = "registry+https://github.com/rust-lang/crates.io-index" 2433 + checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" 2434 + dependencies = [ 2435 + "windows-link 0.1.3", 2436 + ] 2437 + 2438 + [[package]] 2439 + name = "windows_aarch64_gnullvm" 2440 + version = "0.52.6" 2441 + source = "registry+https://github.com/rust-lang/crates.io-index" 2442 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 2443 + 2444 + [[package]] 2445 + name = "windows_aarch64_msvc" 2446 + version = "0.52.6" 2447 + source = "registry+https://github.com/rust-lang/crates.io-index" 2448 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 2449 + 2450 + [[package]] 2451 + name = "windows_i686_gnu" 2452 + version = "0.52.6" 2453 + source = "registry+https://github.com/rust-lang/crates.io-index" 2454 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 2455 + 2456 + [[package]] 2457 + name = "windows_i686_gnullvm" 2458 + version = "0.52.6" 2459 + source = "registry+https://github.com/rust-lang/crates.io-index" 2460 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 2461 + 2462 + [[package]] 2463 + name = "windows_i686_msvc" 2464 + version = "0.52.6" 2465 + source = "registry+https://github.com/rust-lang/crates.io-index" 2466 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 2467 + 2468 + [[package]] 2469 + name = "windows_x86_64_gnu" 2470 + version = "0.52.6" 2471 + source = "registry+https://github.com/rust-lang/crates.io-index" 2472 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 2473 + 2474 + [[package]] 2475 + name = "windows_x86_64_gnullvm" 2476 + version = "0.52.6" 2477 + source = "registry+https://github.com/rust-lang/crates.io-index" 2478 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 2479 + 2480 + [[package]] 2481 + name = "windows_x86_64_msvc" 2482 + version = "0.52.6" 2483 + source = "registry+https://github.com/rust-lang/crates.io-index" 2484 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 2485 + 2486 + [[package]] 2487 + name = "wit-bindgen" 2488 + version = "0.46.0" 2489 + source = "registry+https://github.com/rust-lang/crates.io-index" 2490 + checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" 2491 + 2492 + [[package]] 2493 + name = "worker" 2494 + version = "0.6.5" 2495 + source = "registry+https://github.com/rust-lang/crates.io-index" 2496 + checksum = "38079fb888798411da925f8e7da31d05f99f34d960876e7f0f64d38dd1c5a8e4" 2497 + dependencies = [ 2498 + "async-trait", 2499 + "bytes", 2500 + "chrono", 2501 + "futures-channel", 2502 + "futures-util", 2503 + "http", 2504 + "http-body", 2505 + "js-sys", 2506 + "matchit", 2507 + "pin-project", 2508 + "serde", 2509 + "serde-wasm-bindgen", 2510 + "serde_json", 2511 + "serde_urlencoded", 2512 + "tokio", 2513 + "url", 2514 + "wasm-bindgen", 2515 + "wasm-bindgen-futures", 2516 + "wasm-streams", 2517 + "web-sys", 2518 + "worker-kv", 2519 + "worker-macros", 2520 + "worker-sys", 2521 + ] 2522 + 2523 + [[package]] 2524 + name = "worker-kv" 2525 + version = "0.9.0" 2526 + source = "registry+https://github.com/rust-lang/crates.io-index" 2527 + checksum = "b0d30eb90e8db0657414129624c0d12c6cb480574bc2ddd584822db196cb9a52" 2528 + dependencies = [ 2529 + "js-sys", 2530 + "serde", 2531 + "serde-wasm-bindgen", 2532 + "serde_json", 2533 + "thiserror 2.0.16", 2534 + "wasm-bindgen", 2535 + "wasm-bindgen-futures", 2536 + ] 2537 + 2538 + [[package]] 2539 + name = "worker-macros" 2540 + version = "0.6.5" 2541 + source = "registry+https://github.com/rust-lang/crates.io-index" 2542 + checksum = "b04c25dc6fc79ac2c111eadac8e98fddfa42f97625e48a3b94f82455d9b29766" 2543 + dependencies = [ 2544 + "async-trait", 2545 + "proc-macro2", 2546 + "quote", 2547 + "syn", 2548 + "wasm-bindgen", 2549 + "wasm-bindgen-futures", 2550 + "wasm-bindgen-macro-support", 2551 + "worker-sys", 2552 + ] 2553 + 2554 + [[package]] 2555 + name = "worker-sys" 2556 + version = "0.6.5" 2557 + source = "registry+https://github.com/rust-lang/crates.io-index" 2558 + checksum = "fa601b8e81a1a06f0b0cc1ca5d48eef4901f491d324a4b2796354b0d49aeeaf0" 2559 + dependencies = [ 2560 + "cfg-if", 2561 + "js-sys", 2562 + "wasm-bindgen", 2563 + "web-sys", 2564 + ] 2565 + 2566 + [[package]] 2567 + name = "writeable" 2568 + version = "0.6.1" 2569 + source = "registry+https://github.com/rust-lang/crates.io-index" 2570 + checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" 2571 + 2572 + [[package]] 2573 + name = "yoke" 2574 + version = "0.8.0" 2575 + source = "registry+https://github.com/rust-lang/crates.io-index" 2576 + checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" 2577 + dependencies = [ 2578 + "serde", 2579 + "stable_deref_trait", 2580 + "yoke-derive", 2581 + "zerofrom", 2582 + ] 2583 + 2584 + [[package]] 2585 + name = "yoke-derive" 2586 + version = "0.8.0" 2587 + source = "registry+https://github.com/rust-lang/crates.io-index" 2588 + checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" 2589 + dependencies = [ 2590 + "proc-macro2", 2591 + "quote", 2592 + "syn", 2593 + "synstructure", 2594 + ] 2595 + 2596 + [[package]] 2597 + name = "zerofrom" 2598 + version = "0.1.6" 2599 + source = "registry+https://github.com/rust-lang/crates.io-index" 2600 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 2601 + dependencies = [ 2602 + "zerofrom-derive", 2603 + ] 2604 + 2605 + [[package]] 2606 + name = "zerofrom-derive" 2607 + version = "0.1.6" 2608 + source = "registry+https://github.com/rust-lang/crates.io-index" 2609 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 2610 + dependencies = [ 2611 + "proc-macro2", 2612 + "quote", 2613 + "syn", 2614 + "synstructure", 2615 + ] 2616 + 2617 + [[package]] 2618 + name = "zeroize" 2619 + version = "1.8.1" 2620 + source = "registry+https://github.com/rust-lang/crates.io-index" 2621 + checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 2622 + 2623 + [[package]] 2624 + name = "zerotrie" 2625 + version = "0.2.2" 2626 + source = "registry+https://github.com/rust-lang/crates.io-index" 2627 + checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" 2628 + dependencies = [ 2629 + "displaydoc", 2630 + "yoke", 2631 + "zerofrom", 2632 + ] 2633 + 2634 + [[package]] 2635 + name = "zerovec" 2636 + version = "0.11.4" 2637 + source = "registry+https://github.com/rust-lang/crates.io-index" 2638 + checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" 2639 + dependencies = [ 2640 + "yoke", 2641 + "zerofrom", 2642 + "zerovec-derive", 2643 + ] 2644 + 2645 + [[package]] 2646 + name = "zerovec-derive" 2647 + version = "0.11.1" 2648 + source = "registry+https://github.com/rust-lang/crates.io-index" 2649 + checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" 2650 + dependencies = [ 2651 + "proc-macro2", 2652 + "quote", 2653 + "syn", 2654 + ]
+24
Cargo.toml
··· 1 + [package] 2 + name = "skeetfm" 3 + version = "0.1.0" 4 + edition = "2021" 5 + authors = ["Gee Sawra <hello@geesawra.industries>"] 6 + 7 + [package.metadata.release] 8 + release = false 9 + 10 + [lib] 11 + crate-type = ["cdylib"] 12 + 13 + [dependencies] 14 + atrium-api = "0.25.5" 15 + bsky-sdk = "0.1.21" 16 + console_error_panic_hook = "0.1.7" 17 + log = "0.4.28" 18 + reqwest = { version = "0.12.23", features = ["json"] } 19 + serde = { version = "1.0.225", features = ["derive"] } 20 + serde_derive = "1.0.225" 21 + serde_json = { version = "1.0.145", features = ["alloc"] } 22 + wasm-logger = "0.2.0" 23 + worker = { version = "0.6" } 24 + worker-macros = { version = "0.6" }
+1445
package-lock.json
··· 1 + { 2 + "name": "skeetfm", 3 + "lockfileVersion": 3, 4 + "requires": true, 5 + "packages": { 6 + "": { 7 + "devDependencies": { 8 + "wrangler": "^4.38.0" 9 + } 10 + }, 11 + "node_modules/@cloudflare/kv-asset-handler": { 12 + "version": "0.4.0", 13 + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.0.tgz", 14 + "integrity": "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==", 15 + "dev": true, 16 + "dependencies": { 17 + "mime": "^3.0.0" 18 + }, 19 + "engines": { 20 + "node": ">=18.0.0" 21 + } 22 + }, 23 + "node_modules/@cloudflare/unenv-preset": { 24 + "version": "2.7.4", 25 + "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.7.4.tgz", 26 + "integrity": "sha512-KIjbu/Dt50zseJIoOOK5y4eYpSojD9+xxkePYVK1Rg9k/p/st4YyMtz1Clju/zrenJHrOH+AAcjNArOPMwH4Bw==", 27 + "dev": true, 28 + "peerDependencies": { 29 + "unenv": "2.0.0-rc.21", 30 + "workerd": "^1.20250912.0" 31 + }, 32 + "peerDependenciesMeta": { 33 + "workerd": { 34 + "optional": true 35 + } 36 + } 37 + }, 38 + "node_modules/@cloudflare/workerd-darwin-64": { 39 + "version": "1.20250917.0", 40 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20250917.0.tgz", 41 + "integrity": "sha512-0kL/kFnKUSycoo7b3PgM0nRyZ+1MGQAKaXtE6a2+SAeUkZ2FLnuFWmASi0s4rlWGsf/rlTw4AwXROePir9dUcQ==", 42 + "cpu": [ 43 + "x64" 44 + ], 45 + "dev": true, 46 + "optional": true, 47 + "os": [ 48 + "darwin" 49 + ], 50 + "engines": { 51 + "node": ">=16" 52 + } 53 + }, 54 + "node_modules/@cloudflare/workerd-darwin-arm64": { 55 + "version": "1.20250917.0", 56 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20250917.0.tgz", 57 + "integrity": "sha512-3/N1QmEJsC8Byxt1SGgVp5o0r+eKjuUEMbIL2yzLk/jrMdErPXy/DGf/tXZoACU68a/gMEbbT1itkYrm85iQHg==", 58 + "cpu": [ 59 + "arm64" 60 + ], 61 + "dev": true, 62 + "optional": true, 63 + "os": [ 64 + "darwin" 65 + ], 66 + "engines": { 67 + "node": ">=16" 68 + } 69 + }, 70 + "node_modules/@cloudflare/workerd-linux-64": { 71 + "version": "1.20250917.0", 72 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20250917.0.tgz", 73 + "integrity": "sha512-E7sEow7CErbWY3olMmlbj6iss9r7Xb2uMyc+MKzYC9/J6yFlJd/dNHvjey9QIdxzbkC9qGe90a+KxQrjs+fspA==", 74 + "cpu": [ 75 + "x64" 76 + ], 77 + "dev": true, 78 + "optional": true, 79 + "os": [ 80 + "linux" 81 + ], 82 + "engines": { 83 + "node": ">=16" 84 + } 85 + }, 86 + "node_modules/@cloudflare/workerd-linux-arm64": { 87 + "version": "1.20250917.0", 88 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20250917.0.tgz", 89 + "integrity": "sha512-roOnRjxut2FUxo6HA9spbfs32naXAsnSQqsgku3iq6BYKv1QqGiFoY5bReK72N5uxmhxo7+RiTo8ZEkxA/vMIQ==", 90 + "cpu": [ 91 + "arm64" 92 + ], 93 + "dev": true, 94 + "optional": true, 95 + "os": [ 96 + "linux" 97 + ], 98 + "engines": { 99 + "node": ">=16" 100 + } 101 + }, 102 + "node_modules/@cloudflare/workerd-windows-64": { 103 + "version": "1.20250917.0", 104 + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20250917.0.tgz", 105 + "integrity": "sha512-gslh6Ou9+kshHjR1BJX47OsbPw3/cZCvGDompvaW/URCgr7aMzljbgmBb7p0uhwGy1qCXcIt31St6pd3IEcLng==", 106 + "cpu": [ 107 + "x64" 108 + ], 109 + "dev": true, 110 + "optional": true, 111 + "os": [ 112 + "win32" 113 + ], 114 + "engines": { 115 + "node": ">=16" 116 + } 117 + }, 118 + "node_modules/@cspotcode/source-map-support": { 119 + "version": "0.8.1", 120 + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 121 + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 122 + "dev": true, 123 + "dependencies": { 124 + "@jridgewell/trace-mapping": "0.3.9" 125 + }, 126 + "engines": { 127 + "node": ">=12" 128 + } 129 + }, 130 + "node_modules/@emnapi/runtime": { 131 + "version": "1.5.0", 132 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", 133 + "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", 134 + "dev": true, 135 + "optional": true, 136 + "dependencies": { 137 + "tslib": "^2.4.0" 138 + } 139 + }, 140 + "node_modules/@esbuild/aix-ppc64": { 141 + "version": "0.25.4", 142 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", 143 + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", 144 + "cpu": [ 145 + "ppc64" 146 + ], 147 + "dev": true, 148 + "optional": true, 149 + "os": [ 150 + "aix" 151 + ], 152 + "engines": { 153 + "node": ">=18" 154 + } 155 + }, 156 + "node_modules/@esbuild/android-arm": { 157 + "version": "0.25.4", 158 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", 159 + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", 160 + "cpu": [ 161 + "arm" 162 + ], 163 + "dev": true, 164 + "optional": true, 165 + "os": [ 166 + "android" 167 + ], 168 + "engines": { 169 + "node": ">=18" 170 + } 171 + }, 172 + "node_modules/@esbuild/android-arm64": { 173 + "version": "0.25.4", 174 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", 175 + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", 176 + "cpu": [ 177 + "arm64" 178 + ], 179 + "dev": true, 180 + "optional": true, 181 + "os": [ 182 + "android" 183 + ], 184 + "engines": { 185 + "node": ">=18" 186 + } 187 + }, 188 + "node_modules/@esbuild/android-x64": { 189 + "version": "0.25.4", 190 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", 191 + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", 192 + "cpu": [ 193 + "x64" 194 + ], 195 + "dev": true, 196 + "optional": true, 197 + "os": [ 198 + "android" 199 + ], 200 + "engines": { 201 + "node": ">=18" 202 + } 203 + }, 204 + "node_modules/@esbuild/darwin-arm64": { 205 + "version": "0.25.4", 206 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", 207 + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", 208 + "cpu": [ 209 + "arm64" 210 + ], 211 + "dev": true, 212 + "optional": true, 213 + "os": [ 214 + "darwin" 215 + ], 216 + "engines": { 217 + "node": ">=18" 218 + } 219 + }, 220 + "node_modules/@esbuild/darwin-x64": { 221 + "version": "0.25.4", 222 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", 223 + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", 224 + "cpu": [ 225 + "x64" 226 + ], 227 + "dev": true, 228 + "optional": true, 229 + "os": [ 230 + "darwin" 231 + ], 232 + "engines": { 233 + "node": ">=18" 234 + } 235 + }, 236 + "node_modules/@esbuild/freebsd-arm64": { 237 + "version": "0.25.4", 238 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", 239 + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", 240 + "cpu": [ 241 + "arm64" 242 + ], 243 + "dev": true, 244 + "optional": true, 245 + "os": [ 246 + "freebsd" 247 + ], 248 + "engines": { 249 + "node": ">=18" 250 + } 251 + }, 252 + "node_modules/@esbuild/freebsd-x64": { 253 + "version": "0.25.4", 254 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", 255 + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", 256 + "cpu": [ 257 + "x64" 258 + ], 259 + "dev": true, 260 + "optional": true, 261 + "os": [ 262 + "freebsd" 263 + ], 264 + "engines": { 265 + "node": ">=18" 266 + } 267 + }, 268 + "node_modules/@esbuild/linux-arm": { 269 + "version": "0.25.4", 270 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", 271 + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", 272 + "cpu": [ 273 + "arm" 274 + ], 275 + "dev": true, 276 + "optional": true, 277 + "os": [ 278 + "linux" 279 + ], 280 + "engines": { 281 + "node": ">=18" 282 + } 283 + }, 284 + "node_modules/@esbuild/linux-arm64": { 285 + "version": "0.25.4", 286 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", 287 + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", 288 + "cpu": [ 289 + "arm64" 290 + ], 291 + "dev": true, 292 + "optional": true, 293 + "os": [ 294 + "linux" 295 + ], 296 + "engines": { 297 + "node": ">=18" 298 + } 299 + }, 300 + "node_modules/@esbuild/linux-ia32": { 301 + "version": "0.25.4", 302 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", 303 + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", 304 + "cpu": [ 305 + "ia32" 306 + ], 307 + "dev": true, 308 + "optional": true, 309 + "os": [ 310 + "linux" 311 + ], 312 + "engines": { 313 + "node": ">=18" 314 + } 315 + }, 316 + "node_modules/@esbuild/linux-loong64": { 317 + "version": "0.25.4", 318 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", 319 + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", 320 + "cpu": [ 321 + "loong64" 322 + ], 323 + "dev": true, 324 + "optional": true, 325 + "os": [ 326 + "linux" 327 + ], 328 + "engines": { 329 + "node": ">=18" 330 + } 331 + }, 332 + "node_modules/@esbuild/linux-mips64el": { 333 + "version": "0.25.4", 334 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", 335 + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", 336 + "cpu": [ 337 + "mips64el" 338 + ], 339 + "dev": true, 340 + "optional": true, 341 + "os": [ 342 + "linux" 343 + ], 344 + "engines": { 345 + "node": ">=18" 346 + } 347 + }, 348 + "node_modules/@esbuild/linux-ppc64": { 349 + "version": "0.25.4", 350 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", 351 + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", 352 + "cpu": [ 353 + "ppc64" 354 + ], 355 + "dev": true, 356 + "optional": true, 357 + "os": [ 358 + "linux" 359 + ], 360 + "engines": { 361 + "node": ">=18" 362 + } 363 + }, 364 + "node_modules/@esbuild/linux-riscv64": { 365 + "version": "0.25.4", 366 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", 367 + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", 368 + "cpu": [ 369 + "riscv64" 370 + ], 371 + "dev": true, 372 + "optional": true, 373 + "os": [ 374 + "linux" 375 + ], 376 + "engines": { 377 + "node": ">=18" 378 + } 379 + }, 380 + "node_modules/@esbuild/linux-s390x": { 381 + "version": "0.25.4", 382 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", 383 + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", 384 + "cpu": [ 385 + "s390x" 386 + ], 387 + "dev": true, 388 + "optional": true, 389 + "os": [ 390 + "linux" 391 + ], 392 + "engines": { 393 + "node": ">=18" 394 + } 395 + }, 396 + "node_modules/@esbuild/linux-x64": { 397 + "version": "0.25.4", 398 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", 399 + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", 400 + "cpu": [ 401 + "x64" 402 + ], 403 + "dev": true, 404 + "optional": true, 405 + "os": [ 406 + "linux" 407 + ], 408 + "engines": { 409 + "node": ">=18" 410 + } 411 + }, 412 + "node_modules/@esbuild/netbsd-arm64": { 413 + "version": "0.25.4", 414 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", 415 + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", 416 + "cpu": [ 417 + "arm64" 418 + ], 419 + "dev": true, 420 + "optional": true, 421 + "os": [ 422 + "netbsd" 423 + ], 424 + "engines": { 425 + "node": ">=18" 426 + } 427 + }, 428 + "node_modules/@esbuild/netbsd-x64": { 429 + "version": "0.25.4", 430 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", 431 + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", 432 + "cpu": [ 433 + "x64" 434 + ], 435 + "dev": true, 436 + "optional": true, 437 + "os": [ 438 + "netbsd" 439 + ], 440 + "engines": { 441 + "node": ">=18" 442 + } 443 + }, 444 + "node_modules/@esbuild/openbsd-arm64": { 445 + "version": "0.25.4", 446 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", 447 + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", 448 + "cpu": [ 449 + "arm64" 450 + ], 451 + "dev": true, 452 + "optional": true, 453 + "os": [ 454 + "openbsd" 455 + ], 456 + "engines": { 457 + "node": ">=18" 458 + } 459 + }, 460 + "node_modules/@esbuild/openbsd-x64": { 461 + "version": "0.25.4", 462 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", 463 + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", 464 + "cpu": [ 465 + "x64" 466 + ], 467 + "dev": true, 468 + "optional": true, 469 + "os": [ 470 + "openbsd" 471 + ], 472 + "engines": { 473 + "node": ">=18" 474 + } 475 + }, 476 + "node_modules/@esbuild/sunos-x64": { 477 + "version": "0.25.4", 478 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", 479 + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", 480 + "cpu": [ 481 + "x64" 482 + ], 483 + "dev": true, 484 + "optional": true, 485 + "os": [ 486 + "sunos" 487 + ], 488 + "engines": { 489 + "node": ">=18" 490 + } 491 + }, 492 + "node_modules/@esbuild/win32-arm64": { 493 + "version": "0.25.4", 494 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", 495 + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", 496 + "cpu": [ 497 + "arm64" 498 + ], 499 + "dev": true, 500 + "optional": true, 501 + "os": [ 502 + "win32" 503 + ], 504 + "engines": { 505 + "node": ">=18" 506 + } 507 + }, 508 + "node_modules/@esbuild/win32-ia32": { 509 + "version": "0.25.4", 510 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", 511 + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", 512 + "cpu": [ 513 + "ia32" 514 + ], 515 + "dev": true, 516 + "optional": true, 517 + "os": [ 518 + "win32" 519 + ], 520 + "engines": { 521 + "node": ">=18" 522 + } 523 + }, 524 + "node_modules/@esbuild/win32-x64": { 525 + "version": "0.25.4", 526 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", 527 + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", 528 + "cpu": [ 529 + "x64" 530 + ], 531 + "dev": true, 532 + "optional": true, 533 + "os": [ 534 + "win32" 535 + ], 536 + "engines": { 537 + "node": ">=18" 538 + } 539 + }, 540 + "node_modules/@img/sharp-darwin-arm64": { 541 + "version": "0.33.5", 542 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", 543 + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", 544 + "cpu": [ 545 + "arm64" 546 + ], 547 + "dev": true, 548 + "optional": true, 549 + "os": [ 550 + "darwin" 551 + ], 552 + "engines": { 553 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 554 + }, 555 + "funding": { 556 + "url": "https://opencollective.com/libvips" 557 + }, 558 + "optionalDependencies": { 559 + "@img/sharp-libvips-darwin-arm64": "1.0.4" 560 + } 561 + }, 562 + "node_modules/@img/sharp-darwin-x64": { 563 + "version": "0.33.5", 564 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", 565 + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", 566 + "cpu": [ 567 + "x64" 568 + ], 569 + "dev": true, 570 + "optional": true, 571 + "os": [ 572 + "darwin" 573 + ], 574 + "engines": { 575 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 576 + }, 577 + "funding": { 578 + "url": "https://opencollective.com/libvips" 579 + }, 580 + "optionalDependencies": { 581 + "@img/sharp-libvips-darwin-x64": "1.0.4" 582 + } 583 + }, 584 + "node_modules/@img/sharp-libvips-darwin-arm64": { 585 + "version": "1.0.4", 586 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", 587 + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", 588 + "cpu": [ 589 + "arm64" 590 + ], 591 + "dev": true, 592 + "optional": true, 593 + "os": [ 594 + "darwin" 595 + ], 596 + "funding": { 597 + "url": "https://opencollective.com/libvips" 598 + } 599 + }, 600 + "node_modules/@img/sharp-libvips-darwin-x64": { 601 + "version": "1.0.4", 602 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", 603 + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", 604 + "cpu": [ 605 + "x64" 606 + ], 607 + "dev": true, 608 + "optional": true, 609 + "os": [ 610 + "darwin" 611 + ], 612 + "funding": { 613 + "url": "https://opencollective.com/libvips" 614 + } 615 + }, 616 + "node_modules/@img/sharp-libvips-linux-arm": { 617 + "version": "1.0.5", 618 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", 619 + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", 620 + "cpu": [ 621 + "arm" 622 + ], 623 + "dev": true, 624 + "optional": true, 625 + "os": [ 626 + "linux" 627 + ], 628 + "funding": { 629 + "url": "https://opencollective.com/libvips" 630 + } 631 + }, 632 + "node_modules/@img/sharp-libvips-linux-arm64": { 633 + "version": "1.0.4", 634 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", 635 + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", 636 + "cpu": [ 637 + "arm64" 638 + ], 639 + "dev": true, 640 + "optional": true, 641 + "os": [ 642 + "linux" 643 + ], 644 + "funding": { 645 + "url": "https://opencollective.com/libvips" 646 + } 647 + }, 648 + "node_modules/@img/sharp-libvips-linux-s390x": { 649 + "version": "1.0.4", 650 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", 651 + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", 652 + "cpu": [ 653 + "s390x" 654 + ], 655 + "dev": true, 656 + "optional": true, 657 + "os": [ 658 + "linux" 659 + ], 660 + "funding": { 661 + "url": "https://opencollective.com/libvips" 662 + } 663 + }, 664 + "node_modules/@img/sharp-libvips-linux-x64": { 665 + "version": "1.0.4", 666 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", 667 + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", 668 + "cpu": [ 669 + "x64" 670 + ], 671 + "dev": true, 672 + "optional": true, 673 + "os": [ 674 + "linux" 675 + ], 676 + "funding": { 677 + "url": "https://opencollective.com/libvips" 678 + } 679 + }, 680 + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 681 + "version": "1.0.4", 682 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", 683 + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", 684 + "cpu": [ 685 + "arm64" 686 + ], 687 + "dev": true, 688 + "optional": true, 689 + "os": [ 690 + "linux" 691 + ], 692 + "funding": { 693 + "url": "https://opencollective.com/libvips" 694 + } 695 + }, 696 + "node_modules/@img/sharp-libvips-linuxmusl-x64": { 697 + "version": "1.0.4", 698 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", 699 + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", 700 + "cpu": [ 701 + "x64" 702 + ], 703 + "dev": true, 704 + "optional": true, 705 + "os": [ 706 + "linux" 707 + ], 708 + "funding": { 709 + "url": "https://opencollective.com/libvips" 710 + } 711 + }, 712 + "node_modules/@img/sharp-linux-arm": { 713 + "version": "0.33.5", 714 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", 715 + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", 716 + "cpu": [ 717 + "arm" 718 + ], 719 + "dev": true, 720 + "optional": true, 721 + "os": [ 722 + "linux" 723 + ], 724 + "engines": { 725 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 726 + }, 727 + "funding": { 728 + "url": "https://opencollective.com/libvips" 729 + }, 730 + "optionalDependencies": { 731 + "@img/sharp-libvips-linux-arm": "1.0.5" 732 + } 733 + }, 734 + "node_modules/@img/sharp-linux-arm64": { 735 + "version": "0.33.5", 736 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", 737 + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", 738 + "cpu": [ 739 + "arm64" 740 + ], 741 + "dev": true, 742 + "optional": true, 743 + "os": [ 744 + "linux" 745 + ], 746 + "engines": { 747 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 748 + }, 749 + "funding": { 750 + "url": "https://opencollective.com/libvips" 751 + }, 752 + "optionalDependencies": { 753 + "@img/sharp-libvips-linux-arm64": "1.0.4" 754 + } 755 + }, 756 + "node_modules/@img/sharp-linux-s390x": { 757 + "version": "0.33.5", 758 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", 759 + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", 760 + "cpu": [ 761 + "s390x" 762 + ], 763 + "dev": true, 764 + "optional": true, 765 + "os": [ 766 + "linux" 767 + ], 768 + "engines": { 769 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 770 + }, 771 + "funding": { 772 + "url": "https://opencollective.com/libvips" 773 + }, 774 + "optionalDependencies": { 775 + "@img/sharp-libvips-linux-s390x": "1.0.4" 776 + } 777 + }, 778 + "node_modules/@img/sharp-linux-x64": { 779 + "version": "0.33.5", 780 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", 781 + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", 782 + "cpu": [ 783 + "x64" 784 + ], 785 + "dev": true, 786 + "optional": true, 787 + "os": [ 788 + "linux" 789 + ], 790 + "engines": { 791 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 792 + }, 793 + "funding": { 794 + "url": "https://opencollective.com/libvips" 795 + }, 796 + "optionalDependencies": { 797 + "@img/sharp-libvips-linux-x64": "1.0.4" 798 + } 799 + }, 800 + "node_modules/@img/sharp-linuxmusl-arm64": { 801 + "version": "0.33.5", 802 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", 803 + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", 804 + "cpu": [ 805 + "arm64" 806 + ], 807 + "dev": true, 808 + "optional": true, 809 + "os": [ 810 + "linux" 811 + ], 812 + "engines": { 813 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 814 + }, 815 + "funding": { 816 + "url": "https://opencollective.com/libvips" 817 + }, 818 + "optionalDependencies": { 819 + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" 820 + } 821 + }, 822 + "node_modules/@img/sharp-linuxmusl-x64": { 823 + "version": "0.33.5", 824 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", 825 + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", 826 + "cpu": [ 827 + "x64" 828 + ], 829 + "dev": true, 830 + "optional": true, 831 + "os": [ 832 + "linux" 833 + ], 834 + "engines": { 835 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 836 + }, 837 + "funding": { 838 + "url": "https://opencollective.com/libvips" 839 + }, 840 + "optionalDependencies": { 841 + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" 842 + } 843 + }, 844 + "node_modules/@img/sharp-wasm32": { 845 + "version": "0.33.5", 846 + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", 847 + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", 848 + "cpu": [ 849 + "wasm32" 850 + ], 851 + "dev": true, 852 + "optional": true, 853 + "dependencies": { 854 + "@emnapi/runtime": "^1.2.0" 855 + }, 856 + "engines": { 857 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 858 + }, 859 + "funding": { 860 + "url": "https://opencollective.com/libvips" 861 + } 862 + }, 863 + "node_modules/@img/sharp-win32-ia32": { 864 + "version": "0.33.5", 865 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", 866 + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", 867 + "cpu": [ 868 + "ia32" 869 + ], 870 + "dev": true, 871 + "optional": true, 872 + "os": [ 873 + "win32" 874 + ], 875 + "engines": { 876 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 877 + }, 878 + "funding": { 879 + "url": "https://opencollective.com/libvips" 880 + } 881 + }, 882 + "node_modules/@img/sharp-win32-x64": { 883 + "version": "0.33.5", 884 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", 885 + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", 886 + "cpu": [ 887 + "x64" 888 + ], 889 + "dev": true, 890 + "optional": true, 891 + "os": [ 892 + "win32" 893 + ], 894 + "engines": { 895 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 896 + }, 897 + "funding": { 898 + "url": "https://opencollective.com/libvips" 899 + } 900 + }, 901 + "node_modules/@jridgewell/resolve-uri": { 902 + "version": "3.1.2", 903 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 904 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 905 + "dev": true, 906 + "engines": { 907 + "node": ">=6.0.0" 908 + } 909 + }, 910 + "node_modules/@jridgewell/sourcemap-codec": { 911 + "version": "1.5.5", 912 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 913 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 914 + "dev": true 915 + }, 916 + "node_modules/@jridgewell/trace-mapping": { 917 + "version": "0.3.9", 918 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 919 + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 920 + "dev": true, 921 + "dependencies": { 922 + "@jridgewell/resolve-uri": "^3.0.3", 923 + "@jridgewell/sourcemap-codec": "^1.4.10" 924 + } 925 + }, 926 + "node_modules/@poppinss/colors": { 927 + "version": "4.1.5", 928 + "resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.5.tgz", 929 + "integrity": "sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==", 930 + "dev": true, 931 + "dependencies": { 932 + "kleur": "^4.1.5" 933 + } 934 + }, 935 + "node_modules/@poppinss/dumper": { 936 + "version": "0.6.4", 937 + "resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.4.tgz", 938 + "integrity": "sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==", 939 + "dev": true, 940 + "dependencies": { 941 + "@poppinss/colors": "^4.1.5", 942 + "@sindresorhus/is": "^7.0.2", 943 + "supports-color": "^10.0.0" 944 + } 945 + }, 946 + "node_modules/@poppinss/exception": { 947 + "version": "1.2.2", 948 + "resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.2.tgz", 949 + "integrity": "sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==", 950 + "dev": true 951 + }, 952 + "node_modules/@sindresorhus/is": { 953 + "version": "7.1.0", 954 + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.1.0.tgz", 955 + "integrity": "sha512-7F/yz2IphV39hiS2zB4QYVkivrptHHh0K8qJJd9HhuWSdvf8AN7NpebW3CcDZDBQsUPMoDKWsY2WWgW7bqOcfA==", 956 + "dev": true, 957 + "engines": { 958 + "node": ">=18" 959 + }, 960 + "funding": { 961 + "url": "https://github.com/sindresorhus/is?sponsor=1" 962 + } 963 + }, 964 + "node_modules/@speed-highlight/core": { 965 + "version": "1.2.7", 966 + "resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.7.tgz", 967 + "integrity": "sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==", 968 + "dev": true 969 + }, 970 + "node_modules/acorn": { 971 + "version": "8.14.0", 972 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 973 + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 974 + "dev": true, 975 + "bin": { 976 + "acorn": "bin/acorn" 977 + }, 978 + "engines": { 979 + "node": ">=0.4.0" 980 + } 981 + }, 982 + "node_modules/acorn-walk": { 983 + "version": "8.3.2", 984 + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", 985 + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", 986 + "dev": true, 987 + "engines": { 988 + "node": ">=0.4.0" 989 + } 990 + }, 991 + "node_modules/blake3-wasm": { 992 + "version": "2.1.5", 993 + "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", 994 + "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", 995 + "dev": true 996 + }, 997 + "node_modules/color": { 998 + "version": "4.2.3", 999 + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", 1000 + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", 1001 + "dev": true, 1002 + "dependencies": { 1003 + "color-convert": "^2.0.1", 1004 + "color-string": "^1.9.0" 1005 + }, 1006 + "engines": { 1007 + "node": ">=12.5.0" 1008 + } 1009 + }, 1010 + "node_modules/color-convert": { 1011 + "version": "2.0.1", 1012 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1013 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1014 + "dev": true, 1015 + "dependencies": { 1016 + "color-name": "~1.1.4" 1017 + }, 1018 + "engines": { 1019 + "node": ">=7.0.0" 1020 + } 1021 + }, 1022 + "node_modules/color-name": { 1023 + "version": "1.1.4", 1024 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1025 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1026 + "dev": true 1027 + }, 1028 + "node_modules/color-string": { 1029 + "version": "1.9.1", 1030 + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", 1031 + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", 1032 + "dev": true, 1033 + "dependencies": { 1034 + "color-name": "^1.0.0", 1035 + "simple-swizzle": "^0.2.2" 1036 + } 1037 + }, 1038 + "node_modules/cookie": { 1039 + "version": "1.0.2", 1040 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", 1041 + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", 1042 + "dev": true, 1043 + "engines": { 1044 + "node": ">=18" 1045 + } 1046 + }, 1047 + "node_modules/defu": { 1048 + "version": "6.1.4", 1049 + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", 1050 + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", 1051 + "dev": true 1052 + }, 1053 + "node_modules/detect-libc": { 1054 + "version": "2.1.0", 1055 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.0.tgz", 1056 + "integrity": "sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==", 1057 + "dev": true, 1058 + "engines": { 1059 + "node": ">=8" 1060 + } 1061 + }, 1062 + "node_modules/error-stack-parser-es": { 1063 + "version": "1.0.5", 1064 + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", 1065 + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", 1066 + "dev": true, 1067 + "funding": { 1068 + "url": "https://github.com/sponsors/antfu" 1069 + } 1070 + }, 1071 + "node_modules/esbuild": { 1072 + "version": "0.25.4", 1073 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", 1074 + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", 1075 + "dev": true, 1076 + "hasInstallScript": true, 1077 + "bin": { 1078 + "esbuild": "bin/esbuild" 1079 + }, 1080 + "engines": { 1081 + "node": ">=18" 1082 + }, 1083 + "optionalDependencies": { 1084 + "@esbuild/aix-ppc64": "0.25.4", 1085 + "@esbuild/android-arm": "0.25.4", 1086 + "@esbuild/android-arm64": "0.25.4", 1087 + "@esbuild/android-x64": "0.25.4", 1088 + "@esbuild/darwin-arm64": "0.25.4", 1089 + "@esbuild/darwin-x64": "0.25.4", 1090 + "@esbuild/freebsd-arm64": "0.25.4", 1091 + "@esbuild/freebsd-x64": "0.25.4", 1092 + "@esbuild/linux-arm": "0.25.4", 1093 + "@esbuild/linux-arm64": "0.25.4", 1094 + "@esbuild/linux-ia32": "0.25.4", 1095 + "@esbuild/linux-loong64": "0.25.4", 1096 + "@esbuild/linux-mips64el": "0.25.4", 1097 + "@esbuild/linux-ppc64": "0.25.4", 1098 + "@esbuild/linux-riscv64": "0.25.4", 1099 + "@esbuild/linux-s390x": "0.25.4", 1100 + "@esbuild/linux-x64": "0.25.4", 1101 + "@esbuild/netbsd-arm64": "0.25.4", 1102 + "@esbuild/netbsd-x64": "0.25.4", 1103 + "@esbuild/openbsd-arm64": "0.25.4", 1104 + "@esbuild/openbsd-x64": "0.25.4", 1105 + "@esbuild/sunos-x64": "0.25.4", 1106 + "@esbuild/win32-arm64": "0.25.4", 1107 + "@esbuild/win32-ia32": "0.25.4", 1108 + "@esbuild/win32-x64": "0.25.4" 1109 + } 1110 + }, 1111 + "node_modules/exit-hook": { 1112 + "version": "2.2.1", 1113 + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", 1114 + "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", 1115 + "dev": true, 1116 + "engines": { 1117 + "node": ">=6" 1118 + }, 1119 + "funding": { 1120 + "url": "https://github.com/sponsors/sindresorhus" 1121 + } 1122 + }, 1123 + "node_modules/exsolve": { 1124 + "version": "1.0.7", 1125 + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", 1126 + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", 1127 + "dev": true 1128 + }, 1129 + "node_modules/fsevents": { 1130 + "version": "2.3.3", 1131 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1132 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1133 + "dev": true, 1134 + "hasInstallScript": true, 1135 + "optional": true, 1136 + "os": [ 1137 + "darwin" 1138 + ], 1139 + "engines": { 1140 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1141 + } 1142 + }, 1143 + "node_modules/glob-to-regexp": { 1144 + "version": "0.4.1", 1145 + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1146 + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 1147 + "dev": true 1148 + }, 1149 + "node_modules/is-arrayish": { 1150 + "version": "0.3.4", 1151 + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", 1152 + "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", 1153 + "dev": true 1154 + }, 1155 + "node_modules/kleur": { 1156 + "version": "4.1.5", 1157 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 1158 + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 1159 + "dev": true, 1160 + "engines": { 1161 + "node": ">=6" 1162 + } 1163 + }, 1164 + "node_modules/mime": { 1165 + "version": "3.0.0", 1166 + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", 1167 + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", 1168 + "dev": true, 1169 + "bin": { 1170 + "mime": "cli.js" 1171 + }, 1172 + "engines": { 1173 + "node": ">=10.0.0" 1174 + } 1175 + }, 1176 + "node_modules/miniflare": { 1177 + "version": "4.20250917.0", 1178 + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20250917.0.tgz", 1179 + "integrity": "sha512-A7kYEc/Y6ohiiTji4W/qGJj3aJNc/9IMj/6wLy2phD/iMjcoY8t35654gR5mHbMx0AgUolDdr3HOsHB0cYBf+Q==", 1180 + "dev": true, 1181 + "dependencies": { 1182 + "@cspotcode/source-map-support": "0.8.1", 1183 + "acorn": "8.14.0", 1184 + "acorn-walk": "8.3.2", 1185 + "exit-hook": "2.2.1", 1186 + "glob-to-regexp": "0.4.1", 1187 + "sharp": "^0.33.5", 1188 + "stoppable": "1.1.0", 1189 + "undici": "7.14.0", 1190 + "workerd": "1.20250917.0", 1191 + "ws": "8.18.0", 1192 + "youch": "4.1.0-beta.10", 1193 + "zod": "3.22.3" 1194 + }, 1195 + "bin": { 1196 + "miniflare": "bootstrap.js" 1197 + }, 1198 + "engines": { 1199 + "node": ">=18.0.0" 1200 + } 1201 + }, 1202 + "node_modules/ohash": { 1203 + "version": "2.0.11", 1204 + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", 1205 + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", 1206 + "dev": true 1207 + }, 1208 + "node_modules/path-to-regexp": { 1209 + "version": "6.3.0", 1210 + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", 1211 + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", 1212 + "dev": true 1213 + }, 1214 + "node_modules/pathe": { 1215 + "version": "2.0.3", 1216 + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", 1217 + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", 1218 + "dev": true 1219 + }, 1220 + "node_modules/semver": { 1221 + "version": "7.7.2", 1222 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 1223 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 1224 + "dev": true, 1225 + "bin": { 1226 + "semver": "bin/semver.js" 1227 + }, 1228 + "engines": { 1229 + "node": ">=10" 1230 + } 1231 + }, 1232 + "node_modules/sharp": { 1233 + "version": "0.33.5", 1234 + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", 1235 + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", 1236 + "dev": true, 1237 + "hasInstallScript": true, 1238 + "dependencies": { 1239 + "color": "^4.2.3", 1240 + "detect-libc": "^2.0.3", 1241 + "semver": "^7.6.3" 1242 + }, 1243 + "engines": { 1244 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 1245 + }, 1246 + "funding": { 1247 + "url": "https://opencollective.com/libvips" 1248 + }, 1249 + "optionalDependencies": { 1250 + "@img/sharp-darwin-arm64": "0.33.5", 1251 + "@img/sharp-darwin-x64": "0.33.5", 1252 + "@img/sharp-libvips-darwin-arm64": "1.0.4", 1253 + "@img/sharp-libvips-darwin-x64": "1.0.4", 1254 + "@img/sharp-libvips-linux-arm": "1.0.5", 1255 + "@img/sharp-libvips-linux-arm64": "1.0.4", 1256 + "@img/sharp-libvips-linux-s390x": "1.0.4", 1257 + "@img/sharp-libvips-linux-x64": "1.0.4", 1258 + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", 1259 + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", 1260 + "@img/sharp-linux-arm": "0.33.5", 1261 + "@img/sharp-linux-arm64": "0.33.5", 1262 + "@img/sharp-linux-s390x": "0.33.5", 1263 + "@img/sharp-linux-x64": "0.33.5", 1264 + "@img/sharp-linuxmusl-arm64": "0.33.5", 1265 + "@img/sharp-linuxmusl-x64": "0.33.5", 1266 + "@img/sharp-wasm32": "0.33.5", 1267 + "@img/sharp-win32-ia32": "0.33.5", 1268 + "@img/sharp-win32-x64": "0.33.5" 1269 + } 1270 + }, 1271 + "node_modules/simple-swizzle": { 1272 + "version": "0.2.4", 1273 + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", 1274 + "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", 1275 + "dev": true, 1276 + "dependencies": { 1277 + "is-arrayish": "^0.3.1" 1278 + } 1279 + }, 1280 + "node_modules/stoppable": { 1281 + "version": "1.1.0", 1282 + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", 1283 + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", 1284 + "dev": true, 1285 + "engines": { 1286 + "node": ">=4", 1287 + "npm": ">=6" 1288 + } 1289 + }, 1290 + "node_modules/supports-color": { 1291 + "version": "10.2.2", 1292 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", 1293 + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", 1294 + "dev": true, 1295 + "engines": { 1296 + "node": ">=18" 1297 + }, 1298 + "funding": { 1299 + "url": "https://github.com/chalk/supports-color?sponsor=1" 1300 + } 1301 + }, 1302 + "node_modules/tslib": { 1303 + "version": "2.8.1", 1304 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 1305 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 1306 + "dev": true, 1307 + "optional": true 1308 + }, 1309 + "node_modules/ufo": { 1310 + "version": "1.6.1", 1311 + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", 1312 + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", 1313 + "dev": true 1314 + }, 1315 + "node_modules/undici": { 1316 + "version": "7.14.0", 1317 + "resolved": "https://registry.npmjs.org/undici/-/undici-7.14.0.tgz", 1318 + "integrity": "sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==", 1319 + "dev": true, 1320 + "engines": { 1321 + "node": ">=20.18.1" 1322 + } 1323 + }, 1324 + "node_modules/unenv": { 1325 + "version": "2.0.0-rc.21", 1326 + "resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.21.tgz", 1327 + "integrity": "sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==", 1328 + "dev": true, 1329 + "dependencies": { 1330 + "defu": "^6.1.4", 1331 + "exsolve": "^1.0.7", 1332 + "ohash": "^2.0.11", 1333 + "pathe": "^2.0.3", 1334 + "ufo": "^1.6.1" 1335 + } 1336 + }, 1337 + "node_modules/workerd": { 1338 + "version": "1.20250917.0", 1339 + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20250917.0.tgz", 1340 + "integrity": "sha512-0D+wWaccyYQb2Zx2DZDC77YDn9kOpkpGMCgyKgIHilghut5hBQ/adUIEseS4iuIZxBPeFSn6zFtICP0SxZ3z0g==", 1341 + "dev": true, 1342 + "hasInstallScript": true, 1343 + "bin": { 1344 + "workerd": "bin/workerd" 1345 + }, 1346 + "engines": { 1347 + "node": ">=16" 1348 + }, 1349 + "optionalDependencies": { 1350 + "@cloudflare/workerd-darwin-64": "1.20250917.0", 1351 + "@cloudflare/workerd-darwin-arm64": "1.20250917.0", 1352 + "@cloudflare/workerd-linux-64": "1.20250917.0", 1353 + "@cloudflare/workerd-linux-arm64": "1.20250917.0", 1354 + "@cloudflare/workerd-windows-64": "1.20250917.0" 1355 + } 1356 + }, 1357 + "node_modules/wrangler": { 1358 + "version": "4.38.0", 1359 + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.38.0.tgz", 1360 + "integrity": "sha512-ITL4VZ4KWs8LMDEttDTrAKLktwtv1NxHBd5QIqHOczvcjnAQr+GQoE6XYQws+w8jlOjDV7KyvbFqAdyRh5om3g==", 1361 + "dev": true, 1362 + "dependencies": { 1363 + "@cloudflare/kv-asset-handler": "0.4.0", 1364 + "@cloudflare/unenv-preset": "2.7.4", 1365 + "blake3-wasm": "2.1.5", 1366 + "esbuild": "0.25.4", 1367 + "miniflare": "4.20250917.0", 1368 + "path-to-regexp": "6.3.0", 1369 + "unenv": "2.0.0-rc.21", 1370 + "workerd": "1.20250917.0" 1371 + }, 1372 + "bin": { 1373 + "wrangler": "bin/wrangler.js", 1374 + "wrangler2": "bin/wrangler.js" 1375 + }, 1376 + "engines": { 1377 + "node": ">=18.0.0" 1378 + }, 1379 + "optionalDependencies": { 1380 + "fsevents": "~2.3.2" 1381 + }, 1382 + "peerDependencies": { 1383 + "@cloudflare/workers-types": "^4.20250917.0" 1384 + }, 1385 + "peerDependenciesMeta": { 1386 + "@cloudflare/workers-types": { 1387 + "optional": true 1388 + } 1389 + } 1390 + }, 1391 + "node_modules/ws": { 1392 + "version": "8.18.0", 1393 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", 1394 + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", 1395 + "dev": true, 1396 + "engines": { 1397 + "node": ">=10.0.0" 1398 + }, 1399 + "peerDependencies": { 1400 + "bufferutil": "^4.0.1", 1401 + "utf-8-validate": ">=5.0.2" 1402 + }, 1403 + "peerDependenciesMeta": { 1404 + "bufferutil": { 1405 + "optional": true 1406 + }, 1407 + "utf-8-validate": { 1408 + "optional": true 1409 + } 1410 + } 1411 + }, 1412 + "node_modules/youch": { 1413 + "version": "4.1.0-beta.10", 1414 + "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz", 1415 + "integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==", 1416 + "dev": true, 1417 + "dependencies": { 1418 + "@poppinss/colors": "^4.1.5", 1419 + "@poppinss/dumper": "^0.6.4", 1420 + "@speed-highlight/core": "^1.2.7", 1421 + "cookie": "^1.0.2", 1422 + "youch-core": "^0.3.3" 1423 + } 1424 + }, 1425 + "node_modules/youch-core": { 1426 + "version": "0.3.3", 1427 + "resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz", 1428 + "integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==", 1429 + "dev": true, 1430 + "dependencies": { 1431 + "@poppinss/exception": "^1.2.2", 1432 + "error-stack-parser-es": "^1.0.5" 1433 + } 1434 + }, 1435 + "node_modules/zod": { 1436 + "version": "3.22.3", 1437 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz", 1438 + "integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==", 1439 + "dev": true, 1440 + "funding": { 1441 + "url": "https://github.com/sponsors/colinhacks" 1442 + } 1443 + } 1444 + } 1445 + }
+5
package.json
··· 1 + { 2 + "devDependencies": { 3 + "wrangler": "^4.38.0" 4 + } 5 + }
+233
src/lib.rs
··· 1 + use atrium_api::app; 2 + use atrium_api::app::bsky::embed::external; 3 + use atrium_api::app::bsky::feed; 4 + use atrium_api::app::bsky::feed::post::RecordEmbedRefs; 5 + use atrium_api::types; 6 + use atrium_api::types::string::Datetime; 7 + use bsky_sdk::BskyAgent; 8 + use serde_derive::Deserialize; 9 + use serde_derive::Serialize; 10 + use worker::*; 11 + 12 + #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 13 + #[serde(rename_all = "camelCase")] 14 + pub struct Root { 15 + pub recenttracks: Recenttracks, 16 + } 17 + 18 + #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 19 + #[serde(rename_all = "camelCase")] 20 + pub struct Recenttracks { 21 + pub track: Vec<Track>, 22 + } 23 + 24 + #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 25 + #[serde(rename_all = "camelCase")] 26 + pub struct Track { 27 + pub artist: Artist, 28 + pub album: Album, 29 + pub name: String, 30 + pub image: Vec<Image>, 31 + #[serde(rename = "@attr")] 32 + pub attr: Option<Attr>, 33 + pub url: String, 34 + } 35 + 36 + #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 37 + #[serde(rename_all = "camelCase")] 38 + pub struct Artist { 39 + pub mbid: String, 40 + #[serde(rename = "#text")] 41 + pub text: String, 42 + } 43 + 44 + #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 45 + #[serde(rename_all = "camelCase")] 46 + pub struct Album { 47 + pub mbid: String, 48 + #[serde(rename = "#text")] 49 + pub text: String, 50 + } 51 + 52 + #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 53 + #[serde(rename_all = "camelCase")] 54 + pub struct Attr { 55 + pub nowplaying: String, 56 + } 57 + 58 + #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] 59 + #[serde(rename_all = "camelCase")] 60 + pub struct Image { 61 + pub size: String, 62 + #[serde(rename = "#text")] 63 + pub text: String, 64 + } 65 + 66 + fn now_playing_url(username: String, api_key: String) -> String { 67 + format!( 68 + "https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user={username}&api_key={api_key}&format=json&limit=1" 69 + ) 70 + } 71 + 72 + struct NowPlaying { 73 + artist: String, 74 + title: String, 75 + image: String, 76 + url: String, 77 + } 78 + 79 + impl std::fmt::Display for NowPlaying { 80 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 81 + write!(f, "{}, {}", self.title, self.artist) 82 + } 83 + } 84 + 85 + async fn get_now_playing(u: String) -> Option<NowPlaying> { 86 + let res: Root = reqwest::get(u).await.unwrap().json().await.unwrap(); 87 + 88 + for e in res.recenttracks.track { 89 + match e.attr { 90 + Some(a) => { 91 + if a.nowplaying == "false" || a.nowplaying == "" { 92 + continue; 93 + } 94 + 95 + let img = e.image.iter().find(|i| i.size == "extralarge"); 96 + return Some(NowPlaying { 97 + artist: e.artist.text, 98 + title: e.name, 99 + url: e.url, 100 + image: img.unwrap().text.clone(), 101 + }); 102 + } 103 + None => return None, 104 + } 105 + } 106 + 107 + None 108 + } 109 + 110 + async fn embeds_if_any( 111 + agent: &BskyAgent, 112 + np: &NowPlaying, 113 + ) -> Option<types::Union<RecordEmbedRefs>> { 114 + let img_data = reqwest::get(np.image.clone()) 115 + .await 116 + .unwrap() 117 + .bytes() 118 + .await 119 + .unwrap(); 120 + let img_ref = agent 121 + .api 122 + .com 123 + .atproto 124 + .repo 125 + .upload_blob(img_data.into()) 126 + .await 127 + .unwrap(); 128 + 129 + let data = app::bsky::embed::external::ExternalData { 130 + description: np.artist.clone(), 131 + thumb: Some(img_ref.blob.clone()), 132 + title: np.title.clone(), 133 + uri: np.url.clone(), 134 + }; 135 + 136 + let main = external::MainData { 137 + external: data.into(), 138 + }; 139 + 140 + Some(types::Union::Refs( 141 + RecordEmbedRefs::AppBskyEmbedExternalMain(Box::new(main.into())), 142 + )) 143 + } 144 + 145 + async fn post_now_playing(np: NowPlaying, user: String, pass: String, pds: String) { 146 + let agent = BskyAgent::builder() 147 + .config(bsky_sdk::agent::config::Config { 148 + endpoint: pds, 149 + ..Default::default() 150 + }) 151 + .build() 152 + .await 153 + .unwrap(); 154 + 155 + agent.login(user, pass).await.unwrap(); 156 + 157 + agent 158 + .create_record(feed::post::RecordData { 159 + created_at: Datetime::now(), 160 + embed: embeds_if_any(&agent, &np).await, 161 + entities: None, 162 + facets: None, 163 + labels: None, 164 + langs: None, 165 + reply: None, 166 + tags: None, 167 + text: "🎵🎶 Now Playing 🎤🎧🎸".to_string(), 168 + }) 169 + .await 170 + .unwrap(); 171 + } 172 + 173 + struct Vars { 174 + lastfm_api_key: String, 175 + lastfm_username: String, 176 + bsky_username: String, 177 + bsky_password: String, 178 + pds_address: String, 179 + } 180 + 181 + impl Vars { 182 + fn load(env: &Env) -> Self { 183 + Vars { 184 + lastfm_api_key: env.secret("LASTFM_API_KEY").unwrap().to_string(), 185 + lastfm_username: env.secret("LASTFM_USERNAME").unwrap().to_string(), 186 + bsky_username: env.secret("BSKY_USERNAME").unwrap().to_string(), 187 + bsky_password: env.secret("BSKY_PASSWORD").unwrap().to_string(), 188 + pds_address: { 189 + match env.secret("PDS_ADDRESS") { 190 + Ok(s) => s.to_string(), 191 + Err(_) => "https://bsky.social".to_string(), 192 + } 193 + }, 194 + } 195 + } 196 + } 197 + 198 + #[event(scheduled)] 199 + async fn scheduled(_evt: ScheduledEvent, _env: Env, _ctx: ScheduleContext) { 200 + console_error_panic_hook::set_once(); 201 + 202 + let vars = Vars::load(&_env); 203 + 204 + let np_url = now_playing_url(vars.lastfm_username, vars.lastfm_api_key); 205 + 206 + let np = match get_now_playing(np_url).await { 207 + Some(np) => np, 208 + None => return, 209 + }; 210 + 211 + let kv_key = format!("{}", np); 212 + let kv = _env.kv("skeetfm").unwrap(); 213 + let res = kv 214 + .list() 215 + .limit(1) 216 + .prefix(kv_key.clone()) 217 + .execute() 218 + .await 219 + .unwrap(); 220 + if !res.keys.is_empty() { 221 + return; 222 + } 223 + 224 + kv.delete(&kv_key).await.ok(); 225 + 226 + post_now_playing(np, vars.bsky_username, vars.bsky_password, vars.pds_address).await; 227 + 228 + kv.put(&kv_key, kv_key.clone()) 229 + .unwrap() 230 + .execute() 231 + .await 232 + .unwrap(); 233 + }
+17
wrangler.toml
··· 1 + name = "skeetfm" 2 + main = "build/index.js" 3 + compatibility_date = "2025-09-19" 4 + 5 + [build] 6 + command = "cargo install -q worker-build && worker-build --release" 7 + 8 + [triggers] 9 + crons = [" * * * * *"] 10 + 11 + [observability] 12 + enabled = true 13 + 14 + [[kv_namespaces]] 15 + binding = "skeetfm" 16 + id = "1daf3d0198ef400e9ad03d8495955b03" 17 + preview_id = "1daf3d0198ef400e9ad03d8495955b03"