tangled
alpha
login
or
join now
mfzx.net
/
pdsfs
forked from
oppi.li/pdsfs
0
fork
atom
mount an atproto PDS repository as a FUSE filesystem
0
fork
atom
overview
issues
pulls
pipelines
init pdsfs
Signed-off-by: oppiliappan <me@oppi.li>
oppi.li
7 months ago
3489add0
+3936
9 changed files
expand all
collapse all
unified
split
.gitignore
Cargo.lock
Cargo.toml
readme.txt
src
client.rs
error.rs
fs.rs
main.rs
resolver.rs
+2
.gitignore
···
1
1
+
/target
2
2
+
mnt
+3382
Cargo.lock
···
1
1
+
# This file is automatically @generated by Cargo.
2
2
+
# It is not intended for manual editing.
3
3
+
version = 4
4
4
+
5
5
+
[[package]]
6
6
+
name = "addr2line"
7
7
+
version = "0.24.2"
8
8
+
source = "registry+https://github.com/rust-lang/crates.io-index"
9
9
+
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
10
10
+
dependencies = [
11
11
+
"gimli",
12
12
+
]
13
13
+
14
14
+
[[package]]
15
15
+
name = "adler2"
16
16
+
version = "2.0.1"
17
17
+
source = "registry+https://github.com/rust-lang/crates.io-index"
18
18
+
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
19
19
+
20
20
+
[[package]]
21
21
+
name = "aho-corasick"
22
22
+
version = "1.1.3"
23
23
+
source = "registry+https://github.com/rust-lang/crates.io-index"
24
24
+
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
25
25
+
dependencies = [
26
26
+
"memchr",
27
27
+
]
28
28
+
29
29
+
[[package]]
30
30
+
name = "allocator-api2"
31
31
+
version = "0.2.21"
32
32
+
source = "registry+https://github.com/rust-lang/crates.io-index"
33
33
+
checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
34
34
+
35
35
+
[[package]]
36
36
+
name = "android-tzdata"
37
37
+
version = "0.1.1"
38
38
+
source = "registry+https://github.com/rust-lang/crates.io-index"
39
39
+
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
40
40
+
41
41
+
[[package]]
42
42
+
name = "android_system_properties"
43
43
+
version = "0.1.5"
44
44
+
source = "registry+https://github.com/rust-lang/crates.io-index"
45
45
+
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
46
46
+
dependencies = [
47
47
+
"libc",
48
48
+
]
49
49
+
50
50
+
[[package]]
51
51
+
name = "anstream"
52
52
+
version = "0.6.19"
53
53
+
source = "registry+https://github.com/rust-lang/crates.io-index"
54
54
+
checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933"
55
55
+
dependencies = [
56
56
+
"anstyle",
57
57
+
"anstyle-parse",
58
58
+
"anstyle-query",
59
59
+
"anstyle-wincon",
60
60
+
"colorchoice",
61
61
+
"is_terminal_polyfill",
62
62
+
"utf8parse",
63
63
+
]
64
64
+
65
65
+
[[package]]
66
66
+
name = "anstyle"
67
67
+
version = "1.0.11"
68
68
+
source = "registry+https://github.com/rust-lang/crates.io-index"
69
69
+
checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd"
70
70
+
71
71
+
[[package]]
72
72
+
name = "anstyle-parse"
73
73
+
version = "0.2.7"
74
74
+
source = "registry+https://github.com/rust-lang/crates.io-index"
75
75
+
checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2"
76
76
+
dependencies = [
77
77
+
"utf8parse",
78
78
+
]
79
79
+
80
80
+
[[package]]
81
81
+
name = "anstyle-query"
82
82
+
version = "1.1.3"
83
83
+
source = "registry+https://github.com/rust-lang/crates.io-index"
84
84
+
checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9"
85
85
+
dependencies = [
86
86
+
"windows-sys 0.59.0",
87
87
+
]
88
88
+
89
89
+
[[package]]
90
90
+
name = "anstyle-wincon"
91
91
+
version = "3.0.9"
92
92
+
source = "registry+https://github.com/rust-lang/crates.io-index"
93
93
+
checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882"
94
94
+
dependencies = [
95
95
+
"anstyle",
96
96
+
"once_cell_polyfill",
97
97
+
"windows-sys 0.59.0",
98
98
+
]
99
99
+
100
100
+
[[package]]
101
101
+
name = "async-channel"
102
102
+
version = "1.9.0"
103
103
+
source = "registry+https://github.com/rust-lang/crates.io-index"
104
104
+
checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
105
105
+
dependencies = [
106
106
+
"concurrent-queue",
107
107
+
"event-listener 2.5.3",
108
108
+
"futures-core",
109
109
+
]
110
110
+
111
111
+
[[package]]
112
112
+
name = "async-compression"
113
113
+
version = "0.4.27"
114
114
+
source = "registry+https://github.com/rust-lang/crates.io-index"
115
115
+
checksum = "ddb939d66e4ae03cee6091612804ba446b12878410cfa17f785f4dd67d4014e8"
116
116
+
dependencies = [
117
117
+
"flate2",
118
118
+
"futures-core",
119
119
+
"memchr",
120
120
+
"pin-project-lite",
121
121
+
"tokio",
122
122
+
]
123
123
+
124
124
+
[[package]]
125
125
+
name = "async-lock"
126
126
+
version = "3.4.0"
127
127
+
source = "registry+https://github.com/rust-lang/crates.io-index"
128
128
+
checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
129
129
+
dependencies = [
130
130
+
"event-listener 5.4.0",
131
131
+
"event-listener-strategy",
132
132
+
"pin-project-lite",
133
133
+
]
134
134
+
135
135
+
[[package]]
136
136
+
name = "async-stream"
137
137
+
version = "0.3.6"
138
138
+
source = "registry+https://github.com/rust-lang/crates.io-index"
139
139
+
checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476"
140
140
+
dependencies = [
141
141
+
"async-stream-impl",
142
142
+
"futures-core",
143
143
+
"pin-project-lite",
144
144
+
]
145
145
+
146
146
+
[[package]]
147
147
+
name = "async-stream-impl"
148
148
+
version = "0.3.6"
149
149
+
source = "registry+https://github.com/rust-lang/crates.io-index"
150
150
+
checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
151
151
+
dependencies = [
152
152
+
"proc-macro2",
153
153
+
"quote",
154
154
+
"syn",
155
155
+
]
156
156
+
157
157
+
[[package]]
158
158
+
name = "async-trait"
159
159
+
version = "0.1.88"
160
160
+
source = "registry+https://github.com/rust-lang/crates.io-index"
161
161
+
checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
162
162
+
dependencies = [
163
163
+
"proc-macro2",
164
164
+
"quote",
165
165
+
"syn",
166
166
+
]
167
167
+
168
168
+
[[package]]
169
169
+
name = "atomic-waker"
170
170
+
version = "1.1.2"
171
171
+
source = "registry+https://github.com/rust-lang/crates.io-index"
172
172
+
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
173
173
+
174
174
+
[[package]]
175
175
+
name = "atrium-api"
176
176
+
version = "0.25.4"
177
177
+
source = "registry+https://github.com/rust-lang/crates.io-index"
178
178
+
checksum = "46355d3245edc7b3160b2a45fe55d09a6963ebd3eee0252feb6b72fb0eb71463"
179
179
+
dependencies = [
180
180
+
"atrium-common",
181
181
+
"atrium-xrpc",
182
182
+
"chrono",
183
183
+
"http 1.3.1",
184
184
+
"ipld-core",
185
185
+
"langtag",
186
186
+
"regex",
187
187
+
"serde",
188
188
+
"serde_bytes",
189
189
+
"serde_json",
190
190
+
"thiserror 1.0.69",
191
191
+
"tokio",
192
192
+
"trait-variant",
193
193
+
]
194
194
+
195
195
+
[[package]]
196
196
+
name = "atrium-common"
197
197
+
version = "0.1.2"
198
198
+
source = "registry+https://github.com/rust-lang/crates.io-index"
199
199
+
checksum = "9ed5610654043faa396a5a15afac0ac646d76aebe45aebd7cef4f8b96b0ab7f4"
200
200
+
dependencies = [
201
201
+
"dashmap",
202
202
+
"lru",
203
203
+
"moka",
204
204
+
"thiserror 1.0.69",
205
205
+
"tokio",
206
206
+
"trait-variant",
207
207
+
"web-time",
208
208
+
]
209
209
+
210
210
+
[[package]]
211
211
+
name = "atrium-identity"
212
212
+
version = "0.1.5"
213
213
+
source = "registry+https://github.com/rust-lang/crates.io-index"
214
214
+
checksum = "c9e2d42bb4dbea038f4f5f45e3af2a89d61a9894a75f06aa550b74a60d2be380"
215
215
+
dependencies = [
216
216
+
"atrium-api",
217
217
+
"atrium-common",
218
218
+
"atrium-xrpc",
219
219
+
"serde",
220
220
+
"serde_html_form",
221
221
+
"serde_json",
222
222
+
"thiserror 1.0.69",
223
223
+
"trait-variant",
224
224
+
]
225
225
+
226
226
+
[[package]]
227
227
+
name = "atrium-repo"
228
228
+
version = "0.1.4"
229
229
+
source = "registry+https://github.com/rust-lang/crates.io-index"
230
230
+
checksum = "23362dd513fc76a26452b50994e14261eade4b3b87b01dd19644bbfee1ca2898"
231
231
+
dependencies = [
232
232
+
"async-stream",
233
233
+
"atrium-api",
234
234
+
"futures",
235
235
+
"ipld-core",
236
236
+
"serde",
237
237
+
"serde_bytes",
238
238
+
"serde_ipld_dagcbor",
239
239
+
"sha2",
240
240
+
"thiserror 1.0.69",
241
241
+
"tokio",
242
242
+
"tokio-util",
243
243
+
"unsigned-varint",
244
244
+
]
245
245
+
246
246
+
[[package]]
247
247
+
name = "atrium-xrpc"
248
248
+
version = "0.12.3"
249
249
+
source = "registry+https://github.com/rust-lang/crates.io-index"
250
250
+
checksum = "0216ad50ce34e9ff982e171c3659e65dedaa2ed5ac2994524debdc9a9647ffa8"
251
251
+
dependencies = [
252
252
+
"http 1.3.1",
253
253
+
"serde",
254
254
+
"serde_html_form",
255
255
+
"serde_json",
256
256
+
"thiserror 1.0.69",
257
257
+
"trait-variant",
258
258
+
]
259
259
+
260
260
+
[[package]]
261
261
+
name = "atrium-xrpc-client"
262
262
+
version = "0.5.14"
263
263
+
source = "registry+https://github.com/rust-lang/crates.io-index"
264
264
+
checksum = "e099e5171f79faef52364ef0657a4cab086a71b384a779a29597a91b780de0d5"
265
265
+
dependencies = [
266
266
+
"atrium-xrpc",
267
267
+
"isahc",
268
268
+
"reqwest",
269
269
+
]
270
270
+
271
271
+
[[package]]
272
272
+
name = "autocfg"
273
273
+
version = "1.5.0"
274
274
+
source = "registry+https://github.com/rust-lang/crates.io-index"
275
275
+
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
276
276
+
277
277
+
[[package]]
278
278
+
name = "backtrace"
279
279
+
version = "0.3.75"
280
280
+
source = "registry+https://github.com/rust-lang/crates.io-index"
281
281
+
checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
282
282
+
dependencies = [
283
283
+
"addr2line",
284
284
+
"cfg-if",
285
285
+
"libc",
286
286
+
"miniz_oxide",
287
287
+
"object",
288
288
+
"rustc-demangle",
289
289
+
"windows-targets 0.52.6",
290
290
+
]
291
291
+
292
292
+
[[package]]
293
293
+
name = "base-x"
294
294
+
version = "0.2.11"
295
295
+
source = "registry+https://github.com/rust-lang/crates.io-index"
296
296
+
checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
297
297
+
298
298
+
[[package]]
299
299
+
name = "base64"
300
300
+
version = "0.22.1"
301
301
+
source = "registry+https://github.com/rust-lang/crates.io-index"
302
302
+
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
303
303
+
304
304
+
[[package]]
305
305
+
name = "bitflags"
306
306
+
version = "1.3.2"
307
307
+
source = "registry+https://github.com/rust-lang/crates.io-index"
308
308
+
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
309
309
+
310
310
+
[[package]]
311
311
+
name = "bitflags"
312
312
+
version = "2.9.1"
313
313
+
source = "registry+https://github.com/rust-lang/crates.io-index"
314
314
+
checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
315
315
+
316
316
+
[[package]]
317
317
+
name = "block-buffer"
318
318
+
version = "0.10.4"
319
319
+
source = "registry+https://github.com/rust-lang/crates.io-index"
320
320
+
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
321
321
+
dependencies = [
322
322
+
"generic-array",
323
323
+
]
324
324
+
325
325
+
[[package]]
326
326
+
name = "bumpalo"
327
327
+
version = "3.19.0"
328
328
+
source = "registry+https://github.com/rust-lang/crates.io-index"
329
329
+
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
330
330
+
331
331
+
[[package]]
332
332
+
name = "bytes"
333
333
+
version = "1.10.1"
334
334
+
source = "registry+https://github.com/rust-lang/crates.io-index"
335
335
+
checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
336
336
+
337
337
+
[[package]]
338
338
+
name = "castaway"
339
339
+
version = "0.1.2"
340
340
+
source = "registry+https://github.com/rust-lang/crates.io-index"
341
341
+
checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
342
342
+
343
343
+
[[package]]
344
344
+
name = "cbor4ii"
345
345
+
version = "0.2.14"
346
346
+
source = "registry+https://github.com/rust-lang/crates.io-index"
347
347
+
checksum = "b544cf8c89359205f4f990d0e6f3828db42df85b5dac95d09157a250eb0749c4"
348
348
+
dependencies = [
349
349
+
"serde",
350
350
+
]
351
351
+
352
352
+
[[package]]
353
353
+
name = "cc"
354
354
+
version = "1.2.30"
355
355
+
source = "registry+https://github.com/rust-lang/crates.io-index"
356
356
+
checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7"
357
357
+
dependencies = [
358
358
+
"shlex",
359
359
+
]
360
360
+
361
361
+
[[package]]
362
362
+
name = "cfg-if"
363
363
+
version = "1.0.1"
364
364
+
source = "registry+https://github.com/rust-lang/crates.io-index"
365
365
+
checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
366
366
+
367
367
+
[[package]]
368
368
+
name = "cfg_aliases"
369
369
+
version = "0.2.1"
370
370
+
source = "registry+https://github.com/rust-lang/crates.io-index"
371
371
+
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
372
372
+
373
373
+
[[package]]
374
374
+
name = "chrono"
375
375
+
version = "0.4.41"
376
376
+
source = "registry+https://github.com/rust-lang/crates.io-index"
377
377
+
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
378
378
+
dependencies = [
379
379
+
"android-tzdata",
380
380
+
"iana-time-zone",
381
381
+
"js-sys",
382
382
+
"num-traits",
383
383
+
"serde",
384
384
+
"wasm-bindgen",
385
385
+
"windows-link",
386
386
+
]
387
387
+
388
388
+
[[package]]
389
389
+
name = "cid"
390
390
+
version = "0.11.1"
391
391
+
source = "registry+https://github.com/rust-lang/crates.io-index"
392
392
+
checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a"
393
393
+
dependencies = [
394
394
+
"core2",
395
395
+
"multibase",
396
396
+
"multihash",
397
397
+
"serde",
398
398
+
"serde_bytes",
399
399
+
"unsigned-varint",
400
400
+
]
401
401
+
402
402
+
[[package]]
403
403
+
name = "clap"
404
404
+
version = "4.5.41"
405
405
+
source = "registry+https://github.com/rust-lang/crates.io-index"
406
406
+
checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9"
407
407
+
dependencies = [
408
408
+
"clap_builder",
409
409
+
]
410
410
+
411
411
+
[[package]]
412
412
+
name = "clap_builder"
413
413
+
version = "4.5.41"
414
414
+
source = "registry+https://github.com/rust-lang/crates.io-index"
415
415
+
checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d"
416
416
+
dependencies = [
417
417
+
"anstream",
418
418
+
"anstyle",
419
419
+
"clap_lex",
420
420
+
"strsim",
421
421
+
]
422
422
+
423
423
+
[[package]]
424
424
+
name = "clap_lex"
425
425
+
version = "0.7.5"
426
426
+
source = "registry+https://github.com/rust-lang/crates.io-index"
427
427
+
checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
428
428
+
429
429
+
[[package]]
430
430
+
name = "colorchoice"
431
431
+
version = "1.0.4"
432
432
+
source = "registry+https://github.com/rust-lang/crates.io-index"
433
433
+
checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
434
434
+
435
435
+
[[package]]
436
436
+
name = "concurrent-queue"
437
437
+
version = "2.5.0"
438
438
+
source = "registry+https://github.com/rust-lang/crates.io-index"
439
439
+
checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
440
440
+
dependencies = [
441
441
+
"crossbeam-utils",
442
442
+
]
443
443
+
444
444
+
[[package]]
445
445
+
name = "console"
446
446
+
version = "0.16.0"
447
447
+
source = "registry+https://github.com/rust-lang/crates.io-index"
448
448
+
checksum = "2e09ced7ebbccb63b4c65413d821f2e00ce54c5ca4514ddc6b3c892fdbcbc69d"
449
449
+
dependencies = [
450
450
+
"encode_unicode",
451
451
+
"libc",
452
452
+
"once_cell",
453
453
+
"unicode-width",
454
454
+
"windows-sys 0.60.2",
455
455
+
]
456
456
+
457
457
+
[[package]]
458
458
+
name = "core-foundation"
459
459
+
version = "0.9.4"
460
460
+
source = "registry+https://github.com/rust-lang/crates.io-index"
461
461
+
checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
462
462
+
dependencies = [
463
463
+
"core-foundation-sys",
464
464
+
"libc",
465
465
+
]
466
466
+
467
467
+
[[package]]
468
468
+
name = "core-foundation-sys"
469
469
+
version = "0.8.7"
470
470
+
source = "registry+https://github.com/rust-lang/crates.io-index"
471
471
+
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
472
472
+
473
473
+
[[package]]
474
474
+
name = "core2"
475
475
+
version = "0.4.0"
476
476
+
source = "registry+https://github.com/rust-lang/crates.io-index"
477
477
+
checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505"
478
478
+
dependencies = [
479
479
+
"memchr",
480
480
+
]
481
481
+
482
482
+
[[package]]
483
483
+
name = "cpufeatures"
484
484
+
version = "0.2.17"
485
485
+
source = "registry+https://github.com/rust-lang/crates.io-index"
486
486
+
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
487
487
+
dependencies = [
488
488
+
"libc",
489
489
+
]
490
490
+
491
491
+
[[package]]
492
492
+
name = "crc32fast"
493
493
+
version = "1.5.0"
494
494
+
source = "registry+https://github.com/rust-lang/crates.io-index"
495
495
+
checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
496
496
+
dependencies = [
497
497
+
"cfg-if",
498
498
+
]
499
499
+
500
500
+
[[package]]
501
501
+
name = "critical-section"
502
502
+
version = "1.2.0"
503
503
+
source = "registry+https://github.com/rust-lang/crates.io-index"
504
504
+
checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
505
505
+
506
506
+
[[package]]
507
507
+
name = "crossbeam-channel"
508
508
+
version = "0.5.15"
509
509
+
source = "registry+https://github.com/rust-lang/crates.io-index"
510
510
+
checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2"
511
511
+
dependencies = [
512
512
+
"crossbeam-utils",
513
513
+
]
514
514
+
515
515
+
[[package]]
516
516
+
name = "crossbeam-epoch"
517
517
+
version = "0.9.18"
518
518
+
source = "registry+https://github.com/rust-lang/crates.io-index"
519
519
+
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
520
520
+
dependencies = [
521
521
+
"crossbeam-utils",
522
522
+
]
523
523
+
524
524
+
[[package]]
525
525
+
name = "crossbeam-utils"
526
526
+
version = "0.8.21"
527
527
+
source = "registry+https://github.com/rust-lang/crates.io-index"
528
528
+
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
529
529
+
530
530
+
[[package]]
531
531
+
name = "crypto-common"
532
532
+
version = "0.1.6"
533
533
+
source = "registry+https://github.com/rust-lang/crates.io-index"
534
534
+
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
535
535
+
dependencies = [
536
536
+
"generic-array",
537
537
+
"typenum",
538
538
+
]
539
539
+
540
540
+
[[package]]
541
541
+
name = "curl"
542
542
+
version = "0.4.47"
543
543
+
source = "registry+https://github.com/rust-lang/crates.io-index"
544
544
+
checksum = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265"
545
545
+
dependencies = [
546
546
+
"curl-sys",
547
547
+
"libc",
548
548
+
"openssl-probe",
549
549
+
"openssl-sys",
550
550
+
"schannel",
551
551
+
"socket2 0.5.10",
552
552
+
"windows-sys 0.52.0",
553
553
+
]
554
554
+
555
555
+
[[package]]
556
556
+
name = "curl-sys"
557
557
+
version = "0.4.80+curl-8.12.1"
558
558
+
source = "registry+https://github.com/rust-lang/crates.io-index"
559
559
+
checksum = "55f7df2eac63200c3ab25bde3b2268ef2ee56af3d238e76d61f01c3c49bff734"
560
560
+
dependencies = [
561
561
+
"cc",
562
562
+
"libc",
563
563
+
"libnghttp2-sys",
564
564
+
"libz-sys",
565
565
+
"openssl-sys",
566
566
+
"pkg-config",
567
567
+
"vcpkg",
568
568
+
"windows-sys 0.52.0",
569
569
+
]
570
570
+
571
571
+
[[package]]
572
572
+
name = "dashmap"
573
573
+
version = "6.1.0"
574
574
+
source = "registry+https://github.com/rust-lang/crates.io-index"
575
575
+
checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf"
576
576
+
dependencies = [
577
577
+
"cfg-if",
578
578
+
"crossbeam-utils",
579
579
+
"hashbrown 0.14.5",
580
580
+
"lock_api",
581
581
+
"once_cell",
582
582
+
"parking_lot_core",
583
583
+
]
584
584
+
585
585
+
[[package]]
586
586
+
name = "data-encoding"
587
587
+
version = "2.9.0"
588
588
+
source = "registry+https://github.com/rust-lang/crates.io-index"
589
589
+
checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
590
590
+
591
591
+
[[package]]
592
592
+
name = "data-encoding-macro"
593
593
+
version = "0.1.18"
594
594
+
source = "registry+https://github.com/rust-lang/crates.io-index"
595
595
+
checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d"
596
596
+
dependencies = [
597
597
+
"data-encoding",
598
598
+
"data-encoding-macro-internal",
599
599
+
]
600
600
+
601
601
+
[[package]]
602
602
+
name = "data-encoding-macro-internal"
603
603
+
version = "0.1.16"
604
604
+
source = "registry+https://github.com/rust-lang/crates.io-index"
605
605
+
checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976"
606
606
+
dependencies = [
607
607
+
"data-encoding",
608
608
+
"syn",
609
609
+
]
610
610
+
611
611
+
[[package]]
612
612
+
name = "digest"
613
613
+
version = "0.10.7"
614
614
+
source = "registry+https://github.com/rust-lang/crates.io-index"
615
615
+
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
616
616
+
dependencies = [
617
617
+
"block-buffer",
618
618
+
"crypto-common",
619
619
+
]
620
620
+
621
621
+
[[package]]
622
622
+
name = "displaydoc"
623
623
+
version = "0.2.5"
624
624
+
source = "registry+https://github.com/rust-lang/crates.io-index"
625
625
+
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
626
626
+
dependencies = [
627
627
+
"proc-macro2",
628
628
+
"quote",
629
629
+
"syn",
630
630
+
]
631
631
+
632
632
+
[[package]]
633
633
+
name = "encode_unicode"
634
634
+
version = "1.0.0"
635
635
+
source = "registry+https://github.com/rust-lang/crates.io-index"
636
636
+
checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
637
637
+
638
638
+
[[package]]
639
639
+
name = "encoding_rs"
640
640
+
version = "0.8.35"
641
641
+
source = "registry+https://github.com/rust-lang/crates.io-index"
642
642
+
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
643
643
+
dependencies = [
644
644
+
"cfg-if",
645
645
+
]
646
646
+
647
647
+
[[package]]
648
648
+
name = "enum-as-inner"
649
649
+
version = "0.6.1"
650
650
+
source = "registry+https://github.com/rust-lang/crates.io-index"
651
651
+
checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
652
652
+
dependencies = [
653
653
+
"heck",
654
654
+
"proc-macro2",
655
655
+
"quote",
656
656
+
"syn",
657
657
+
]
658
658
+
659
659
+
[[package]]
660
660
+
name = "equivalent"
661
661
+
version = "1.0.2"
662
662
+
source = "registry+https://github.com/rust-lang/crates.io-index"
663
663
+
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
664
664
+
665
665
+
[[package]]
666
666
+
name = "errno"
667
667
+
version = "0.3.13"
668
668
+
source = "registry+https://github.com/rust-lang/crates.io-index"
669
669
+
checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
670
670
+
dependencies = [
671
671
+
"libc",
672
672
+
"windows-sys 0.59.0",
673
673
+
]
674
674
+
675
675
+
[[package]]
676
676
+
name = "event-listener"
677
677
+
version = "2.5.3"
678
678
+
source = "registry+https://github.com/rust-lang/crates.io-index"
679
679
+
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
680
680
+
681
681
+
[[package]]
682
682
+
name = "event-listener"
683
683
+
version = "5.4.0"
684
684
+
source = "registry+https://github.com/rust-lang/crates.io-index"
685
685
+
checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae"
686
686
+
dependencies = [
687
687
+
"concurrent-queue",
688
688
+
"parking",
689
689
+
"pin-project-lite",
690
690
+
]
691
691
+
692
692
+
[[package]]
693
693
+
name = "event-listener-strategy"
694
694
+
version = "0.5.4"
695
695
+
source = "registry+https://github.com/rust-lang/crates.io-index"
696
696
+
checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
697
697
+
dependencies = [
698
698
+
"event-listener 5.4.0",
699
699
+
"pin-project-lite",
700
700
+
]
701
701
+
702
702
+
[[package]]
703
703
+
name = "fastrand"
704
704
+
version = "1.9.0"
705
705
+
source = "registry+https://github.com/rust-lang/crates.io-index"
706
706
+
checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
707
707
+
dependencies = [
708
708
+
"instant",
709
709
+
]
710
710
+
711
711
+
[[package]]
712
712
+
name = "fastrand"
713
713
+
version = "2.3.0"
714
714
+
source = "registry+https://github.com/rust-lang/crates.io-index"
715
715
+
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
716
716
+
717
717
+
[[package]]
718
718
+
name = "flate2"
719
719
+
version = "1.1.2"
720
720
+
source = "registry+https://github.com/rust-lang/crates.io-index"
721
721
+
checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d"
722
722
+
dependencies = [
723
723
+
"crc32fast",
724
724
+
"miniz_oxide",
725
725
+
]
726
726
+
727
727
+
[[package]]
728
728
+
name = "fnv"
729
729
+
version = "1.0.7"
730
730
+
source = "registry+https://github.com/rust-lang/crates.io-index"
731
731
+
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
732
732
+
733
733
+
[[package]]
734
734
+
name = "foldhash"
735
735
+
version = "0.1.5"
736
736
+
source = "registry+https://github.com/rust-lang/crates.io-index"
737
737
+
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
738
738
+
739
739
+
[[package]]
740
740
+
name = "foreign-types"
741
741
+
version = "0.3.2"
742
742
+
source = "registry+https://github.com/rust-lang/crates.io-index"
743
743
+
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
744
744
+
dependencies = [
745
745
+
"foreign-types-shared",
746
746
+
]
747
747
+
748
748
+
[[package]]
749
749
+
name = "foreign-types-shared"
750
750
+
version = "0.1.1"
751
751
+
source = "registry+https://github.com/rust-lang/crates.io-index"
752
752
+
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
753
753
+
754
754
+
[[package]]
755
755
+
name = "form_urlencoded"
756
756
+
version = "1.2.1"
757
757
+
source = "registry+https://github.com/rust-lang/crates.io-index"
758
758
+
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
759
759
+
dependencies = [
760
760
+
"percent-encoding",
761
761
+
]
762
762
+
763
763
+
[[package]]
764
764
+
name = "fuser"
765
765
+
version = "0.15.1"
766
766
+
source = "registry+https://github.com/rust-lang/crates.io-index"
767
767
+
checksum = "53274f494609e77794b627b1a3cddfe45d675a6b2e9ba9c0fdc8d8eee2184369"
768
768
+
dependencies = [
769
769
+
"libc",
770
770
+
"log",
771
771
+
"memchr",
772
772
+
"nix",
773
773
+
"page_size",
774
774
+
"pkg-config",
775
775
+
"smallvec",
776
776
+
"zerocopy",
777
777
+
]
778
778
+
779
779
+
[[package]]
780
780
+
name = "futures"
781
781
+
version = "0.3.31"
782
782
+
source = "registry+https://github.com/rust-lang/crates.io-index"
783
783
+
checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
784
784
+
dependencies = [
785
785
+
"futures-channel",
786
786
+
"futures-core",
787
787
+
"futures-executor",
788
788
+
"futures-io",
789
789
+
"futures-sink",
790
790
+
"futures-task",
791
791
+
"futures-util",
792
792
+
]
793
793
+
794
794
+
[[package]]
795
795
+
name = "futures-channel"
796
796
+
version = "0.3.31"
797
797
+
source = "registry+https://github.com/rust-lang/crates.io-index"
798
798
+
checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
799
799
+
dependencies = [
800
800
+
"futures-core",
801
801
+
"futures-sink",
802
802
+
]
803
803
+
804
804
+
[[package]]
805
805
+
name = "futures-core"
806
806
+
version = "0.3.31"
807
807
+
source = "registry+https://github.com/rust-lang/crates.io-index"
808
808
+
checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
809
809
+
810
810
+
[[package]]
811
811
+
name = "futures-executor"
812
812
+
version = "0.3.31"
813
813
+
source = "registry+https://github.com/rust-lang/crates.io-index"
814
814
+
checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
815
815
+
dependencies = [
816
816
+
"futures-core",
817
817
+
"futures-task",
818
818
+
"futures-util",
819
819
+
]
820
820
+
821
821
+
[[package]]
822
822
+
name = "futures-io"
823
823
+
version = "0.3.31"
824
824
+
source = "registry+https://github.com/rust-lang/crates.io-index"
825
825
+
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
826
826
+
827
827
+
[[package]]
828
828
+
name = "futures-lite"
829
829
+
version = "1.13.0"
830
830
+
source = "registry+https://github.com/rust-lang/crates.io-index"
831
831
+
checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
832
832
+
dependencies = [
833
833
+
"fastrand 1.9.0",
834
834
+
"futures-core",
835
835
+
"futures-io",
836
836
+
"memchr",
837
837
+
"parking",
838
838
+
"pin-project-lite",
839
839
+
"waker-fn",
840
840
+
]
841
841
+
842
842
+
[[package]]
843
843
+
name = "futures-macro"
844
844
+
version = "0.3.31"
845
845
+
source = "registry+https://github.com/rust-lang/crates.io-index"
846
846
+
checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
847
847
+
dependencies = [
848
848
+
"proc-macro2",
849
849
+
"quote",
850
850
+
"syn",
851
851
+
]
852
852
+
853
853
+
[[package]]
854
854
+
name = "futures-sink"
855
855
+
version = "0.3.31"
856
856
+
source = "registry+https://github.com/rust-lang/crates.io-index"
857
857
+
checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
858
858
+
859
859
+
[[package]]
860
860
+
name = "futures-task"
861
861
+
version = "0.3.31"
862
862
+
source = "registry+https://github.com/rust-lang/crates.io-index"
863
863
+
checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
864
864
+
865
865
+
[[package]]
866
866
+
name = "futures-util"
867
867
+
version = "0.3.31"
868
868
+
source = "registry+https://github.com/rust-lang/crates.io-index"
869
869
+
checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
870
870
+
dependencies = [
871
871
+
"futures-channel",
872
872
+
"futures-core",
873
873
+
"futures-io",
874
874
+
"futures-macro",
875
875
+
"futures-sink",
876
876
+
"futures-task",
877
877
+
"memchr",
878
878
+
"pin-project-lite",
879
879
+
"pin-utils",
880
880
+
"slab",
881
881
+
]
882
882
+
883
883
+
[[package]]
884
884
+
name = "generator"
885
885
+
version = "0.8.5"
886
886
+
source = "registry+https://github.com/rust-lang/crates.io-index"
887
887
+
checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827"
888
888
+
dependencies = [
889
889
+
"cc",
890
890
+
"cfg-if",
891
891
+
"libc",
892
892
+
"log",
893
893
+
"rustversion",
894
894
+
"windows",
895
895
+
]
896
896
+
897
897
+
[[package]]
898
898
+
name = "generic-array"
899
899
+
version = "0.14.7"
900
900
+
source = "registry+https://github.com/rust-lang/crates.io-index"
901
901
+
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
902
902
+
dependencies = [
903
903
+
"typenum",
904
904
+
"version_check",
905
905
+
]
906
906
+
907
907
+
[[package]]
908
908
+
name = "getrandom"
909
909
+
version = "0.2.16"
910
910
+
source = "registry+https://github.com/rust-lang/crates.io-index"
911
911
+
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
912
912
+
dependencies = [
913
913
+
"cfg-if",
914
914
+
"libc",
915
915
+
"wasi 0.11.1+wasi-snapshot-preview1",
916
916
+
]
917
917
+
918
918
+
[[package]]
919
919
+
name = "getrandom"
920
920
+
version = "0.3.3"
921
921
+
source = "registry+https://github.com/rust-lang/crates.io-index"
922
922
+
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
923
923
+
dependencies = [
924
924
+
"cfg-if",
925
925
+
"libc",
926
926
+
"r-efi",
927
927
+
"wasi 0.14.2+wasi-0.2.4",
928
928
+
]
929
929
+
930
930
+
[[package]]
931
931
+
name = "gimli"
932
932
+
version = "0.31.1"
933
933
+
source = "registry+https://github.com/rust-lang/crates.io-index"
934
934
+
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
935
935
+
936
936
+
[[package]]
937
937
+
name = "h2"
938
938
+
version = "0.4.10"
939
939
+
source = "registry+https://github.com/rust-lang/crates.io-index"
940
940
+
checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5"
941
941
+
dependencies = [
942
942
+
"atomic-waker",
943
943
+
"bytes",
944
944
+
"fnv",
945
945
+
"futures-core",
946
946
+
"futures-sink",
947
947
+
"http 1.3.1",
948
948
+
"indexmap",
949
949
+
"slab",
950
950
+
"tokio",
951
951
+
"tokio-util",
952
952
+
"tracing",
953
953
+
]
954
954
+
955
955
+
[[package]]
956
956
+
name = "hashbrown"
957
957
+
version = "0.14.5"
958
958
+
source = "registry+https://github.com/rust-lang/crates.io-index"
959
959
+
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
960
960
+
961
961
+
[[package]]
962
962
+
name = "hashbrown"
963
963
+
version = "0.15.4"
964
964
+
source = "registry+https://github.com/rust-lang/crates.io-index"
965
965
+
checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
966
966
+
dependencies = [
967
967
+
"allocator-api2",
968
968
+
"equivalent",
969
969
+
"foldhash",
970
970
+
]
971
971
+
972
972
+
[[package]]
973
973
+
name = "heck"
974
974
+
version = "0.5.0"
975
975
+
source = "registry+https://github.com/rust-lang/crates.io-index"
976
976
+
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
977
977
+
978
978
+
[[package]]
979
979
+
name = "hickory-proto"
980
980
+
version = "0.25.2"
981
981
+
source = "registry+https://github.com/rust-lang/crates.io-index"
982
982
+
checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502"
983
983
+
dependencies = [
984
984
+
"async-trait",
985
985
+
"cfg-if",
986
986
+
"data-encoding",
987
987
+
"enum-as-inner",
988
988
+
"futures-channel",
989
989
+
"futures-io",
990
990
+
"futures-util",
991
991
+
"idna",
992
992
+
"ipnet",
993
993
+
"once_cell",
994
994
+
"rand",
995
995
+
"ring",
996
996
+
"thiserror 2.0.12",
997
997
+
"tinyvec",
998
998
+
"tokio",
999
999
+
"tracing",
1000
1000
+
"url",
1001
1001
+
]
1002
1002
+
1003
1003
+
[[package]]
1004
1004
+
name = "hickory-resolver"
1005
1005
+
version = "0.25.2"
1006
1006
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1007
1007
+
checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a"
1008
1008
+
dependencies = [
1009
1009
+
"cfg-if",
1010
1010
+
"futures-util",
1011
1011
+
"hickory-proto",
1012
1012
+
"ipconfig",
1013
1013
+
"moka",
1014
1014
+
"once_cell",
1015
1015
+
"parking_lot",
1016
1016
+
"rand",
1017
1017
+
"resolv-conf",
1018
1018
+
"smallvec",
1019
1019
+
"thiserror 2.0.12",
1020
1020
+
"tokio",
1021
1021
+
"tracing",
1022
1022
+
]
1023
1023
+
1024
1024
+
[[package]]
1025
1025
+
name = "http"
1026
1026
+
version = "0.2.12"
1027
1027
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1028
1028
+
checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
1029
1029
+
dependencies = [
1030
1030
+
"bytes",
1031
1031
+
"fnv",
1032
1032
+
"itoa",
1033
1033
+
]
1034
1034
+
1035
1035
+
[[package]]
1036
1036
+
name = "http"
1037
1037
+
version = "1.3.1"
1038
1038
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1039
1039
+
checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
1040
1040
+
dependencies = [
1041
1041
+
"bytes",
1042
1042
+
"fnv",
1043
1043
+
"itoa",
1044
1044
+
]
1045
1045
+
1046
1046
+
[[package]]
1047
1047
+
name = "http-body"
1048
1048
+
version = "1.0.1"
1049
1049
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1050
1050
+
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
1051
1051
+
dependencies = [
1052
1052
+
"bytes",
1053
1053
+
"http 1.3.1",
1054
1054
+
]
1055
1055
+
1056
1056
+
[[package]]
1057
1057
+
name = "http-body-util"
1058
1058
+
version = "0.1.3"
1059
1059
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1060
1060
+
checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
1061
1061
+
dependencies = [
1062
1062
+
"bytes",
1063
1063
+
"futures-core",
1064
1064
+
"http 1.3.1",
1065
1065
+
"http-body",
1066
1066
+
"pin-project-lite",
1067
1067
+
]
1068
1068
+
1069
1069
+
[[package]]
1070
1070
+
name = "httparse"
1071
1071
+
version = "1.10.1"
1072
1072
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1073
1073
+
checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
1074
1074
+
1075
1075
+
[[package]]
1076
1076
+
name = "hyper"
1077
1077
+
version = "1.6.0"
1078
1078
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1079
1079
+
checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
1080
1080
+
dependencies = [
1081
1081
+
"bytes",
1082
1082
+
"futures-channel",
1083
1083
+
"futures-util",
1084
1084
+
"h2",
1085
1085
+
"http 1.3.1",
1086
1086
+
"http-body",
1087
1087
+
"httparse",
1088
1088
+
"itoa",
1089
1089
+
"pin-project-lite",
1090
1090
+
"smallvec",
1091
1091
+
"tokio",
1092
1092
+
"want",
1093
1093
+
]
1094
1094
+
1095
1095
+
[[package]]
1096
1096
+
name = "hyper-rustls"
1097
1097
+
version = "0.27.5"
1098
1098
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1099
1099
+
checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2"
1100
1100
+
dependencies = [
1101
1101
+
"futures-util",
1102
1102
+
"http 1.3.1",
1103
1103
+
"hyper",
1104
1104
+
"hyper-util",
1105
1105
+
"rustls",
1106
1106
+
"rustls-pki-types",
1107
1107
+
"tokio",
1108
1108
+
"tokio-rustls",
1109
1109
+
"tower-service",
1110
1110
+
]
1111
1111
+
1112
1112
+
[[package]]
1113
1113
+
name = "hyper-tls"
1114
1114
+
version = "0.6.0"
1115
1115
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1116
1116
+
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
1117
1117
+
dependencies = [
1118
1118
+
"bytes",
1119
1119
+
"http-body-util",
1120
1120
+
"hyper",
1121
1121
+
"hyper-util",
1122
1122
+
"native-tls",
1123
1123
+
"tokio",
1124
1124
+
"tokio-native-tls",
1125
1125
+
"tower-service",
1126
1126
+
]
1127
1127
+
1128
1128
+
[[package]]
1129
1129
+
name = "hyper-util"
1130
1130
+
version = "0.1.16"
1131
1131
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1132
1132
+
checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e"
1133
1133
+
dependencies = [
1134
1134
+
"base64",
1135
1135
+
"bytes",
1136
1136
+
"futures-channel",
1137
1137
+
"futures-core",
1138
1138
+
"futures-util",
1139
1139
+
"http 1.3.1",
1140
1140
+
"http-body",
1141
1141
+
"hyper",
1142
1142
+
"ipnet",
1143
1143
+
"libc",
1144
1144
+
"percent-encoding",
1145
1145
+
"pin-project-lite",
1146
1146
+
"socket2 0.6.0",
1147
1147
+
"system-configuration",
1148
1148
+
"tokio",
1149
1149
+
"tower-service",
1150
1150
+
"tracing",
1151
1151
+
"windows-registry",
1152
1152
+
]
1153
1153
+
1154
1154
+
[[package]]
1155
1155
+
name = "iana-time-zone"
1156
1156
+
version = "0.1.63"
1157
1157
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1158
1158
+
checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
1159
1159
+
dependencies = [
1160
1160
+
"android_system_properties",
1161
1161
+
"core-foundation-sys",
1162
1162
+
"iana-time-zone-haiku",
1163
1163
+
"js-sys",
1164
1164
+
"log",
1165
1165
+
"wasm-bindgen",
1166
1166
+
"windows-core",
1167
1167
+
]
1168
1168
+
1169
1169
+
[[package]]
1170
1170
+
name = "iana-time-zone-haiku"
1171
1171
+
version = "0.1.2"
1172
1172
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1173
1173
+
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
1174
1174
+
dependencies = [
1175
1175
+
"cc",
1176
1176
+
]
1177
1177
+
1178
1178
+
[[package]]
1179
1179
+
name = "icu_collections"
1180
1180
+
version = "2.0.0"
1181
1181
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1182
1182
+
checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
1183
1183
+
dependencies = [
1184
1184
+
"displaydoc",
1185
1185
+
"potential_utf",
1186
1186
+
"yoke",
1187
1187
+
"zerofrom",
1188
1188
+
"zerovec",
1189
1189
+
]
1190
1190
+
1191
1191
+
[[package]]
1192
1192
+
name = "icu_locale_core"
1193
1193
+
version = "2.0.0"
1194
1194
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1195
1195
+
checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
1196
1196
+
dependencies = [
1197
1197
+
"displaydoc",
1198
1198
+
"litemap",
1199
1199
+
"tinystr",
1200
1200
+
"writeable",
1201
1201
+
"zerovec",
1202
1202
+
]
1203
1203
+
1204
1204
+
[[package]]
1205
1205
+
name = "icu_normalizer"
1206
1206
+
version = "2.0.0"
1207
1207
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1208
1208
+
checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
1209
1209
+
dependencies = [
1210
1210
+
"displaydoc",
1211
1211
+
"icu_collections",
1212
1212
+
"icu_normalizer_data",
1213
1213
+
"icu_properties",
1214
1214
+
"icu_provider",
1215
1215
+
"smallvec",
1216
1216
+
"zerovec",
1217
1217
+
]
1218
1218
+
1219
1219
+
[[package]]
1220
1220
+
name = "icu_normalizer_data"
1221
1221
+
version = "2.0.0"
1222
1222
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1223
1223
+
checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
1224
1224
+
1225
1225
+
[[package]]
1226
1226
+
name = "icu_properties"
1227
1227
+
version = "2.0.1"
1228
1228
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1229
1229
+
checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
1230
1230
+
dependencies = [
1231
1231
+
"displaydoc",
1232
1232
+
"icu_collections",
1233
1233
+
"icu_locale_core",
1234
1234
+
"icu_properties_data",
1235
1235
+
"icu_provider",
1236
1236
+
"potential_utf",
1237
1237
+
"zerotrie",
1238
1238
+
"zerovec",
1239
1239
+
]
1240
1240
+
1241
1241
+
[[package]]
1242
1242
+
name = "icu_properties_data"
1243
1243
+
version = "2.0.1"
1244
1244
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1245
1245
+
checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
1246
1246
+
1247
1247
+
[[package]]
1248
1248
+
name = "icu_provider"
1249
1249
+
version = "2.0.0"
1250
1250
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1251
1251
+
checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
1252
1252
+
dependencies = [
1253
1253
+
"displaydoc",
1254
1254
+
"icu_locale_core",
1255
1255
+
"stable_deref_trait",
1256
1256
+
"tinystr",
1257
1257
+
"writeable",
1258
1258
+
"yoke",
1259
1259
+
"zerofrom",
1260
1260
+
"zerotrie",
1261
1261
+
"zerovec",
1262
1262
+
]
1263
1263
+
1264
1264
+
[[package]]
1265
1265
+
name = "idna"
1266
1266
+
version = "1.0.3"
1267
1267
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1268
1268
+
checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
1269
1269
+
dependencies = [
1270
1270
+
"idna_adapter",
1271
1271
+
"smallvec",
1272
1272
+
"utf8_iter",
1273
1273
+
]
1274
1274
+
1275
1275
+
[[package]]
1276
1276
+
name = "idna_adapter"
1277
1277
+
version = "1.2.1"
1278
1278
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1279
1279
+
checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
1280
1280
+
dependencies = [
1281
1281
+
"icu_normalizer",
1282
1282
+
"icu_properties",
1283
1283
+
]
1284
1284
+
1285
1285
+
[[package]]
1286
1286
+
name = "indexmap"
1287
1287
+
version = "2.10.0"
1288
1288
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1289
1289
+
checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
1290
1290
+
dependencies = [
1291
1291
+
"equivalent",
1292
1292
+
"hashbrown 0.15.4",
1293
1293
+
]
1294
1294
+
1295
1295
+
[[package]]
1296
1296
+
name = "indicatif"
1297
1297
+
version = "0.18.0"
1298
1298
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1299
1299
+
checksum = "70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd"
1300
1300
+
dependencies = [
1301
1301
+
"console",
1302
1302
+
"portable-atomic",
1303
1303
+
"unicode-width",
1304
1304
+
"unit-prefix",
1305
1305
+
"web-time",
1306
1306
+
]
1307
1307
+
1308
1308
+
[[package]]
1309
1309
+
name = "instant"
1310
1310
+
version = "0.1.13"
1311
1311
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1312
1312
+
checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
1313
1313
+
dependencies = [
1314
1314
+
"cfg-if",
1315
1315
+
]
1316
1316
+
1317
1317
+
[[package]]
1318
1318
+
name = "io-uring"
1319
1319
+
version = "0.7.9"
1320
1320
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1321
1321
+
checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4"
1322
1322
+
dependencies = [
1323
1323
+
"bitflags 2.9.1",
1324
1324
+
"cfg-if",
1325
1325
+
"libc",
1326
1326
+
]
1327
1327
+
1328
1328
+
[[package]]
1329
1329
+
name = "ipconfig"
1330
1330
+
version = "0.3.2"
1331
1331
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1332
1332
+
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
1333
1333
+
dependencies = [
1334
1334
+
"socket2 0.5.10",
1335
1335
+
"widestring",
1336
1336
+
"windows-sys 0.48.0",
1337
1337
+
"winreg",
1338
1338
+
]
1339
1339
+
1340
1340
+
[[package]]
1341
1341
+
name = "ipld-core"
1342
1342
+
version = "0.4.2"
1343
1343
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1344
1344
+
checksum = "104718b1cc124d92a6d01ca9c9258a7df311405debb3408c445a36452f9bf8db"
1345
1345
+
dependencies = [
1346
1346
+
"cid",
1347
1347
+
"serde",
1348
1348
+
"serde_bytes",
1349
1349
+
]
1350
1350
+
1351
1351
+
[[package]]
1352
1352
+
name = "ipnet"
1353
1353
+
version = "2.11.0"
1354
1354
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1355
1355
+
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
1356
1356
+
1357
1357
+
[[package]]
1358
1358
+
name = "iri-string"
1359
1359
+
version = "0.7.8"
1360
1360
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1361
1361
+
checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2"
1362
1362
+
dependencies = [
1363
1363
+
"memchr",
1364
1364
+
"serde",
1365
1365
+
]
1366
1366
+
1367
1367
+
[[package]]
1368
1368
+
name = "is_terminal_polyfill"
1369
1369
+
version = "1.70.1"
1370
1370
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1371
1371
+
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
1372
1372
+
1373
1373
+
[[package]]
1374
1374
+
name = "isahc"
1375
1375
+
version = "1.7.2"
1376
1376
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1377
1377
+
checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
1378
1378
+
dependencies = [
1379
1379
+
"async-channel",
1380
1380
+
"castaway",
1381
1381
+
"crossbeam-utils",
1382
1382
+
"curl",
1383
1383
+
"curl-sys",
1384
1384
+
"encoding_rs",
1385
1385
+
"event-listener 2.5.3",
1386
1386
+
"futures-lite",
1387
1387
+
"http 0.2.12",
1388
1388
+
"log",
1389
1389
+
"mime",
1390
1390
+
"once_cell",
1391
1391
+
"polling",
1392
1392
+
"slab",
1393
1393
+
"sluice",
1394
1394
+
"tracing",
1395
1395
+
"tracing-futures",
1396
1396
+
"url",
1397
1397
+
"waker-fn",
1398
1398
+
]
1399
1399
+
1400
1400
+
[[package]]
1401
1401
+
name = "itoa"
1402
1402
+
version = "1.0.15"
1403
1403
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1404
1404
+
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
1405
1405
+
1406
1406
+
[[package]]
1407
1407
+
name = "js-sys"
1408
1408
+
version = "0.3.77"
1409
1409
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1410
1410
+
checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
1411
1411
+
dependencies = [
1412
1412
+
"once_cell",
1413
1413
+
"wasm-bindgen",
1414
1414
+
]
1415
1415
+
1416
1416
+
[[package]]
1417
1417
+
name = "langtag"
1418
1418
+
version = "0.3.4"
1419
1419
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1420
1420
+
checksum = "ed60c85f254d6ae8450cec15eedd921efbc4d1bdf6fcf6202b9a58b403f6f805"
1421
1421
+
dependencies = [
1422
1422
+
"serde",
1423
1423
+
]
1424
1424
+
1425
1425
+
[[package]]
1426
1426
+
name = "lazy_static"
1427
1427
+
version = "1.5.0"
1428
1428
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1429
1429
+
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
1430
1430
+
1431
1431
+
[[package]]
1432
1432
+
name = "libc"
1433
1433
+
version = "0.2.174"
1434
1434
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1435
1435
+
checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
1436
1436
+
1437
1437
+
[[package]]
1438
1438
+
name = "libnghttp2-sys"
1439
1439
+
version = "0.1.11+1.64.0"
1440
1440
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1441
1441
+
checksum = "1b6c24e48a7167cffa7119da39d577fa482e66c688a4aac016bee862e1a713c4"
1442
1442
+
dependencies = [
1443
1443
+
"cc",
1444
1444
+
"libc",
1445
1445
+
]
1446
1446
+
1447
1447
+
[[package]]
1448
1448
+
name = "libz-sys"
1449
1449
+
version = "1.1.22"
1450
1450
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1451
1451
+
checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d"
1452
1452
+
dependencies = [
1453
1453
+
"cc",
1454
1454
+
"libc",
1455
1455
+
"pkg-config",
1456
1456
+
"vcpkg",
1457
1457
+
]
1458
1458
+
1459
1459
+
[[package]]
1460
1460
+
name = "linux-raw-sys"
1461
1461
+
version = "0.9.4"
1462
1462
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1463
1463
+
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
1464
1464
+
1465
1465
+
[[package]]
1466
1466
+
name = "litemap"
1467
1467
+
version = "0.8.0"
1468
1468
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1469
1469
+
checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
1470
1470
+
1471
1471
+
[[package]]
1472
1472
+
name = "lock_api"
1473
1473
+
version = "0.4.13"
1474
1474
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1475
1475
+
checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
1476
1476
+
dependencies = [
1477
1477
+
"autocfg",
1478
1478
+
"scopeguard",
1479
1479
+
]
1480
1480
+
1481
1481
+
[[package]]
1482
1482
+
name = "log"
1483
1483
+
version = "0.4.27"
1484
1484
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1485
1485
+
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
1486
1486
+
1487
1487
+
[[package]]
1488
1488
+
name = "loom"
1489
1489
+
version = "0.7.2"
1490
1490
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1491
1491
+
checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca"
1492
1492
+
dependencies = [
1493
1493
+
"cfg-if",
1494
1494
+
"generator",
1495
1495
+
"scoped-tls",
1496
1496
+
"tracing",
1497
1497
+
"tracing-subscriber",
1498
1498
+
]
1499
1499
+
1500
1500
+
[[package]]
1501
1501
+
name = "lru"
1502
1502
+
version = "0.12.5"
1503
1503
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1504
1504
+
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
1505
1505
+
dependencies = [
1506
1506
+
"hashbrown 0.15.4",
1507
1507
+
]
1508
1508
+
1509
1509
+
[[package]]
1510
1510
+
name = "matchers"
1511
1511
+
version = "0.1.0"
1512
1512
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1513
1513
+
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
1514
1514
+
dependencies = [
1515
1515
+
"regex-automata 0.1.10",
1516
1516
+
]
1517
1517
+
1518
1518
+
[[package]]
1519
1519
+
name = "memchr"
1520
1520
+
version = "2.7.5"
1521
1521
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1522
1522
+
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
1523
1523
+
1524
1524
+
[[package]]
1525
1525
+
name = "mime"
1526
1526
+
version = "0.3.17"
1527
1527
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1528
1528
+
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1529
1529
+
1530
1530
+
[[package]]
1531
1531
+
name = "miniz_oxide"
1532
1532
+
version = "0.8.9"
1533
1533
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1534
1534
+
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
1535
1535
+
dependencies = [
1536
1536
+
"adler2",
1537
1537
+
]
1538
1538
+
1539
1539
+
[[package]]
1540
1540
+
name = "mio"
1541
1541
+
version = "1.0.4"
1542
1542
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1543
1543
+
checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
1544
1544
+
dependencies = [
1545
1545
+
"libc",
1546
1546
+
"wasi 0.11.1+wasi-snapshot-preview1",
1547
1547
+
"windows-sys 0.59.0",
1548
1548
+
]
1549
1549
+
1550
1550
+
[[package]]
1551
1551
+
name = "moka"
1552
1552
+
version = "0.12.10"
1553
1553
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1554
1554
+
checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926"
1555
1555
+
dependencies = [
1556
1556
+
"async-lock",
1557
1557
+
"crossbeam-channel",
1558
1558
+
"crossbeam-epoch",
1559
1559
+
"crossbeam-utils",
1560
1560
+
"event-listener 5.4.0",
1561
1561
+
"futures-util",
1562
1562
+
"loom",
1563
1563
+
"parking_lot",
1564
1564
+
"portable-atomic",
1565
1565
+
"rustc_version",
1566
1566
+
"smallvec",
1567
1567
+
"tagptr",
1568
1568
+
"thiserror 1.0.69",
1569
1569
+
"uuid",
1570
1570
+
]
1571
1571
+
1572
1572
+
[[package]]
1573
1573
+
name = "multibase"
1574
1574
+
version = "0.9.1"
1575
1575
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1576
1576
+
checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404"
1577
1577
+
dependencies = [
1578
1578
+
"base-x",
1579
1579
+
"data-encoding",
1580
1580
+
"data-encoding-macro",
1581
1581
+
]
1582
1582
+
1583
1583
+
[[package]]
1584
1584
+
name = "multihash"
1585
1585
+
version = "0.19.3"
1586
1586
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1587
1587
+
checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d"
1588
1588
+
dependencies = [
1589
1589
+
"core2",
1590
1590
+
"serde",
1591
1591
+
"unsigned-varint",
1592
1592
+
]
1593
1593
+
1594
1594
+
[[package]]
1595
1595
+
name = "native-tls"
1596
1596
+
version = "0.2.14"
1597
1597
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1598
1598
+
checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
1599
1599
+
dependencies = [
1600
1600
+
"libc",
1601
1601
+
"log",
1602
1602
+
"openssl",
1603
1603
+
"openssl-probe",
1604
1604
+
"openssl-sys",
1605
1605
+
"schannel",
1606
1606
+
"security-framework",
1607
1607
+
"security-framework-sys",
1608
1608
+
"tempfile",
1609
1609
+
]
1610
1610
+
1611
1611
+
[[package]]
1612
1612
+
name = "nix"
1613
1613
+
version = "0.29.0"
1614
1614
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1615
1615
+
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
1616
1616
+
dependencies = [
1617
1617
+
"bitflags 2.9.1",
1618
1618
+
"cfg-if",
1619
1619
+
"cfg_aliases",
1620
1620
+
"libc",
1621
1621
+
]
1622
1622
+
1623
1623
+
[[package]]
1624
1624
+
name = "nu-ansi-term"
1625
1625
+
version = "0.46.0"
1626
1626
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1627
1627
+
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
1628
1628
+
dependencies = [
1629
1629
+
"overload",
1630
1630
+
"winapi",
1631
1631
+
]
1632
1632
+
1633
1633
+
[[package]]
1634
1634
+
name = "num-traits"
1635
1635
+
version = "0.2.19"
1636
1636
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1637
1637
+
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
1638
1638
+
dependencies = [
1639
1639
+
"autocfg",
1640
1640
+
]
1641
1641
+
1642
1642
+
[[package]]
1643
1643
+
name = "object"
1644
1644
+
version = "0.36.7"
1645
1645
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1646
1646
+
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
1647
1647
+
dependencies = [
1648
1648
+
"memchr",
1649
1649
+
]
1650
1650
+
1651
1651
+
[[package]]
1652
1652
+
name = "once_cell"
1653
1653
+
version = "1.21.3"
1654
1654
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1655
1655
+
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
1656
1656
+
dependencies = [
1657
1657
+
"critical-section",
1658
1658
+
"portable-atomic",
1659
1659
+
]
1660
1660
+
1661
1661
+
[[package]]
1662
1662
+
name = "once_cell_polyfill"
1663
1663
+
version = "1.70.1"
1664
1664
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1665
1665
+
checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
1666
1666
+
1667
1667
+
[[package]]
1668
1668
+
name = "openssl"
1669
1669
+
version = "0.10.73"
1670
1670
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1671
1671
+
checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8"
1672
1672
+
dependencies = [
1673
1673
+
"bitflags 2.9.1",
1674
1674
+
"cfg-if",
1675
1675
+
"foreign-types",
1676
1676
+
"libc",
1677
1677
+
"once_cell",
1678
1678
+
"openssl-macros",
1679
1679
+
"openssl-sys",
1680
1680
+
]
1681
1681
+
1682
1682
+
[[package]]
1683
1683
+
name = "openssl-macros"
1684
1684
+
version = "0.1.1"
1685
1685
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1686
1686
+
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
1687
1687
+
dependencies = [
1688
1688
+
"proc-macro2",
1689
1689
+
"quote",
1690
1690
+
"syn",
1691
1691
+
]
1692
1692
+
1693
1693
+
[[package]]
1694
1694
+
name = "openssl-probe"
1695
1695
+
version = "0.1.6"
1696
1696
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1697
1697
+
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
1698
1698
+
1699
1699
+
[[package]]
1700
1700
+
name = "openssl-sys"
1701
1701
+
version = "0.9.109"
1702
1702
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1703
1703
+
checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571"
1704
1704
+
dependencies = [
1705
1705
+
"cc",
1706
1706
+
"libc",
1707
1707
+
"pkg-config",
1708
1708
+
"vcpkg",
1709
1709
+
]
1710
1710
+
1711
1711
+
[[package]]
1712
1712
+
name = "overload"
1713
1713
+
version = "0.1.1"
1714
1714
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1715
1715
+
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
1716
1716
+
1717
1717
+
[[package]]
1718
1718
+
name = "page_size"
1719
1719
+
version = "0.6.0"
1720
1720
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1721
1721
+
checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da"
1722
1722
+
dependencies = [
1723
1723
+
"libc",
1724
1724
+
"winapi",
1725
1725
+
]
1726
1726
+
1727
1727
+
[[package]]
1728
1728
+
name = "parking"
1729
1729
+
version = "2.2.1"
1730
1730
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1731
1731
+
checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
1732
1732
+
1733
1733
+
[[package]]
1734
1734
+
name = "parking_lot"
1735
1735
+
version = "0.12.4"
1736
1736
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1737
1737
+
checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
1738
1738
+
dependencies = [
1739
1739
+
"lock_api",
1740
1740
+
"parking_lot_core",
1741
1741
+
]
1742
1742
+
1743
1743
+
[[package]]
1744
1744
+
name = "parking_lot_core"
1745
1745
+
version = "0.9.11"
1746
1746
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1747
1747
+
checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
1748
1748
+
dependencies = [
1749
1749
+
"cfg-if",
1750
1750
+
"libc",
1751
1751
+
"redox_syscall",
1752
1752
+
"smallvec",
1753
1753
+
"windows-targets 0.52.6",
1754
1754
+
]
1755
1755
+
1756
1756
+
[[package]]
1757
1757
+
name = "pdsfs"
1758
1758
+
version = "0.1.0"
1759
1759
+
dependencies = [
1760
1760
+
"atrium-api",
1761
1761
+
"atrium-common",
1762
1762
+
"atrium-identity",
1763
1763
+
"atrium-repo",
1764
1764
+
"atrium-xrpc",
1765
1765
+
"atrium-xrpc-client",
1766
1766
+
"clap",
1767
1767
+
"fuser",
1768
1768
+
"futures",
1769
1769
+
"hickory-resolver",
1770
1770
+
"indexmap",
1771
1771
+
"indicatif",
1772
1772
+
"ipld-core",
1773
1773
+
"libc",
1774
1774
+
"reqwest",
1775
1775
+
"serde_ipld_dagcbor",
1776
1776
+
"serde_json",
1777
1777
+
"thiserror 2.0.12",
1778
1778
+
"tokio",
1779
1779
+
"xdg",
1780
1780
+
]
1781
1781
+
1782
1782
+
[[package]]
1783
1783
+
name = "percent-encoding"
1784
1784
+
version = "2.3.1"
1785
1785
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1786
1786
+
checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1787
1787
+
1788
1788
+
[[package]]
1789
1789
+
name = "pin-project"
1790
1790
+
version = "1.1.10"
1791
1791
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1792
1792
+
checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a"
1793
1793
+
dependencies = [
1794
1794
+
"pin-project-internal",
1795
1795
+
]
1796
1796
+
1797
1797
+
[[package]]
1798
1798
+
name = "pin-project-internal"
1799
1799
+
version = "1.1.10"
1800
1800
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1801
1801
+
checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
1802
1802
+
dependencies = [
1803
1803
+
"proc-macro2",
1804
1804
+
"quote",
1805
1805
+
"syn",
1806
1806
+
]
1807
1807
+
1808
1808
+
[[package]]
1809
1809
+
name = "pin-project-lite"
1810
1810
+
version = "0.2.16"
1811
1811
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1812
1812
+
checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
1813
1813
+
1814
1814
+
[[package]]
1815
1815
+
name = "pin-utils"
1816
1816
+
version = "0.1.0"
1817
1817
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1818
1818
+
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1819
1819
+
1820
1820
+
[[package]]
1821
1821
+
name = "pkg-config"
1822
1822
+
version = "0.3.32"
1823
1823
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1824
1824
+
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
1825
1825
+
1826
1826
+
[[package]]
1827
1827
+
name = "polling"
1828
1828
+
version = "2.8.0"
1829
1829
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1830
1830
+
checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
1831
1831
+
dependencies = [
1832
1832
+
"autocfg",
1833
1833
+
"bitflags 1.3.2",
1834
1834
+
"cfg-if",
1835
1835
+
"concurrent-queue",
1836
1836
+
"libc",
1837
1837
+
"log",
1838
1838
+
"pin-project-lite",
1839
1839
+
"windows-sys 0.48.0",
1840
1840
+
]
1841
1841
+
1842
1842
+
[[package]]
1843
1843
+
name = "portable-atomic"
1844
1844
+
version = "1.11.1"
1845
1845
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1846
1846
+
checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
1847
1847
+
1848
1848
+
[[package]]
1849
1849
+
name = "potential_utf"
1850
1850
+
version = "0.1.2"
1851
1851
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1852
1852
+
checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
1853
1853
+
dependencies = [
1854
1854
+
"zerovec",
1855
1855
+
]
1856
1856
+
1857
1857
+
[[package]]
1858
1858
+
name = "ppv-lite86"
1859
1859
+
version = "0.2.21"
1860
1860
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1861
1861
+
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
1862
1862
+
dependencies = [
1863
1863
+
"zerocopy",
1864
1864
+
]
1865
1865
+
1866
1866
+
[[package]]
1867
1867
+
name = "proc-macro2"
1868
1868
+
version = "1.0.95"
1869
1869
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1870
1870
+
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
1871
1871
+
dependencies = [
1872
1872
+
"unicode-ident",
1873
1873
+
]
1874
1874
+
1875
1875
+
[[package]]
1876
1876
+
name = "quote"
1877
1877
+
version = "1.0.40"
1878
1878
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1879
1879
+
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
1880
1880
+
dependencies = [
1881
1881
+
"proc-macro2",
1882
1882
+
]
1883
1883
+
1884
1884
+
[[package]]
1885
1885
+
name = "r-efi"
1886
1886
+
version = "5.3.0"
1887
1887
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1888
1888
+
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
1889
1889
+
1890
1890
+
[[package]]
1891
1891
+
name = "rand"
1892
1892
+
version = "0.9.2"
1893
1893
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1894
1894
+
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
1895
1895
+
dependencies = [
1896
1896
+
"rand_chacha",
1897
1897
+
"rand_core",
1898
1898
+
]
1899
1899
+
1900
1900
+
[[package]]
1901
1901
+
name = "rand_chacha"
1902
1902
+
version = "0.9.0"
1903
1903
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1904
1904
+
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
1905
1905
+
dependencies = [
1906
1906
+
"ppv-lite86",
1907
1907
+
"rand_core",
1908
1908
+
]
1909
1909
+
1910
1910
+
[[package]]
1911
1911
+
name = "rand_core"
1912
1912
+
version = "0.9.3"
1913
1913
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1914
1914
+
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
1915
1915
+
dependencies = [
1916
1916
+
"getrandom 0.3.3",
1917
1917
+
]
1918
1918
+
1919
1919
+
[[package]]
1920
1920
+
name = "redox_syscall"
1921
1921
+
version = "0.5.15"
1922
1922
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1923
1923
+
checksum = "7e8af0dde094006011e6a740d4879319439489813bd0bcdc7d821beaeeff48ec"
1924
1924
+
dependencies = [
1925
1925
+
"bitflags 2.9.1",
1926
1926
+
]
1927
1927
+
1928
1928
+
[[package]]
1929
1929
+
name = "regex"
1930
1930
+
version = "1.11.1"
1931
1931
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1932
1932
+
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
1933
1933
+
dependencies = [
1934
1934
+
"aho-corasick",
1935
1935
+
"memchr",
1936
1936
+
"regex-automata 0.4.9",
1937
1937
+
"regex-syntax 0.8.5",
1938
1938
+
]
1939
1939
+
1940
1940
+
[[package]]
1941
1941
+
name = "regex-automata"
1942
1942
+
version = "0.1.10"
1943
1943
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1944
1944
+
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
1945
1945
+
dependencies = [
1946
1946
+
"regex-syntax 0.6.29",
1947
1947
+
]
1948
1948
+
1949
1949
+
[[package]]
1950
1950
+
name = "regex-automata"
1951
1951
+
version = "0.4.9"
1952
1952
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1953
1953
+
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
1954
1954
+
dependencies = [
1955
1955
+
"aho-corasick",
1956
1956
+
"memchr",
1957
1957
+
"regex-syntax 0.8.5",
1958
1958
+
]
1959
1959
+
1960
1960
+
[[package]]
1961
1961
+
name = "regex-syntax"
1962
1962
+
version = "0.6.29"
1963
1963
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1964
1964
+
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
1965
1965
+
1966
1966
+
[[package]]
1967
1967
+
name = "regex-syntax"
1968
1968
+
version = "0.8.5"
1969
1969
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1970
1970
+
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1971
1971
+
1972
1972
+
[[package]]
1973
1973
+
name = "reqwest"
1974
1974
+
version = "0.12.22"
1975
1975
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1976
1976
+
checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531"
1977
1977
+
dependencies = [
1978
1978
+
"async-compression",
1979
1979
+
"base64",
1980
1980
+
"bytes",
1981
1981
+
"encoding_rs",
1982
1982
+
"futures-core",
1983
1983
+
"futures-util",
1984
1984
+
"h2",
1985
1985
+
"http 1.3.1",
1986
1986
+
"http-body",
1987
1987
+
"http-body-util",
1988
1988
+
"hyper",
1989
1989
+
"hyper-rustls",
1990
1990
+
"hyper-tls",
1991
1991
+
"hyper-util",
1992
1992
+
"js-sys",
1993
1993
+
"log",
1994
1994
+
"mime",
1995
1995
+
"native-tls",
1996
1996
+
"percent-encoding",
1997
1997
+
"pin-project-lite",
1998
1998
+
"rustls-pki-types",
1999
1999
+
"serde",
2000
2000
+
"serde_json",
2001
2001
+
"serde_urlencoded",
2002
2002
+
"sync_wrapper",
2003
2003
+
"tokio",
2004
2004
+
"tokio-native-tls",
2005
2005
+
"tokio-util",
2006
2006
+
"tower",
2007
2007
+
"tower-http",
2008
2008
+
"tower-service",
2009
2009
+
"url",
2010
2010
+
"wasm-bindgen",
2011
2011
+
"wasm-bindgen-futures",
2012
2012
+
"web-sys",
2013
2013
+
]
2014
2014
+
2015
2015
+
[[package]]
2016
2016
+
name = "resolv-conf"
2017
2017
+
version = "0.7.4"
2018
2018
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2019
2019
+
checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3"
2020
2020
+
2021
2021
+
[[package]]
2022
2022
+
name = "ring"
2023
2023
+
version = "0.17.14"
2024
2024
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2025
2025
+
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
2026
2026
+
dependencies = [
2027
2027
+
"cc",
2028
2028
+
"cfg-if",
2029
2029
+
"getrandom 0.2.16",
2030
2030
+
"libc",
2031
2031
+
"untrusted",
2032
2032
+
"windows-sys 0.52.0",
2033
2033
+
]
2034
2034
+
2035
2035
+
[[package]]
2036
2036
+
name = "rustc-demangle"
2037
2037
+
version = "0.1.25"
2038
2038
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2039
2039
+
checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f"
2040
2040
+
2041
2041
+
[[package]]
2042
2042
+
name = "rustc_version"
2043
2043
+
version = "0.4.1"
2044
2044
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2045
2045
+
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
2046
2046
+
dependencies = [
2047
2047
+
"semver",
2048
2048
+
]
2049
2049
+
2050
2050
+
[[package]]
2051
2051
+
name = "rustix"
2052
2052
+
version = "1.0.8"
2053
2053
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2054
2054
+
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
2055
2055
+
dependencies = [
2056
2056
+
"bitflags 2.9.1",
2057
2057
+
"errno",
2058
2058
+
"libc",
2059
2059
+
"linux-raw-sys",
2060
2060
+
"windows-sys 0.59.0",
2061
2061
+
]
2062
2062
+
2063
2063
+
[[package]]
2064
2064
+
name = "rustls"
2065
2065
+
version = "0.23.29"
2066
2066
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2067
2067
+
checksum = "2491382039b29b9b11ff08b76ff6c97cf287671dbb74f0be44bda389fffe9bd1"
2068
2068
+
dependencies = [
2069
2069
+
"once_cell",
2070
2070
+
"rustls-pki-types",
2071
2071
+
"rustls-webpki",
2072
2072
+
"subtle",
2073
2073
+
"zeroize",
2074
2074
+
]
2075
2075
+
2076
2076
+
[[package]]
2077
2077
+
name = "rustls-pki-types"
2078
2078
+
version = "1.12.0"
2079
2079
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2080
2080
+
checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
2081
2081
+
dependencies = [
2082
2082
+
"zeroize",
2083
2083
+
]
2084
2084
+
2085
2085
+
[[package]]
2086
2086
+
name = "rustls-webpki"
2087
2087
+
version = "0.103.4"
2088
2088
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2089
2089
+
checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc"
2090
2090
+
dependencies = [
2091
2091
+
"ring",
2092
2092
+
"rustls-pki-types",
2093
2093
+
"untrusted",
2094
2094
+
]
2095
2095
+
2096
2096
+
[[package]]
2097
2097
+
name = "rustversion"
2098
2098
+
version = "1.0.21"
2099
2099
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2100
2100
+
checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
2101
2101
+
2102
2102
+
[[package]]
2103
2103
+
name = "ryu"
2104
2104
+
version = "1.0.20"
2105
2105
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2106
2106
+
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
2107
2107
+
2108
2108
+
[[package]]
2109
2109
+
name = "schannel"
2110
2110
+
version = "0.1.27"
2111
2111
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2112
2112
+
checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d"
2113
2113
+
dependencies = [
2114
2114
+
"windows-sys 0.59.0",
2115
2115
+
]
2116
2116
+
2117
2117
+
[[package]]
2118
2118
+
name = "scoped-tls"
2119
2119
+
version = "1.0.1"
2120
2120
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2121
2121
+
checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
2122
2122
+
2123
2123
+
[[package]]
2124
2124
+
name = "scopeguard"
2125
2125
+
version = "1.2.0"
2126
2126
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2127
2127
+
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
2128
2128
+
2129
2129
+
[[package]]
2130
2130
+
name = "security-framework"
2131
2131
+
version = "2.11.1"
2132
2132
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2133
2133
+
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
2134
2134
+
dependencies = [
2135
2135
+
"bitflags 2.9.1",
2136
2136
+
"core-foundation",
2137
2137
+
"core-foundation-sys",
2138
2138
+
"libc",
2139
2139
+
"security-framework-sys",
2140
2140
+
]
2141
2141
+
2142
2142
+
[[package]]
2143
2143
+
name = "security-framework-sys"
2144
2144
+
version = "2.14.0"
2145
2145
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2146
2146
+
checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32"
2147
2147
+
dependencies = [
2148
2148
+
"core-foundation-sys",
2149
2149
+
"libc",
2150
2150
+
]
2151
2151
+
2152
2152
+
[[package]]
2153
2153
+
name = "semver"
2154
2154
+
version = "1.0.26"
2155
2155
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2156
2156
+
checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
2157
2157
+
2158
2158
+
[[package]]
2159
2159
+
name = "serde"
2160
2160
+
version = "1.0.219"
2161
2161
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2162
2162
+
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
2163
2163
+
dependencies = [
2164
2164
+
"serde_derive",
2165
2165
+
]
2166
2166
+
2167
2167
+
[[package]]
2168
2168
+
name = "serde_bytes"
2169
2169
+
version = "0.11.17"
2170
2170
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2171
2171
+
checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96"
2172
2172
+
dependencies = [
2173
2173
+
"serde",
2174
2174
+
]
2175
2175
+
2176
2176
+
[[package]]
2177
2177
+
name = "serde_derive"
2178
2178
+
version = "1.0.219"
2179
2179
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2180
2180
+
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
2181
2181
+
dependencies = [
2182
2182
+
"proc-macro2",
2183
2183
+
"quote",
2184
2184
+
"syn",
2185
2185
+
]
2186
2186
+
2187
2187
+
[[package]]
2188
2188
+
name = "serde_html_form"
2189
2189
+
version = "0.2.7"
2190
2190
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2191
2191
+
checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4"
2192
2192
+
dependencies = [
2193
2193
+
"form_urlencoded",
2194
2194
+
"indexmap",
2195
2195
+
"itoa",
2196
2196
+
"ryu",
2197
2197
+
"serde",
2198
2198
+
]
2199
2199
+
2200
2200
+
[[package]]
2201
2201
+
name = "serde_ipld_dagcbor"
2202
2202
+
version = "0.6.3"
2203
2203
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2204
2204
+
checksum = "99600723cf53fb000a66175555098db7e75217c415bdd9a16a65d52a19dcc4fc"
2205
2205
+
dependencies = [
2206
2206
+
"cbor4ii",
2207
2207
+
"ipld-core",
2208
2208
+
"scopeguard",
2209
2209
+
"serde",
2210
2210
+
]
2211
2211
+
2212
2212
+
[[package]]
2213
2213
+
name = "serde_json"
2214
2214
+
version = "1.0.141"
2215
2215
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2216
2216
+
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
2217
2217
+
dependencies = [
2218
2218
+
"itoa",
2219
2219
+
"memchr",
2220
2220
+
"ryu",
2221
2221
+
"serde",
2222
2222
+
]
2223
2223
+
2224
2224
+
[[package]]
2225
2225
+
name = "serde_urlencoded"
2226
2226
+
version = "0.7.1"
2227
2227
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2228
2228
+
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
2229
2229
+
dependencies = [
2230
2230
+
"form_urlencoded",
2231
2231
+
"itoa",
2232
2232
+
"ryu",
2233
2233
+
"serde",
2234
2234
+
]
2235
2235
+
2236
2236
+
[[package]]
2237
2237
+
name = "sha2"
2238
2238
+
version = "0.10.9"
2239
2239
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2240
2240
+
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
2241
2241
+
dependencies = [
2242
2242
+
"cfg-if",
2243
2243
+
"cpufeatures",
2244
2244
+
"digest",
2245
2245
+
]
2246
2246
+
2247
2247
+
[[package]]
2248
2248
+
name = "sharded-slab"
2249
2249
+
version = "0.1.7"
2250
2250
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2251
2251
+
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
2252
2252
+
dependencies = [
2253
2253
+
"lazy_static",
2254
2254
+
]
2255
2255
+
2256
2256
+
[[package]]
2257
2257
+
name = "shlex"
2258
2258
+
version = "1.3.0"
2259
2259
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2260
2260
+
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
2261
2261
+
2262
2262
+
[[package]]
2263
2263
+
name = "slab"
2264
2264
+
version = "0.4.10"
2265
2265
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2266
2266
+
checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d"
2267
2267
+
2268
2268
+
[[package]]
2269
2269
+
name = "sluice"
2270
2270
+
version = "0.5.5"
2271
2271
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2272
2272
+
checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
2273
2273
+
dependencies = [
2274
2274
+
"async-channel",
2275
2275
+
"futures-core",
2276
2276
+
"futures-io",
2277
2277
+
]
2278
2278
+
2279
2279
+
[[package]]
2280
2280
+
name = "smallvec"
2281
2281
+
version = "1.15.1"
2282
2282
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2283
2283
+
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
2284
2284
+
2285
2285
+
[[package]]
2286
2286
+
name = "socket2"
2287
2287
+
version = "0.5.10"
2288
2288
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2289
2289
+
checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
2290
2290
+
dependencies = [
2291
2291
+
"libc",
2292
2292
+
"windows-sys 0.52.0",
2293
2293
+
]
2294
2294
+
2295
2295
+
[[package]]
2296
2296
+
name = "socket2"
2297
2297
+
version = "0.6.0"
2298
2298
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2299
2299
+
checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
2300
2300
+
dependencies = [
2301
2301
+
"libc",
2302
2302
+
"windows-sys 0.59.0",
2303
2303
+
]
2304
2304
+
2305
2305
+
[[package]]
2306
2306
+
name = "stable_deref_trait"
2307
2307
+
version = "1.2.0"
2308
2308
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2309
2309
+
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
2310
2310
+
2311
2311
+
[[package]]
2312
2312
+
name = "strsim"
2313
2313
+
version = "0.11.1"
2314
2314
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2315
2315
+
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
2316
2316
+
2317
2317
+
[[package]]
2318
2318
+
name = "subtle"
2319
2319
+
version = "2.6.1"
2320
2320
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2321
2321
+
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
2322
2322
+
2323
2323
+
[[package]]
2324
2324
+
name = "syn"
2325
2325
+
version = "2.0.104"
2326
2326
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2327
2327
+
checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
2328
2328
+
dependencies = [
2329
2329
+
"proc-macro2",
2330
2330
+
"quote",
2331
2331
+
"unicode-ident",
2332
2332
+
]
2333
2333
+
2334
2334
+
[[package]]
2335
2335
+
name = "sync_wrapper"
2336
2336
+
version = "1.0.2"
2337
2337
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2338
2338
+
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
2339
2339
+
dependencies = [
2340
2340
+
"futures-core",
2341
2341
+
]
2342
2342
+
2343
2343
+
[[package]]
2344
2344
+
name = "synstructure"
2345
2345
+
version = "0.13.2"
2346
2346
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2347
2347
+
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
2348
2348
+
dependencies = [
2349
2349
+
"proc-macro2",
2350
2350
+
"quote",
2351
2351
+
"syn",
2352
2352
+
]
2353
2353
+
2354
2354
+
[[package]]
2355
2355
+
name = "system-configuration"
2356
2356
+
version = "0.6.1"
2357
2357
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2358
2358
+
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
2359
2359
+
dependencies = [
2360
2360
+
"bitflags 2.9.1",
2361
2361
+
"core-foundation",
2362
2362
+
"system-configuration-sys",
2363
2363
+
]
2364
2364
+
2365
2365
+
[[package]]
2366
2366
+
name = "system-configuration-sys"
2367
2367
+
version = "0.6.0"
2368
2368
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2369
2369
+
checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
2370
2370
+
dependencies = [
2371
2371
+
"core-foundation-sys",
2372
2372
+
"libc",
2373
2373
+
]
2374
2374
+
2375
2375
+
[[package]]
2376
2376
+
name = "tagptr"
2377
2377
+
version = "0.2.0"
2378
2378
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2379
2379
+
checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
2380
2380
+
2381
2381
+
[[package]]
2382
2382
+
name = "tempfile"
2383
2383
+
version = "3.20.0"
2384
2384
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2385
2385
+
checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
2386
2386
+
dependencies = [
2387
2387
+
"fastrand 2.3.0",
2388
2388
+
"getrandom 0.3.3",
2389
2389
+
"once_cell",
2390
2390
+
"rustix",
2391
2391
+
"windows-sys 0.59.0",
2392
2392
+
]
2393
2393
+
2394
2394
+
[[package]]
2395
2395
+
name = "thiserror"
2396
2396
+
version = "1.0.69"
2397
2397
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2398
2398
+
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
2399
2399
+
dependencies = [
2400
2400
+
"thiserror-impl 1.0.69",
2401
2401
+
]
2402
2402
+
2403
2403
+
[[package]]
2404
2404
+
name = "thiserror"
2405
2405
+
version = "2.0.12"
2406
2406
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2407
2407
+
checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
2408
2408
+
dependencies = [
2409
2409
+
"thiserror-impl 2.0.12",
2410
2410
+
]
2411
2411
+
2412
2412
+
[[package]]
2413
2413
+
name = "thiserror-impl"
2414
2414
+
version = "1.0.69"
2415
2415
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2416
2416
+
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
2417
2417
+
dependencies = [
2418
2418
+
"proc-macro2",
2419
2419
+
"quote",
2420
2420
+
"syn",
2421
2421
+
]
2422
2422
+
2423
2423
+
[[package]]
2424
2424
+
name = "thiserror-impl"
2425
2425
+
version = "2.0.12"
2426
2426
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2427
2427
+
checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
2428
2428
+
dependencies = [
2429
2429
+
"proc-macro2",
2430
2430
+
"quote",
2431
2431
+
"syn",
2432
2432
+
]
2433
2433
+
2434
2434
+
[[package]]
2435
2435
+
name = "thread_local"
2436
2436
+
version = "1.1.9"
2437
2437
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2438
2438
+
checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
2439
2439
+
dependencies = [
2440
2440
+
"cfg-if",
2441
2441
+
]
2442
2442
+
2443
2443
+
[[package]]
2444
2444
+
name = "tinystr"
2445
2445
+
version = "0.8.1"
2446
2446
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2447
2447
+
checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
2448
2448
+
dependencies = [
2449
2449
+
"displaydoc",
2450
2450
+
"zerovec",
2451
2451
+
]
2452
2452
+
2453
2453
+
[[package]]
2454
2454
+
name = "tinyvec"
2455
2455
+
version = "1.9.0"
2456
2456
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2457
2457
+
checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
2458
2458
+
dependencies = [
2459
2459
+
"tinyvec_macros",
2460
2460
+
]
2461
2461
+
2462
2462
+
[[package]]
2463
2463
+
name = "tinyvec_macros"
2464
2464
+
version = "0.1.1"
2465
2465
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2466
2466
+
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
2467
2467
+
2468
2468
+
[[package]]
2469
2469
+
name = "tokio"
2470
2470
+
version = "1.46.1"
2471
2471
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2472
2472
+
checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17"
2473
2473
+
dependencies = [
2474
2474
+
"backtrace",
2475
2475
+
"bytes",
2476
2476
+
"io-uring",
2477
2477
+
"libc",
2478
2478
+
"mio",
2479
2479
+
"pin-project-lite",
2480
2480
+
"slab",
2481
2481
+
"socket2 0.5.10",
2482
2482
+
"tokio-macros",
2483
2483
+
"windows-sys 0.52.0",
2484
2484
+
]
2485
2485
+
2486
2486
+
[[package]]
2487
2487
+
name = "tokio-macros"
2488
2488
+
version = "2.5.0"
2489
2489
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2490
2490
+
checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
2491
2491
+
dependencies = [
2492
2492
+
"proc-macro2",
2493
2493
+
"quote",
2494
2494
+
"syn",
2495
2495
+
]
2496
2496
+
2497
2497
+
[[package]]
2498
2498
+
name = "tokio-native-tls"
2499
2499
+
version = "0.3.1"
2500
2500
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2501
2501
+
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
2502
2502
+
dependencies = [
2503
2503
+
"native-tls",
2504
2504
+
"tokio",
2505
2505
+
]
2506
2506
+
2507
2507
+
[[package]]
2508
2508
+
name = "tokio-rustls"
2509
2509
+
version = "0.26.2"
2510
2510
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2511
2511
+
checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
2512
2512
+
dependencies = [
2513
2513
+
"rustls",
2514
2514
+
"tokio",
2515
2515
+
]
2516
2516
+
2517
2517
+
[[package]]
2518
2518
+
name = "tokio-util"
2519
2519
+
version = "0.7.15"
2520
2520
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2521
2521
+
checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df"
2522
2522
+
dependencies = [
2523
2523
+
"bytes",
2524
2524
+
"futures-core",
2525
2525
+
"futures-io",
2526
2526
+
"futures-sink",
2527
2527
+
"pin-project-lite",
2528
2528
+
"tokio",
2529
2529
+
]
2530
2530
+
2531
2531
+
[[package]]
2532
2532
+
name = "tower"
2533
2533
+
version = "0.5.2"
2534
2534
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2535
2535
+
checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
2536
2536
+
dependencies = [
2537
2537
+
"futures-core",
2538
2538
+
"futures-util",
2539
2539
+
"pin-project-lite",
2540
2540
+
"sync_wrapper",
2541
2541
+
"tokio",
2542
2542
+
"tower-layer",
2543
2543
+
"tower-service",
2544
2544
+
]
2545
2545
+
2546
2546
+
[[package]]
2547
2547
+
name = "tower-http"
2548
2548
+
version = "0.6.6"
2549
2549
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2550
2550
+
checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
2551
2551
+
dependencies = [
2552
2552
+
"bitflags 2.9.1",
2553
2553
+
"bytes",
2554
2554
+
"futures-util",
2555
2555
+
"http 1.3.1",
2556
2556
+
"http-body",
2557
2557
+
"iri-string",
2558
2558
+
"pin-project-lite",
2559
2559
+
"tower",
2560
2560
+
"tower-layer",
2561
2561
+
"tower-service",
2562
2562
+
]
2563
2563
+
2564
2564
+
[[package]]
2565
2565
+
name = "tower-layer"
2566
2566
+
version = "0.3.3"
2567
2567
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2568
2568
+
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
2569
2569
+
2570
2570
+
[[package]]
2571
2571
+
name = "tower-service"
2572
2572
+
version = "0.3.3"
2573
2573
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2574
2574
+
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
2575
2575
+
2576
2576
+
[[package]]
2577
2577
+
name = "tracing"
2578
2578
+
version = "0.1.41"
2579
2579
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2580
2580
+
checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
2581
2581
+
dependencies = [
2582
2582
+
"log",
2583
2583
+
"pin-project-lite",
2584
2584
+
"tracing-attributes",
2585
2585
+
"tracing-core",
2586
2586
+
]
2587
2587
+
2588
2588
+
[[package]]
2589
2589
+
name = "tracing-attributes"
2590
2590
+
version = "0.1.30"
2591
2591
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2592
2592
+
checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
2593
2593
+
dependencies = [
2594
2594
+
"proc-macro2",
2595
2595
+
"quote",
2596
2596
+
"syn",
2597
2597
+
]
2598
2598
+
2599
2599
+
[[package]]
2600
2600
+
name = "tracing-core"
2601
2601
+
version = "0.1.34"
2602
2602
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2603
2603
+
checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678"
2604
2604
+
dependencies = [
2605
2605
+
"once_cell",
2606
2606
+
"valuable",
2607
2607
+
]
2608
2608
+
2609
2609
+
[[package]]
2610
2610
+
name = "tracing-futures"
2611
2611
+
version = "0.2.5"
2612
2612
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2613
2613
+
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
2614
2614
+
dependencies = [
2615
2615
+
"pin-project",
2616
2616
+
"tracing",
2617
2617
+
]
2618
2618
+
2619
2619
+
[[package]]
2620
2620
+
name = "tracing-log"
2621
2621
+
version = "0.2.0"
2622
2622
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2623
2623
+
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
2624
2624
+
dependencies = [
2625
2625
+
"log",
2626
2626
+
"once_cell",
2627
2627
+
"tracing-core",
2628
2628
+
]
2629
2629
+
2630
2630
+
[[package]]
2631
2631
+
name = "tracing-subscriber"
2632
2632
+
version = "0.3.19"
2633
2633
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2634
2634
+
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
2635
2635
+
dependencies = [
2636
2636
+
"matchers",
2637
2637
+
"nu-ansi-term",
2638
2638
+
"once_cell",
2639
2639
+
"regex",
2640
2640
+
"sharded-slab",
2641
2641
+
"smallvec",
2642
2642
+
"thread_local",
2643
2643
+
"tracing",
2644
2644
+
"tracing-core",
2645
2645
+
"tracing-log",
2646
2646
+
]
2647
2647
+
2648
2648
+
[[package]]
2649
2649
+
name = "trait-variant"
2650
2650
+
version = "0.1.2"
2651
2651
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2652
2652
+
checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7"
2653
2653
+
dependencies = [
2654
2654
+
"proc-macro2",
2655
2655
+
"quote",
2656
2656
+
"syn",
2657
2657
+
]
2658
2658
+
2659
2659
+
[[package]]
2660
2660
+
name = "try-lock"
2661
2661
+
version = "0.2.5"
2662
2662
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2663
2663
+
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
2664
2664
+
2665
2665
+
[[package]]
2666
2666
+
name = "typenum"
2667
2667
+
version = "1.18.0"
2668
2668
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2669
2669
+
checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
2670
2670
+
2671
2671
+
[[package]]
2672
2672
+
name = "unicode-ident"
2673
2673
+
version = "1.0.18"
2674
2674
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2675
2675
+
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
2676
2676
+
2677
2677
+
[[package]]
2678
2678
+
name = "unicode-width"
2679
2679
+
version = "0.2.1"
2680
2680
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2681
2681
+
checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
2682
2682
+
2683
2683
+
[[package]]
2684
2684
+
name = "unit-prefix"
2685
2685
+
version = "0.5.1"
2686
2686
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2687
2687
+
checksum = "323402cff2dd658f39ca17c789b502021b3f18707c91cdf22e3838e1b4023817"
2688
2688
+
2689
2689
+
[[package]]
2690
2690
+
name = "unsigned-varint"
2691
2691
+
version = "0.8.0"
2692
2692
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2693
2693
+
checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06"
2694
2694
+
dependencies = [
2695
2695
+
"futures-io",
2696
2696
+
"futures-util",
2697
2697
+
]
2698
2698
+
2699
2699
+
[[package]]
2700
2700
+
name = "untrusted"
2701
2701
+
version = "0.9.0"
2702
2702
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2703
2703
+
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
2704
2704
+
2705
2705
+
[[package]]
2706
2706
+
name = "url"
2707
2707
+
version = "2.5.4"
2708
2708
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2709
2709
+
checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
2710
2710
+
dependencies = [
2711
2711
+
"form_urlencoded",
2712
2712
+
"idna",
2713
2713
+
"percent-encoding",
2714
2714
+
]
2715
2715
+
2716
2716
+
[[package]]
2717
2717
+
name = "utf8_iter"
2718
2718
+
version = "1.0.4"
2719
2719
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2720
2720
+
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
2721
2721
+
2722
2722
+
[[package]]
2723
2723
+
name = "utf8parse"
2724
2724
+
version = "0.2.2"
2725
2725
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2726
2726
+
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
2727
2727
+
2728
2728
+
[[package]]
2729
2729
+
name = "uuid"
2730
2730
+
version = "1.17.0"
2731
2731
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2732
2732
+
checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d"
2733
2733
+
dependencies = [
2734
2734
+
"getrandom 0.3.3",
2735
2735
+
"js-sys",
2736
2736
+
"wasm-bindgen",
2737
2737
+
]
2738
2738
+
2739
2739
+
[[package]]
2740
2740
+
name = "valuable"
2741
2741
+
version = "0.1.1"
2742
2742
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2743
2743
+
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
2744
2744
+
2745
2745
+
[[package]]
2746
2746
+
name = "vcpkg"
2747
2747
+
version = "0.2.15"
2748
2748
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2749
2749
+
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
2750
2750
+
2751
2751
+
[[package]]
2752
2752
+
name = "version_check"
2753
2753
+
version = "0.9.5"
2754
2754
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2755
2755
+
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
2756
2756
+
2757
2757
+
[[package]]
2758
2758
+
name = "waker-fn"
2759
2759
+
version = "1.2.0"
2760
2760
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2761
2761
+
checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7"
2762
2762
+
2763
2763
+
[[package]]
2764
2764
+
name = "want"
2765
2765
+
version = "0.3.1"
2766
2766
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2767
2767
+
checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
2768
2768
+
dependencies = [
2769
2769
+
"try-lock",
2770
2770
+
]
2771
2771
+
2772
2772
+
[[package]]
2773
2773
+
name = "wasi"
2774
2774
+
version = "0.11.1+wasi-snapshot-preview1"
2775
2775
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2776
2776
+
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
2777
2777
+
2778
2778
+
[[package]]
2779
2779
+
name = "wasi"
2780
2780
+
version = "0.14.2+wasi-0.2.4"
2781
2781
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2782
2782
+
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
2783
2783
+
dependencies = [
2784
2784
+
"wit-bindgen-rt",
2785
2785
+
]
2786
2786
+
2787
2787
+
[[package]]
2788
2788
+
name = "wasm-bindgen"
2789
2789
+
version = "0.2.100"
2790
2790
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2791
2791
+
checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
2792
2792
+
dependencies = [
2793
2793
+
"cfg-if",
2794
2794
+
"once_cell",
2795
2795
+
"rustversion",
2796
2796
+
"wasm-bindgen-macro",
2797
2797
+
]
2798
2798
+
2799
2799
+
[[package]]
2800
2800
+
name = "wasm-bindgen-backend"
2801
2801
+
version = "0.2.100"
2802
2802
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2803
2803
+
checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
2804
2804
+
dependencies = [
2805
2805
+
"bumpalo",
2806
2806
+
"log",
2807
2807
+
"proc-macro2",
2808
2808
+
"quote",
2809
2809
+
"syn",
2810
2810
+
"wasm-bindgen-shared",
2811
2811
+
]
2812
2812
+
2813
2813
+
[[package]]
2814
2814
+
name = "wasm-bindgen-futures"
2815
2815
+
version = "0.4.50"
2816
2816
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2817
2817
+
checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
2818
2818
+
dependencies = [
2819
2819
+
"cfg-if",
2820
2820
+
"js-sys",
2821
2821
+
"once_cell",
2822
2822
+
"wasm-bindgen",
2823
2823
+
"web-sys",
2824
2824
+
]
2825
2825
+
2826
2826
+
[[package]]
2827
2827
+
name = "wasm-bindgen-macro"
2828
2828
+
version = "0.2.100"
2829
2829
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2830
2830
+
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
2831
2831
+
dependencies = [
2832
2832
+
"quote",
2833
2833
+
"wasm-bindgen-macro-support",
2834
2834
+
]
2835
2835
+
2836
2836
+
[[package]]
2837
2837
+
name = "wasm-bindgen-macro-support"
2838
2838
+
version = "0.2.100"
2839
2839
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2840
2840
+
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
2841
2841
+
dependencies = [
2842
2842
+
"proc-macro2",
2843
2843
+
"quote",
2844
2844
+
"syn",
2845
2845
+
"wasm-bindgen-backend",
2846
2846
+
"wasm-bindgen-shared",
2847
2847
+
]
2848
2848
+
2849
2849
+
[[package]]
2850
2850
+
name = "wasm-bindgen-shared"
2851
2851
+
version = "0.2.100"
2852
2852
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2853
2853
+
checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
2854
2854
+
dependencies = [
2855
2855
+
"unicode-ident",
2856
2856
+
]
2857
2857
+
2858
2858
+
[[package]]
2859
2859
+
name = "web-sys"
2860
2860
+
version = "0.3.77"
2861
2861
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2862
2862
+
checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
2863
2863
+
dependencies = [
2864
2864
+
"js-sys",
2865
2865
+
"wasm-bindgen",
2866
2866
+
]
2867
2867
+
2868
2868
+
[[package]]
2869
2869
+
name = "web-time"
2870
2870
+
version = "1.1.0"
2871
2871
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2872
2872
+
checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
2873
2873
+
dependencies = [
2874
2874
+
"js-sys",
2875
2875
+
"wasm-bindgen",
2876
2876
+
]
2877
2877
+
2878
2878
+
[[package]]
2879
2879
+
name = "widestring"
2880
2880
+
version = "1.2.0"
2881
2881
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2882
2882
+
checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d"
2883
2883
+
2884
2884
+
[[package]]
2885
2885
+
name = "winapi"
2886
2886
+
version = "0.3.9"
2887
2887
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2888
2888
+
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
2889
2889
+
dependencies = [
2890
2890
+
"winapi-i686-pc-windows-gnu",
2891
2891
+
"winapi-x86_64-pc-windows-gnu",
2892
2892
+
]
2893
2893
+
2894
2894
+
[[package]]
2895
2895
+
name = "winapi-i686-pc-windows-gnu"
2896
2896
+
version = "0.4.0"
2897
2897
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2898
2898
+
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
2899
2899
+
2900
2900
+
[[package]]
2901
2901
+
name = "winapi-x86_64-pc-windows-gnu"
2902
2902
+
version = "0.4.0"
2903
2903
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2904
2904
+
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
2905
2905
+
2906
2906
+
[[package]]
2907
2907
+
name = "windows"
2908
2908
+
version = "0.61.3"
2909
2909
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2910
2910
+
checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
2911
2911
+
dependencies = [
2912
2912
+
"windows-collections",
2913
2913
+
"windows-core",
2914
2914
+
"windows-future",
2915
2915
+
"windows-link",
2916
2916
+
"windows-numerics",
2917
2917
+
]
2918
2918
+
2919
2919
+
[[package]]
2920
2920
+
name = "windows-collections"
2921
2921
+
version = "0.2.0"
2922
2922
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2923
2923
+
checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
2924
2924
+
dependencies = [
2925
2925
+
"windows-core",
2926
2926
+
]
2927
2927
+
2928
2928
+
[[package]]
2929
2929
+
name = "windows-core"
2930
2930
+
version = "0.61.2"
2931
2931
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2932
2932
+
checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
2933
2933
+
dependencies = [
2934
2934
+
"windows-implement",
2935
2935
+
"windows-interface",
2936
2936
+
"windows-link",
2937
2937
+
"windows-result",
2938
2938
+
"windows-strings",
2939
2939
+
]
2940
2940
+
2941
2941
+
[[package]]
2942
2942
+
name = "windows-future"
2943
2943
+
version = "0.2.1"
2944
2944
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2945
2945
+
checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
2946
2946
+
dependencies = [
2947
2947
+
"windows-core",
2948
2948
+
"windows-link",
2949
2949
+
"windows-threading",
2950
2950
+
]
2951
2951
+
2952
2952
+
[[package]]
2953
2953
+
name = "windows-implement"
2954
2954
+
version = "0.60.0"
2955
2955
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2956
2956
+
checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
2957
2957
+
dependencies = [
2958
2958
+
"proc-macro2",
2959
2959
+
"quote",
2960
2960
+
"syn",
2961
2961
+
]
2962
2962
+
2963
2963
+
[[package]]
2964
2964
+
name = "windows-interface"
2965
2965
+
version = "0.59.1"
2966
2966
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2967
2967
+
checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
2968
2968
+
dependencies = [
2969
2969
+
"proc-macro2",
2970
2970
+
"quote",
2971
2971
+
"syn",
2972
2972
+
]
2973
2973
+
2974
2974
+
[[package]]
2975
2975
+
name = "windows-link"
2976
2976
+
version = "0.1.3"
2977
2977
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2978
2978
+
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
2979
2979
+
2980
2980
+
[[package]]
2981
2981
+
name = "windows-numerics"
2982
2982
+
version = "0.2.0"
2983
2983
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2984
2984
+
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
2985
2985
+
dependencies = [
2986
2986
+
"windows-core",
2987
2987
+
"windows-link",
2988
2988
+
]
2989
2989
+
2990
2990
+
[[package]]
2991
2991
+
name = "windows-registry"
2992
2992
+
version = "0.5.2"
2993
2993
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2994
2994
+
checksum = "b3bab093bdd303a1240bb99b8aba8ea8a69ee19d34c9e2ef9594e708a4878820"
2995
2995
+
dependencies = [
2996
2996
+
"windows-link",
2997
2997
+
"windows-result",
2998
2998
+
"windows-strings",
2999
2999
+
]
3000
3000
+
3001
3001
+
[[package]]
3002
3002
+
name = "windows-result"
3003
3003
+
version = "0.3.4"
3004
3004
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3005
3005
+
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
3006
3006
+
dependencies = [
3007
3007
+
"windows-link",
3008
3008
+
]
3009
3009
+
3010
3010
+
[[package]]
3011
3011
+
name = "windows-strings"
3012
3012
+
version = "0.4.2"
3013
3013
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3014
3014
+
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
3015
3015
+
dependencies = [
3016
3016
+
"windows-link",
3017
3017
+
]
3018
3018
+
3019
3019
+
[[package]]
3020
3020
+
name = "windows-sys"
3021
3021
+
version = "0.48.0"
3022
3022
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3023
3023
+
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
3024
3024
+
dependencies = [
3025
3025
+
"windows-targets 0.48.5",
3026
3026
+
]
3027
3027
+
3028
3028
+
[[package]]
3029
3029
+
name = "windows-sys"
3030
3030
+
version = "0.52.0"
3031
3031
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3032
3032
+
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
3033
3033
+
dependencies = [
3034
3034
+
"windows-targets 0.52.6",
3035
3035
+
]
3036
3036
+
3037
3037
+
[[package]]
3038
3038
+
name = "windows-sys"
3039
3039
+
version = "0.59.0"
3040
3040
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3041
3041
+
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
3042
3042
+
dependencies = [
3043
3043
+
"windows-targets 0.52.6",
3044
3044
+
]
3045
3045
+
3046
3046
+
[[package]]
3047
3047
+
name = "windows-sys"
3048
3048
+
version = "0.60.2"
3049
3049
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3050
3050
+
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
3051
3051
+
dependencies = [
3052
3052
+
"windows-targets 0.53.2",
3053
3053
+
]
3054
3054
+
3055
3055
+
[[package]]
3056
3056
+
name = "windows-targets"
3057
3057
+
version = "0.48.5"
3058
3058
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3059
3059
+
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
3060
3060
+
dependencies = [
3061
3061
+
"windows_aarch64_gnullvm 0.48.5",
3062
3062
+
"windows_aarch64_msvc 0.48.5",
3063
3063
+
"windows_i686_gnu 0.48.5",
3064
3064
+
"windows_i686_msvc 0.48.5",
3065
3065
+
"windows_x86_64_gnu 0.48.5",
3066
3066
+
"windows_x86_64_gnullvm 0.48.5",
3067
3067
+
"windows_x86_64_msvc 0.48.5",
3068
3068
+
]
3069
3069
+
3070
3070
+
[[package]]
3071
3071
+
name = "windows-targets"
3072
3072
+
version = "0.52.6"
3073
3073
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3074
3074
+
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
3075
3075
+
dependencies = [
3076
3076
+
"windows_aarch64_gnullvm 0.52.6",
3077
3077
+
"windows_aarch64_msvc 0.52.6",
3078
3078
+
"windows_i686_gnu 0.52.6",
3079
3079
+
"windows_i686_gnullvm 0.52.6",
3080
3080
+
"windows_i686_msvc 0.52.6",
3081
3081
+
"windows_x86_64_gnu 0.52.6",
3082
3082
+
"windows_x86_64_gnullvm 0.52.6",
3083
3083
+
"windows_x86_64_msvc 0.52.6",
3084
3084
+
]
3085
3085
+
3086
3086
+
[[package]]
3087
3087
+
name = "windows-targets"
3088
3088
+
version = "0.53.2"
3089
3089
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3090
3090
+
checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
3091
3091
+
dependencies = [
3092
3092
+
"windows_aarch64_gnullvm 0.53.0",
3093
3093
+
"windows_aarch64_msvc 0.53.0",
3094
3094
+
"windows_i686_gnu 0.53.0",
3095
3095
+
"windows_i686_gnullvm 0.53.0",
3096
3096
+
"windows_i686_msvc 0.53.0",
3097
3097
+
"windows_x86_64_gnu 0.53.0",
3098
3098
+
"windows_x86_64_gnullvm 0.53.0",
3099
3099
+
"windows_x86_64_msvc 0.53.0",
3100
3100
+
]
3101
3101
+
3102
3102
+
[[package]]
3103
3103
+
name = "windows-threading"
3104
3104
+
version = "0.1.0"
3105
3105
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3106
3106
+
checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
3107
3107
+
dependencies = [
3108
3108
+
"windows-link",
3109
3109
+
]
3110
3110
+
3111
3111
+
[[package]]
3112
3112
+
name = "windows_aarch64_gnullvm"
3113
3113
+
version = "0.48.5"
3114
3114
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3115
3115
+
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
3116
3116
+
3117
3117
+
[[package]]
3118
3118
+
name = "windows_aarch64_gnullvm"
3119
3119
+
version = "0.52.6"
3120
3120
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3121
3121
+
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
3122
3122
+
3123
3123
+
[[package]]
3124
3124
+
name = "windows_aarch64_gnullvm"
3125
3125
+
version = "0.53.0"
3126
3126
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3127
3127
+
checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
3128
3128
+
3129
3129
+
[[package]]
3130
3130
+
name = "windows_aarch64_msvc"
3131
3131
+
version = "0.48.5"
3132
3132
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3133
3133
+
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
3134
3134
+
3135
3135
+
[[package]]
3136
3136
+
name = "windows_aarch64_msvc"
3137
3137
+
version = "0.52.6"
3138
3138
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3139
3139
+
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
3140
3140
+
3141
3141
+
[[package]]
3142
3142
+
name = "windows_aarch64_msvc"
3143
3143
+
version = "0.53.0"
3144
3144
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3145
3145
+
checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
3146
3146
+
3147
3147
+
[[package]]
3148
3148
+
name = "windows_i686_gnu"
3149
3149
+
version = "0.48.5"
3150
3150
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3151
3151
+
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
3152
3152
+
3153
3153
+
[[package]]
3154
3154
+
name = "windows_i686_gnu"
3155
3155
+
version = "0.52.6"
3156
3156
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3157
3157
+
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
3158
3158
+
3159
3159
+
[[package]]
3160
3160
+
name = "windows_i686_gnu"
3161
3161
+
version = "0.53.0"
3162
3162
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3163
3163
+
checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
3164
3164
+
3165
3165
+
[[package]]
3166
3166
+
name = "windows_i686_gnullvm"
3167
3167
+
version = "0.52.6"
3168
3168
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3169
3169
+
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
3170
3170
+
3171
3171
+
[[package]]
3172
3172
+
name = "windows_i686_gnullvm"
3173
3173
+
version = "0.53.0"
3174
3174
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3175
3175
+
checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
3176
3176
+
3177
3177
+
[[package]]
3178
3178
+
name = "windows_i686_msvc"
3179
3179
+
version = "0.48.5"
3180
3180
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3181
3181
+
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
3182
3182
+
3183
3183
+
[[package]]
3184
3184
+
name = "windows_i686_msvc"
3185
3185
+
version = "0.52.6"
3186
3186
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3187
3187
+
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
3188
3188
+
3189
3189
+
[[package]]
3190
3190
+
name = "windows_i686_msvc"
3191
3191
+
version = "0.53.0"
3192
3192
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3193
3193
+
checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
3194
3194
+
3195
3195
+
[[package]]
3196
3196
+
name = "windows_x86_64_gnu"
3197
3197
+
version = "0.48.5"
3198
3198
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3199
3199
+
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
3200
3200
+
3201
3201
+
[[package]]
3202
3202
+
name = "windows_x86_64_gnu"
3203
3203
+
version = "0.52.6"
3204
3204
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3205
3205
+
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
3206
3206
+
3207
3207
+
[[package]]
3208
3208
+
name = "windows_x86_64_gnu"
3209
3209
+
version = "0.53.0"
3210
3210
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3211
3211
+
checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
3212
3212
+
3213
3213
+
[[package]]
3214
3214
+
name = "windows_x86_64_gnullvm"
3215
3215
+
version = "0.48.5"
3216
3216
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3217
3217
+
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
3218
3218
+
3219
3219
+
[[package]]
3220
3220
+
name = "windows_x86_64_gnullvm"
3221
3221
+
version = "0.52.6"
3222
3222
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3223
3223
+
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
3224
3224
+
3225
3225
+
[[package]]
3226
3226
+
name = "windows_x86_64_gnullvm"
3227
3227
+
version = "0.53.0"
3228
3228
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3229
3229
+
checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
3230
3230
+
3231
3231
+
[[package]]
3232
3232
+
name = "windows_x86_64_msvc"
3233
3233
+
version = "0.48.5"
3234
3234
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3235
3235
+
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
3236
3236
+
3237
3237
+
[[package]]
3238
3238
+
name = "windows_x86_64_msvc"
3239
3239
+
version = "0.52.6"
3240
3240
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3241
3241
+
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
3242
3242
+
3243
3243
+
[[package]]
3244
3244
+
name = "windows_x86_64_msvc"
3245
3245
+
version = "0.53.0"
3246
3246
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3247
3247
+
checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
3248
3248
+
3249
3249
+
[[package]]
3250
3250
+
name = "winreg"
3251
3251
+
version = "0.50.0"
3252
3252
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3253
3253
+
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
3254
3254
+
dependencies = [
3255
3255
+
"cfg-if",
3256
3256
+
"windows-sys 0.48.0",
3257
3257
+
]
3258
3258
+
3259
3259
+
[[package]]
3260
3260
+
name = "wit-bindgen-rt"
3261
3261
+
version = "0.39.0"
3262
3262
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3263
3263
+
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
3264
3264
+
dependencies = [
3265
3265
+
"bitflags 2.9.1",
3266
3266
+
]
3267
3267
+
3268
3268
+
[[package]]
3269
3269
+
name = "writeable"
3270
3270
+
version = "0.6.1"
3271
3271
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3272
3272
+
checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
3273
3273
+
3274
3274
+
[[package]]
3275
3275
+
name = "xdg"
3276
3276
+
version = "3.0.0"
3277
3277
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3278
3278
+
checksum = "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5"
3279
3279
+
3280
3280
+
[[package]]
3281
3281
+
name = "yoke"
3282
3282
+
version = "0.8.0"
3283
3283
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3284
3284
+
checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
3285
3285
+
dependencies = [
3286
3286
+
"serde",
3287
3287
+
"stable_deref_trait",
3288
3288
+
"yoke-derive",
3289
3289
+
"zerofrom",
3290
3290
+
]
3291
3291
+
3292
3292
+
[[package]]
3293
3293
+
name = "yoke-derive"
3294
3294
+
version = "0.8.0"
3295
3295
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3296
3296
+
checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
3297
3297
+
dependencies = [
3298
3298
+
"proc-macro2",
3299
3299
+
"quote",
3300
3300
+
"syn",
3301
3301
+
"synstructure",
3302
3302
+
]
3303
3303
+
3304
3304
+
[[package]]
3305
3305
+
name = "zerocopy"
3306
3306
+
version = "0.8.26"
3307
3307
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3308
3308
+
checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
3309
3309
+
dependencies = [
3310
3310
+
"zerocopy-derive",
3311
3311
+
]
3312
3312
+
3313
3313
+
[[package]]
3314
3314
+
name = "zerocopy-derive"
3315
3315
+
version = "0.8.26"
3316
3316
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3317
3317
+
checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
3318
3318
+
dependencies = [
3319
3319
+
"proc-macro2",
3320
3320
+
"quote",
3321
3321
+
"syn",
3322
3322
+
]
3323
3323
+
3324
3324
+
[[package]]
3325
3325
+
name = "zerofrom"
3326
3326
+
version = "0.1.6"
3327
3327
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3328
3328
+
checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
3329
3329
+
dependencies = [
3330
3330
+
"zerofrom-derive",
3331
3331
+
]
3332
3332
+
3333
3333
+
[[package]]
3334
3334
+
name = "zerofrom-derive"
3335
3335
+
version = "0.1.6"
3336
3336
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3337
3337
+
checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
3338
3338
+
dependencies = [
3339
3339
+
"proc-macro2",
3340
3340
+
"quote",
3341
3341
+
"syn",
3342
3342
+
"synstructure",
3343
3343
+
]
3344
3344
+
3345
3345
+
[[package]]
3346
3346
+
name = "zeroize"
3347
3347
+
version = "1.8.1"
3348
3348
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3349
3349
+
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
3350
3350
+
3351
3351
+
[[package]]
3352
3352
+
name = "zerotrie"
3353
3353
+
version = "0.2.2"
3354
3354
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3355
3355
+
checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
3356
3356
+
dependencies = [
3357
3357
+
"displaydoc",
3358
3358
+
"yoke",
3359
3359
+
"zerofrom",
3360
3360
+
]
3361
3361
+
3362
3362
+
[[package]]
3363
3363
+
name = "zerovec"
3364
3364
+
version = "0.11.2"
3365
3365
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3366
3366
+
checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428"
3367
3367
+
dependencies = [
3368
3368
+
"yoke",
3369
3369
+
"zerofrom",
3370
3370
+
"zerovec-derive",
3371
3371
+
]
3372
3372
+
3373
3373
+
[[package]]
3374
3374
+
name = "zerovec-derive"
3375
3375
+
version = "0.11.1"
3376
3376
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3377
3377
+
checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
3378
3378
+
dependencies = [
3379
3379
+
"proc-macro2",
3380
3380
+
"quote",
3381
3381
+
"syn",
3382
3382
+
]
+26
Cargo.toml
···
1
1
+
[package]
2
2
+
name = "pdsfs"
3
3
+
version = "0.1.0"
4
4
+
edition = "2024"
5
5
+
6
6
+
[dependencies]
7
7
+
atrium-api = "0.25.4"
8
8
+
atrium-common = "0.1.2"
9
9
+
atrium-identity = "0.1.5"
10
10
+
atrium-repo = "0.1.4"
11
11
+
atrium-xrpc = "0.12.3"
12
12
+
atrium-xrpc-client = { version = "0.5.14", features=["isahc"] }
13
13
+
clap = { version = "4.5.41", features = ["cargo"] }
14
14
+
fuser = "0.15.1"
15
15
+
futures = "0.3.31"
16
16
+
hickory-resolver = "0.25.2"
17
17
+
indexmap = "2.10.0"
18
18
+
indicatif = "0.18.0"
19
19
+
ipld-core = "0.4.2"
20
20
+
libc = "0.2.174"
21
21
+
reqwest = "0.12.22"
22
22
+
serde_ipld_dagcbor = "0.6.3"
23
23
+
serde_json = "1.0.141"
24
24
+
thiserror = "2.0.12"
25
25
+
tokio = { version = "1.46.1", features = ["fs"] }
26
26
+
xdg = "3.0.0"
+10
readme.txt
···
1
1
+
pdsfs
2
2
+
-----
3
3
+
4
4
+
mount an atproto PDS repository as a fuse3 filesystem.
5
5
+
6
6
+
7
7
+
usage
8
8
+
-----
9
9
+
10
10
+
cargo run -- <DID/handle>
+32
src/client.rs
···
1
1
+
use atrium_xrpc::HttpClient;
2
2
+
3
3
+
pub struct DefaultHttpClient {
4
4
+
client: reqwest::Client,
5
5
+
}
6
6
+
7
7
+
impl HttpClient for DefaultHttpClient {
8
8
+
async fn send_http(
9
9
+
&self,
10
10
+
request: atrium_xrpc::http::Request<Vec<u8>>,
11
11
+
) -> core::result::Result<
12
12
+
atrium_xrpc::http::Response<Vec<u8>>,
13
13
+
Box<dyn std::error::Error + Send + Sync + 'static>,
14
14
+
> {
15
15
+
let response = self.client.execute(request.try_into()?).await?;
16
16
+
let mut builder = atrium_xrpc::http::Response::builder().status(response.status());
17
17
+
for (k, v) in response.headers() {
18
18
+
builder = builder.header(k, v);
19
19
+
}
20
20
+
builder
21
21
+
.body(response.bytes().await?.to_vec())
22
22
+
.map_err(Into::into)
23
23
+
}
24
24
+
}
25
25
+
26
26
+
impl Default for DefaultHttpClient {
27
27
+
fn default() -> Self {
28
28
+
Self {
29
29
+
client: reqwest::Client::new(),
30
30
+
}
31
31
+
}
32
32
+
}
+7
src/error.rs
···
1
1
+
#[derive(thiserror::Error, Debug)]
2
2
+
pub enum Error {
3
3
+
#[error("atproto error: {0}")]
4
4
+
GetRepo(#[from] atrium_xrpc::Error<atrium_api::com::atproto::sync::get_repo::Error>),
5
5
+
#[error("io error: {0}")]
6
6
+
Io(#[from] std::io::Error),
7
7
+
}
+295
src/fs.rs
···
1
1
+
use std::{collections::BTreeMap, time};
2
2
+
3
3
+
use atrium_repo::{Repository, blockstore::AsyncBlockStoreRead};
4
4
+
use futures::StreamExt;
5
5
+
use indexmap::IndexSet;
6
6
+
pub struct PdsFs<R> {
7
7
+
repo: Repository<R>,
8
8
+
inodes: IndexSet<PdsFsEntry>,
9
9
+
}
10
10
+
11
11
+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
12
12
+
pub enum PdsFsEntry {
13
13
+
Zero,
14
14
+
Root,
15
15
+
Collection(String),
16
16
+
Record(PdsFsRecord),
17
17
+
}
18
18
+
19
19
+
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
20
20
+
pub struct PdsFsRecord {
21
21
+
collection: String,
22
22
+
rkey: String,
23
23
+
}
24
24
+
25
25
+
impl PdsFsRecord {
26
26
+
fn key(&self) -> String {
27
27
+
format!("{}/{}", self.collection, self.rkey)
28
28
+
}
29
29
+
}
30
30
+
31
31
+
const TTL: time::Duration = time::Duration::from_secs(300);
32
32
+
const BLKSIZE: u32 = 512;
33
33
+
34
34
+
const ROOTDIR_ATTR: fuser::FileAttr = fuser::FileAttr {
35
35
+
ino: 1,
36
36
+
size: 0,
37
37
+
blocks: 0,
38
38
+
atime: time::UNIX_EPOCH,
39
39
+
mtime: time::UNIX_EPOCH,
40
40
+
ctime: time::UNIX_EPOCH,
41
41
+
crtime: time::UNIX_EPOCH,
42
42
+
kind: fuser::FileType::Directory,
43
43
+
perm: 0o755,
44
44
+
nlink: 2,
45
45
+
uid: 501,
46
46
+
gid: 20,
47
47
+
rdev: 0,
48
48
+
flags: 0,
49
49
+
blksize: BLKSIZE,
50
50
+
};
51
51
+
52
52
+
impl<R> PdsFs<R>
53
53
+
where
54
54
+
R: AsyncBlockStoreRead,
55
55
+
{
56
56
+
pub async fn new(mut repo: Repository<R>) -> Self {
57
57
+
let mut mst = repo.tree();
58
58
+
59
59
+
// collect all keys and group by collection
60
60
+
let mut keys = Box::pin(mst.keys());
61
61
+
let mut collections: BTreeMap<String, Vec<PdsFsRecord>> = BTreeMap::new();
62
62
+
63
63
+
while let Some(Ok(key)) = keys.next().await {
64
64
+
if let Some((collection, rkey)) = key.split_once("/") {
65
65
+
let record = PdsFsRecord {
66
66
+
collection: collection.to_owned(),
67
67
+
rkey: rkey.to_owned(),
68
68
+
};
69
69
+
70
70
+
collections
71
71
+
.entry(collection.to_owned())
72
72
+
.or_insert_with(Vec::new)
73
73
+
.push(record);
74
74
+
}
75
75
+
}
76
76
+
77
77
+
drop(keys);
78
78
+
drop(mst);
79
79
+
80
80
+
// build inode structure with proper ordering
81
81
+
let mut inodes = IndexSet::from([PdsFsEntry::Zero, PdsFsEntry::Root]);
82
82
+
83
83
+
// add collections first
84
84
+
for n in collections.keys().cloned() {
85
85
+
inodes.insert(PdsFsEntry::Collection(n));
86
86
+
}
87
87
+
88
88
+
// then add all records grouped by collection
89
89
+
for r in collections.values().flatten().cloned() {
90
90
+
inodes.insert(PdsFsEntry::Record(r));
91
91
+
}
92
92
+
93
93
+
println!("constructed {} inodes", inodes.len());
94
94
+
95
95
+
PdsFs { repo, inodes }
96
96
+
}
97
97
+
98
98
+
fn attr(&mut self, ino: u64) -> fuser::FileAttr {
99
99
+
match self.inodes.get_index(ino as usize) {
100
100
+
Some(PdsFsEntry::Root) => ROOTDIR_ATTR,
101
101
+
Some(PdsFsEntry::Collection(_)) => fuser::FileAttr {
102
102
+
ino,
103
103
+
size: 0,
104
104
+
blocks: 0,
105
105
+
atime: time::UNIX_EPOCH,
106
106
+
mtime: time::UNIX_EPOCH,
107
107
+
ctime: time::UNIX_EPOCH,
108
108
+
crtime: time::UNIX_EPOCH,
109
109
+
kind: fuser::FileType::Directory,
110
110
+
perm: 0o755,
111
111
+
nlink: 2,
112
112
+
uid: 1000,
113
113
+
gid: 1000,
114
114
+
rdev: 0,
115
115
+
flags: 0,
116
116
+
blksize: BLKSIZE,
117
117
+
},
118
118
+
Some(PdsFsEntry::Record(r)) => {
119
119
+
let rt = tokio::runtime::Runtime::new().unwrap();
120
120
+
let size = rt
121
121
+
.block_on(self.repo.get_raw::<ipld_core::ipld::Ipld>(&r.key()))
122
122
+
.ok()
123
123
+
.flatten()
124
124
+
.map_or(0, |v| serde_json::to_string(&v).unwrap().len())
125
125
+
as u64;
126
126
+
let blocks = ((size as u32 + BLKSIZE - 1) / BLKSIZE) as u64;
127
127
+
fuser::FileAttr {
128
128
+
ino,
129
129
+
size,
130
130
+
blocks,
131
131
+
atime: time::UNIX_EPOCH,
132
132
+
mtime: time::UNIX_EPOCH,
133
133
+
ctime: time::UNIX_EPOCH,
134
134
+
crtime: time::UNIX_EPOCH,
135
135
+
kind: fuser::FileType::RegularFile,
136
136
+
perm: 0o644,
137
137
+
nlink: 1,
138
138
+
uid: 501,
139
139
+
gid: 20,
140
140
+
rdev: 0,
141
141
+
flags: 0,
142
142
+
blksize: 512,
143
143
+
}
144
144
+
}
145
145
+
_ => panic!("zero"),
146
146
+
}
147
147
+
}
148
148
+
}
149
149
+
150
150
+
impl<R> fuser::Filesystem for PdsFs<R>
151
151
+
where
152
152
+
R: AsyncBlockStoreRead,
153
153
+
{
154
154
+
fn getattr(
155
155
+
&mut self,
156
156
+
_req: &fuser::Request,
157
157
+
ino: u64,
158
158
+
_fh: Option<u64>,
159
159
+
reply: fuser::ReplyAttr,
160
160
+
) {
161
161
+
if (ino as usize) < self.inodes.len() {
162
162
+
reply.attr(&TTL, &self.attr(ino as u64))
163
163
+
} else {
164
164
+
reply.error(libc::ENOENT)
165
165
+
}
166
166
+
}
167
167
+
168
168
+
fn readdir(
169
169
+
&mut self,
170
170
+
_req: &fuser::Request,
171
171
+
ino: u64,
172
172
+
_fh: u64,
173
173
+
offset: i64,
174
174
+
mut reply: fuser::ReplyDirectory,
175
175
+
) {
176
176
+
match self.inodes.get_index(ino as usize) {
177
177
+
Some(PdsFsEntry::Root) => {
178
178
+
let entries: Vec<_> = vec![(ino, ".".to_string()), (ino, "..".to_string())]
179
179
+
.into_iter()
180
180
+
.chain(self.inodes.iter().enumerate().filter_map(|(i, e)| {
181
181
+
if let PdsFsEntry::Collection(name) = e {
182
182
+
Some((i as u64, name.clone()))
183
183
+
} else {
184
184
+
None
185
185
+
}
186
186
+
}))
187
187
+
.collect();
188
188
+
189
189
+
for (index, (inode_num, name)) in
190
190
+
entries.into_iter().enumerate().skip(offset as usize)
191
191
+
{
192
192
+
if reply.add(
193
193
+
inode_num,
194
194
+
(index + 1) as i64,
195
195
+
fuser::FileType::Directory,
196
196
+
name,
197
197
+
) {
198
198
+
break;
199
199
+
}
200
200
+
}
201
201
+
reply.ok()
202
202
+
}
203
203
+
Some(PdsFsEntry::Collection(collection_name)) => {
204
204
+
let entries: Vec<_> = vec![
205
205
+
(ino, ".".to_string()),
206
206
+
(1, "..".to_string()), // Parent is root (inode 1)
207
207
+
]
208
208
+
.into_iter()
209
209
+
.chain(self.inodes.iter().enumerate().filter_map(|(i, e)| {
210
210
+
if let PdsFsEntry::Record(record) = e {
211
211
+
if record.collection == *collection_name {
212
212
+
Some((i as u64, record.rkey.clone()))
213
213
+
} else {
214
214
+
None
215
215
+
}
216
216
+
} else {
217
217
+
None
218
218
+
}
219
219
+
}))
220
220
+
.collect();
221
221
+
222
222
+
for (index, (inode_num, name)) in
223
223
+
entries.into_iter().enumerate().skip(offset as usize)
224
224
+
{
225
225
+
if reply.add(
226
226
+
inode_num,
227
227
+
(index + 1) as i64,
228
228
+
if name.starts_with('.') {
229
229
+
fuser::FileType::Directory
230
230
+
} else {
231
231
+
fuser::FileType::RegularFile
232
232
+
},
233
233
+
name,
234
234
+
) {
235
235
+
break;
236
236
+
}
237
237
+
}
238
238
+
reply.ok()
239
239
+
}
240
240
+
_ => reply.error(libc::ENOENT),
241
241
+
}
242
242
+
}
243
243
+
244
244
+
fn lookup(
245
245
+
&mut self,
246
246
+
_req: &fuser::Request,
247
247
+
parent: u64,
248
248
+
name: &std::ffi::OsStr,
249
249
+
reply: fuser::ReplyEntry,
250
250
+
) {
251
251
+
match self.inodes.get_index(parent as usize) {
252
252
+
Some(PdsFsEntry::Root) => {
253
253
+
let collection = PdsFsEntry::Collection(name.to_string_lossy().to_string());
254
254
+
if let Some(ino) = self.inodes.get_index_of(&collection) {
255
255
+
reply.entry(&TTL, &self.attr(ino as u64), 0);
256
256
+
} else {
257
257
+
reply.error(libc::ENOENT)
258
258
+
}
259
259
+
}
260
260
+
Some(PdsFsEntry::Collection(c)) => {
261
261
+
let record = PdsFsEntry::Record(PdsFsRecord {
262
262
+
collection: c.to_owned(),
263
263
+
rkey: name.to_string_lossy().to_string(),
264
264
+
});
265
265
+
if let Some(ino) = self.inodes.get_index_of(&record) {
266
266
+
reply.entry(&TTL, &self.attr(ino as u64), 0);
267
267
+
} else {
268
268
+
reply.error(libc::ENOENT)
269
269
+
}
270
270
+
}
271
271
+
_ => reply.error(libc::ENOENT),
272
272
+
}
273
273
+
}
274
274
+
275
275
+
fn read(
276
276
+
&mut self,
277
277
+
_req: &fuser::Request,
278
278
+
ino: u64,
279
279
+
_fh: u64,
280
280
+
offset: i64,
281
281
+
_size: u32,
282
282
+
_flags: i32,
283
283
+
_lock: Option<u64>,
284
284
+
reply: fuser::ReplyData,
285
285
+
) {
286
286
+
let rt = tokio::runtime::Runtime::new().unwrap();
287
287
+
if let Some(PdsFsEntry::Record(r)) = self.inodes.get_index(ino as usize)
288
288
+
&& let Ok(Some(val)) = rt.block_on(self.repo.get_raw::<ipld_core::ipld::Ipld>(&r.key()))
289
289
+
{
290
290
+
reply.data(&serde_json::to_string(&val).unwrap().as_bytes()[offset as usize..]);
291
291
+
} else {
292
292
+
reply.error(libc::ENOENT);
293
293
+
}
294
294
+
}
295
295
+
}
+125
src/main.rs
···
1
1
+
#![feature(let_chains)]
2
2
+
mod client;
3
3
+
mod error;
4
4
+
mod fs;
5
5
+
mod resolver;
6
6
+
7
7
+
use atrium_api::{client::AtpServiceClient, com, types};
8
8
+
use atrium_common::resolver::Resolver;
9
9
+
use atrium_identity::identity_resolver::ResolvedIdentity;
10
10
+
use atrium_repo::{Repository, blockstore::CarStore};
11
11
+
use atrium_xrpc_client::isahc::IsahcClient;
12
12
+
use fuser::MountOption;
13
13
+
use indicatif::{ProgressBar, ProgressStyle};
14
14
+
use std::{
15
15
+
io::{Cursor, Write},
16
16
+
path::PathBuf,
17
17
+
};
18
18
+
use xdg::BaseDirectories;
19
19
+
20
20
+
fn main() {
21
21
+
let rt = tokio::runtime::Runtime::new().unwrap();
22
22
+
let matches = clap::command!()
23
23
+
.arg(clap::Arg::new("handle").index(1))
24
24
+
.arg(
25
25
+
clap::Arg::new("mountpoint")
26
26
+
.short('m')
27
27
+
.action(clap::ArgAction::Set)
28
28
+
.value_parser(clap::value_parser!(PathBuf)),
29
29
+
)
30
30
+
.get_matches();
31
31
+
let handle = matches.get_one::<String>("handle").unwrap();
32
32
+
let mountpoint = matches
33
33
+
.get_one::<PathBuf>("mountpoint")
34
34
+
.map(ToOwned::to_owned)
35
35
+
.unwrap_or(PathBuf::from(&handle));
36
36
+
let _ = std::fs::create_dir_all(&mountpoint);
37
37
+
let resolver = resolver::id_resolver();
38
38
+
let id = rt.block_on(async {
39
39
+
resolver
40
40
+
.resolve(&atrium_api::types::string::Handle::new(handle.into()).unwrap())
41
41
+
.await
42
42
+
.unwrap()
43
43
+
});
44
44
+
45
45
+
let pb = ProgressBar::new_spinner();
46
46
+
pb.set_style(
47
47
+
ProgressStyle::default_spinner()
48
48
+
.template("{spinner:.green} [{elapsed_precise}] {msg}")
49
49
+
.unwrap()
50
50
+
.tick_strings(&["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]),
51
51
+
);
52
52
+
53
53
+
let bytes = rt.block_on(cached_download(&id, &pb)).unwrap();
54
54
+
let store = rt.block_on(async { CarStore::open(Cursor::new(bytes)).await.unwrap() });
55
55
+
let root = store.roots().next().unwrap();
56
56
+
let repo = rt.block_on(async { Repository::open(store, root).await.unwrap() });
57
57
+
58
58
+
// construct the fs
59
59
+
let fs = rt.block_on(fs::PdsFs::new(repo));
60
60
+
61
61
+
// mount
62
62
+
let options = vec![MountOption::RO, MountOption::FSName("pdsfs".to_string())];
63
63
+
let join_handle = fuser::spawn_mount2(fs, &mountpoint, &options).unwrap();
64
64
+
65
65
+
println!("mounted at {mountpoint:?}");
66
66
+
print!("hit enter to unmount and exit...");
67
67
+
std::io::stdout().flush().unwrap();
68
68
+
69
69
+
// Wait for user input
70
70
+
let mut input = String::new();
71
71
+
std::io::stdin().read_line(&mut input).unwrap();
72
72
+
73
73
+
join_handle.join();
74
74
+
std::fs::remove_dir(&mountpoint).unwrap();
75
75
+
76
76
+
println!("unmounted {mountpoint:?}");
77
77
+
}
78
78
+
79
79
+
async fn cached_download(id: &ResolvedIdentity, pb: &ProgressBar) -> Result<Vec<u8>, error::Error> {
80
80
+
let dirs = BaseDirectories::new();
81
81
+
82
82
+
let dir = dirs.get_data_home().expect("$HOME is absent").join("pdsfs");
83
83
+
tokio::fs::create_dir_all(&dir).await?;
84
84
+
85
85
+
let file = dir.join(&id.did);
86
86
+
let exists = std::fs::exists(&file)?;
87
87
+
88
88
+
let bytes = if !exists {
89
89
+
pb.set_message(format!("downloading CAR file for\t...\t{}", id.did));
90
90
+
download_car_file(id, pb).await?
91
91
+
} else {
92
92
+
pb.set_message(format!("using cached CAR file for\t...\t{}", id.did));
93
93
+
tokio::fs::read(file).await?
94
94
+
};
95
95
+
96
96
+
pb.set_message(format!(
97
97
+
"received {} bytes for \t...\t{}",
98
98
+
bytes.len(),
99
99
+
id.did
100
100
+
));
101
101
+
Ok(bytes)
102
102
+
}
103
103
+
104
104
+
async fn download_car_file(
105
105
+
id: &ResolvedIdentity,
106
106
+
pb: &ProgressBar,
107
107
+
) -> Result<Vec<u8>, error::Error> {
108
108
+
// download the entire car file first before mounting it as a fusefs
109
109
+
let client = AtpServiceClient::new(IsahcClient::new(&id.pds));
110
110
+
let did = types::string::Did::new(id.did.clone()).unwrap();
111
111
+
112
112
+
let bytes = client
113
113
+
.service
114
114
+
.com
115
115
+
.atproto
116
116
+
.sync
117
117
+
.get_repo(com::atproto::sync::get_repo::Parameters::from(
118
118
+
com::atproto::sync::get_repo::ParametersData { did, since: None },
119
119
+
))
120
120
+
.await?;
121
121
+
122
122
+
pb.finish_with_message(format!("download complete for \t...\t{}", id.did));
123
123
+
124
124
+
Ok(bytes)
125
125
+
}
+57
src/resolver.rs
···
1
1
+
use std::sync::Arc;
2
2
+
3
3
+
use crate::client::DefaultHttpClient;
4
4
+
5
5
+
use atrium_identity::{
6
6
+
did::{CommonDidResolver, CommonDidResolverConfig, DEFAULT_PLC_DIRECTORY_URL},
7
7
+
handle::{AtprotoHandleResolver, AtprotoHandleResolverConfig, DnsTxtResolver},
8
8
+
identity_resolver::{IdentityResolver, IdentityResolverConfig},
9
9
+
};
10
10
+
use hickory_resolver::TokioResolver;
11
11
+
12
12
+
pub struct HickoryDnsTxtResolver {
13
13
+
resolver: TokioResolver,
14
14
+
}
15
15
+
16
16
+
impl Default for HickoryDnsTxtResolver {
17
17
+
fn default() -> Self {
18
18
+
let resolver = TokioResolver::builder_tokio()
19
19
+
.expect("failed to create resolver")
20
20
+
.build();
21
21
+
Self { resolver }
22
22
+
}
23
23
+
}
24
24
+
25
25
+
impl DnsTxtResolver for HickoryDnsTxtResolver {
26
26
+
async fn resolve(
27
27
+
&self,
28
28
+
query: &str,
29
29
+
) -> core::result::Result<Vec<String>, Box<dyn std::error::Error + Send + Sync + 'static>> {
30
30
+
Ok(self
31
31
+
.resolver
32
32
+
.txt_lookup(query)
33
33
+
.await?
34
34
+
.iter()
35
35
+
.map(|txt| txt.to_string())
36
36
+
.collect())
37
37
+
}
38
38
+
}
39
39
+
40
40
+
pub fn id_resolver() -> IdentityResolver<
41
41
+
CommonDidResolver<DefaultHttpClient>,
42
42
+
AtprotoHandleResolver<HickoryDnsTxtResolver, DefaultHttpClient>,
43
43
+
> {
44
44
+
let http_client = Arc::new(DefaultHttpClient::default());
45
45
+
let handle_resolver = AtprotoHandleResolver::new(AtprotoHandleResolverConfig {
46
46
+
dns_txt_resolver: HickoryDnsTxtResolver::default(),
47
47
+
http_client: Arc::clone(&http_client),
48
48
+
});
49
49
+
let did_resolver = CommonDidResolver::new(CommonDidResolverConfig {
50
50
+
plc_directory_url: DEFAULT_PLC_DIRECTORY_URL.into(),
51
51
+
http_client: Arc::clone(&http_client),
52
52
+
});
53
53
+
IdentityResolver::new(IdentityResolverConfig {
54
54
+
did_resolver,
55
55
+
handle_resolver,
56
56
+
})
57
57
+
}