Integrate Onde LLM engine and update ACP agent skeleton
- Add Onde as a git dependency and patch core2 for CI builds - Remove .agents/resources.md (moved to docs or obsolete) - Expand and clarify ACP agent implementation notes in SKILL.md - Load and run a local LLM via Onde in main.rs - Replace echo reply with streaming LLM output in prompt handler - Add setup module for model loading and HF cache config - Update Cargo.lock for new dependencies
Seto Elkahfi committed
Apr 14, 2026 at 21:10 UTC
d7c0d1d21ecb94a59fc50a0e0eae3fcfbe07dc35
5 files changed
+7339
-593
.agents/resources.md
deleted
-22
@@ -1,22 +0,0 @@
1
-# siGit: ACP-compatible coding agent
2
-
3
-Coding agent example:
4
-
5
-- https://github.com/openai/codex
6
-- https://github.com/anthropics/claude-code
7
-
8
-## ACP Resources
9
-
10
-Official page:
11
-- https://zed.dev/acp
12
-- https://blog.jetbrains.com/ai/2025/10/jetbrains-zed-open-interoperability-for-ai-coding-agents-in-your-ide/
13
-
14
-## Community discussion
15
-
16
-- https://www.reddit.com/r/ZedEditor/comments/1nt27nv/acp_mcp_llm_tool_use_im_confused/
17
-
18
-## Example ACP implementation
19
-
20
-- https://github.com/zed-industries/codex-acp
21
-- https://opencode.ai/docs/acp/
22
--
.agents/skills/agent-client-protocol/SKILL.md
+68
-49
@@ -2,9 +2,9 @@
2
3
## Overview
4
5
-ACP is a JSON-RPC 2.0 protocol over **stdio** that lets AI coding agents integrate
6
-with editors (Zed, JetBrains, Neovim, etc.). The agent is a subprocess; the editor
7
-is the client. Communication is newline-delimited JSON on stdin/stdout.
5
+ACP is a JSON-RPC 2.0 protocol over **stdio** for integrating AI coding agents
6
+with editors (Zed, JetBrains, Neovim, etc.). The agent runs as a subprocess;
7
+the editor is the client. Communication is newline-delimited JSON on stdin/stdout.
8
9
Crate: `agent-client-protocol = "0.10.4"` (latest as of 2025)
10
Docs: https://docs.rs/agent-client-protocol
@@ -18,7 +18,7 @@ Spec: https://agentclientprotocol.com
18
[dependencies]
19
agent-client-protocol = "0.10.4"
20
async-trait = "0.1"
21
-tokio = { version = "1", features = ["rt", "macros", "io-std", "io-util", "sync"] }
21
+tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "io-std", "io-util", "sync"] }
22
tokio-util = { version = "0.7", features = ["compat"] }
23
futures = "0.3"
24
```
@@ -27,8 +27,8 @@ futures = "0.3"
27
28
## The `Agent` trait
29
30
-Defined as `#[async_trait::async_trait(?Send)]` — futures are `!Send`.
31
-You **must** annotate your impl the same way:
30
+Declared `#[async_trait::async_trait(?Send)]` — futures are `!Send`.
31
+Your impl needs the same annotation:
32
33
```rust
34
#[async_trait::async_trait(?Send)]
@@ -42,31 +42,34 @@ impl Agent for MyAgent {
42
}
43
```
44
45
-**Mandatory** to implement: `initialize`, `authenticate`, `new_session`, `prompt`, `cancel`.
46
-All others (`load_session`, `set_session_mode`, etc.) have default `Err(method_not_found)` impls.
45
+You must implement `initialize`, `authenticate`, `new_session`, `prompt`, and `cancel`.
46
+Everything else (`load_session`, `set_session_mode`, etc.) defaults to `Err(method_not_found)`.
47
48
---
49
50
-## Key types and their builders
50
+## Types and their builders
51
52
-All `#[non_exhaustive]` structs must be constructed via their builder methods, NOT
53
-struct literal syntax.
52
+All `#[non_exhaustive]` structs require builder methods — struct literal syntax won't compile.
53
54
### `InitializeRequest` / `InitializeResponse`
55
56
```rust
58
-// Request field you need:
59
-args.protocol_version // type: ProtocolVersion — echo it back
60
-
61
-// Response builder:
62
-InitializeResponse::new(args.protocol_version)
57
+// Response builder — use ProtocolVersion::V1, NOT args.protocol_version:
58
+InitializeResponse::new(ProtocolVersion::V1)
59
.agent_info(
60
Implementation::new("my-agent", env!("CARGO_PKG_VERSION"))
65
- .title("My Agent — Description"),
61
+ .title("My Agent"),
62
)
63
+ .auth_methods(vec![AuthMethod::Agent(AuthMethodAgent::new(
64
+ "my-agent", "My Agent",
65
+ ))])
66
.agent_capabilities(AgentCapabilities::default())
67
```
68
69
+`auth_methods` must include at least one `AuthMethod::Agent` or Zed hangs on
70
+"Loading…" forever. Import `AuthMethod`, `AuthMethodAgent`, and `ProtocolVersion`
71
+from the crate.
72
+
73
### `AuthenticateResponse`
74
75
```rust
@@ -80,8 +83,8 @@ let session_id = SessionId::new(uuid::Uuid::new_v4().to_string());
83
Ok(NewSessionResponse::new(session_id))
84
```
85
83
-`SessionId` is a newtype. It implements `Clone`, `PartialEq`, `Display`, `Into<String>`,
84
-and `AsRef<str>`. Store it directly (not as `String`) so `==` comparisons work.
86
+`SessionId` is a newtype with `Clone`, `PartialEq`, `Display`, `Into<String>`,
87
+and `AsRef<str>`. Store it as-is (not as `String`) so `==` works directly.
88
89
### `PromptRequest`
90
@@ -119,11 +122,11 @@ match block {
122
ContentBlock::Text(t) => t.text.as_str(),
123
ContentBlock::ResourceLink(_) => ...,
124
ContentBlock::Resource(_) => ...,
122
- _ => ..., // non_exhaustive — always need wildcard
125
+ _ => ..., // non_exhaustive — always need a wildcard
126
}
127
```
128
126
-### `ContentChunk` + `SessionUpdate` — for streaming
129
+### `ContentChunk` + `SessionUpdate` — streaming
130
131
```rust
132
let chunk = ContentChunk::new(ContentBlock::from(delta_text));
@@ -135,7 +138,7 @@ let update = SessionUpdate::AgentMessageChunk(chunk);
138
139
```rust
140
let notification = SessionNotification::new(session_id.clone(), update);
138
-// Then deliver via AgentSideConnection::session_notification()
141
+// Deliver via AgentSideConnection::session_notification()
142
```
143
144
### `Error`
@@ -155,17 +158,17 @@ agent_client_protocol::Error::method_not_found()
158
159
## Running the agent — `AgentSideConnection`
160
158
-The ACP connection wraps stdin/stdout with JSON-RPC machinery.
161
+Wraps stdin/stdout with JSON-RPC machinery.
162
163
```rust
164
use futures::future::LocalBoxFuture;
165
use tokio_util::compat::{TokioAsyncReadCompatExt, TokioAsyncWriteCompatExt};
166
164
-// Adapt tokio I/O to futures AsyncRead/AsyncWrite (required by the SDK)
167
+// Adapt tokio I/O to futures AsyncRead/AsyncWrite (the SDK expects these)
168
let stdin = tokio::io::stdin().compat();
169
let stdout = tokio::io::stdout().compat_write();
170
168
-// MUST run inside a LocalSet because the spawn fn takes LocalBoxFuture (!Send)
171
+// Must run inside a LocalSet — the spawn fn takes LocalBoxFuture (!Send)
172
let local = tokio::task::LocalSet::new();
173
local.run_until(async move {
174
let (conn, io_task) = AgentSideConnection::new(
@@ -183,19 +186,18 @@ local.run_until(async move {
186
}).await;
187
```
188
186
-**Key facts:**
187
-- `AgentSideConnection::new` returns `(conn, io_task)` — both are needed.
188
-- `io_task` drives the actual IO. `conn` is used to send notifications.
189
-- The `spawn` closure receives `LocalBoxFuture<'static, ()>` (not Send) — use
190
- `tokio::task::spawn_local`, not `tokio::spawn`.
191
-- The whole thing must run inside `tokio::task::LocalSet::new().run_until(...)`.
189
+`AgentSideConnection::new` returns `(conn, io_task)` — you need both. `io_task`
190
+drives the actual IO; `conn` sends notifications. The spawn closure gets
191
+`LocalBoxFuture<'static, ()>` (not Send), so use `tokio::task::spawn_local`,
192
+not `tokio::spawn`. Everything must sit inside
193
+`tokio::task::LocalSet::new().run_until(...)`.
194
195
---
196
197
## Streaming — circular dependency pattern
198
197
-`Agent::prompt()` needs to send `SessionNotification` via the connection, but the
198
-connection is created *from* the agent. Solve with an **mpsc channel forwarder**:
199
+`Agent::prompt()` needs to send `SessionNotification` through the connection,
200
+but the connection is built *from* the agent. Break the cycle with an mpsc channel:
201
202
```rust
203
// 1. Create channel BEFORE the agent
@@ -220,7 +222,7 @@ tokio::task::spawn_local(async move {
222
io_task.await;
223
```
224
223
-Inside `prompt()`, send chunks through the channel:
225
+Inside `prompt()`, push chunks through the channel:
226
```rust
227
self.notification_tx.send(SessionNotification::new(
228
session_id.clone(),
@@ -232,7 +234,7 @@ self.notification_tx.send(SessionNotification::new(
234
235
## Logging
236
235
-Always log to **stderr** — stdout is reserved for ACP JSON-RPC:
237
+Log to **stderr** — stdout is the ACP JSON-RPC wire:
238
239
```rust
240
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
@@ -242,14 +244,17 @@ env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info
244
245
---
246
245
-## Complete protocol flow
247
+## Protocol flow
248
249
```
248
-Editor siGit
250
+Editor Agent
251
│ │
252
│── initialize ────────────────►│ (negotiate version + capabilities)
253
│◄─ InitializeResponse ─────────│
254
│ │
255
+ │── authenticate ──────────────►│ (method_id from authMethods)
256
+ │◄─ AuthenticateResponse ───────│
257
+ │ │
258
│── session/new ───────────────►│ (create session, load model)
259
│◄─ NewSessionResponse ─────────│
260
│ │
@@ -270,8 +275,8 @@ Editor siGit
275
{
276
"agent_servers": {
277
"MyAgent": {
273
- "command": "/path/to/binary",
274
- "args": []
278
+ "type": "custom",
279
+ "command": "/path/to/binary"
280
}
281
}
282
}
@@ -281,15 +286,29 @@ Editor siGit
286
287
## Gotchas
288
284
-1. **`Error::internal()` does NOT exist** — use `Error::new(-32603, msg)`.
285
-2. **All protocol structs are `#[non_exhaustive]`** — always use builder methods,
286
- never struct literal syntax. Always add `_ => ...` wildcard when matching.
289
+1. **`Error::internal()` doesn't exist** — use `Error::new(-32603, msg)`.
290
+2. **All protocol structs are `#[non_exhaustive]`** — use builder methods,
291
+ never struct literals. Add `_ => ...` wildcards when matching.
292
3. **`LocalBoxFuture` is `!Send`** — `tokio::spawn` won't work; use
293
`tokio::task::spawn_local` inside a `LocalSet`.
289
-4. **`tokio::task::spawn_local` panics outside a `LocalSet`** — wrap everything
290
- in `LocalSet::new().run_until(async { ... }).await`.
291
-5. **`SessionId` should be stored as `SessionId`**, not converted to `String`,
292
- so `==` comparisons work directly.
293
-6. **One session per connection is the MVP norm** — reuse the model with
294
- `clear_history()` rather than loading it again.
295
-7. **`AgentCapabilities::default()` exists** — returns all capabilities as None/false.
\ No newline at end of file
294
+4. **`tokio::task::spawn_local` panics outside a `LocalSet`** — wrap with
295
+ `LocalSet::new().run_until(async { ... }).await`.
296
+5. **Store `SessionId` as `SessionId`**, not `String` — otherwise `==`
297
+ comparisons get annoying.
298
+6. **One session per connection is fine for MVP** — reuse the model with
299
+ `clear_history()` instead of reloading.
300
+7. **`AgentCapabilities::default()` exists** — all capabilities None/false.
301
+8. **`block_in_place` panics inside `spawn_local`** — dependencies that call
302
+ `tokio::task::block_in_place` internally (e.g. `mistralrs`) will blow up
303
+ with "can call blocking only when running on the multi-threaded runtime"
304
+ from a `spawn_local` task. Fix: do the blocking work *before* entering
305
+ the `LocalSet`, while you're still on a normal multi-thread worker, then
306
+ pass the result into your agent struct.
307
+9. **Empty `authMethods` hangs Zed** — `InitializeResponse` with an empty
308
+ `auth_methods` vec makes Zed show "Loading…" forever. Always include at
309
+ least one `AuthMethod::Agent(AuthMethodAgent::new("id", "Name"))`.
310
+ Import `AuthMethod`, `AuthMethodAgent`, and `ProtocolVersion` from the crate.
311
+10. **Never write to stdout except JSON-RPC** — any library that prints to
312
+ stdout (`mistralrs` model metadata, stray `println!`, whatever) will
313
+ corrupt the wire. Redirect diagnostics to stderr. If a dependency writes
314
+ to stdout internally, fix it or suppress it before shipping.
\ No newline at end of file
Cargo.lock
+7168
-491
@@ -2,6 +2,22 @@
2
# It is not intended for manual editing.
3
version = 4
4
5
+[[package]]
6
+name = "Inflector"
7
+version = "0.11.4"
8
+source = "registry+https://github.com/rust-lang/crates.io-index"
9
+checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
10
+dependencies = [
11
+ "lazy_static",
12
+ "regex",
13
+]
14
+
15
+[[package]]
16
+name = "adler2"
17
+version = "2.0.1"
18
+source = "registry+https://github.com/rust-lang/crates.io-index"
19
+checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
20
+
21
[[package]]
22
name = "agent-client-protocol"
23
version = "0.10.4"
@@ -27,10 +43,24 @@ checksum = "ca68e7e55681ce56546c0cecc6bc8f20493d24b44c6d93ec46174f310730bba2"
43
dependencies = [
44
"anyhow",
45
"derive_more",
30
- "schemars",
46
+ "schemars 1.2.1",
47
"serde",
48
"serde_json",
33
- "strum",
49
+ "strum 0.28.0",
50
+]
51
+
52
+[[package]]
53
+name = "ahash"
54
+version = "0.8.12"
55
+source = "registry+https://github.com/rust-lang/crates.io-index"
56
+checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
57
+dependencies = [
58
+ "cfg-if",
59
+ "getrandom 0.3.4",
60
+ "once_cell",
61
+ "serde",
62
+ "version_check",
63
+ "zerocopy",
64
]
65
66
[[package]]
@@ -42,6 +72,65 @@ dependencies = [
72
"memchr",
73
]
74
75
+[[package]]
76
+name = "akin"
77
+version = "0.4.0"
78
+source = "registry+https://github.com/rust-lang/crates.io-index"
79
+checksum = "1763692fc1416554cf051efc56a3de5595eca47299d731cc5c2b583adf8b4d2f"
80
+
81
+[[package]]
82
+name = "aligned"
83
+version = "0.4.3"
84
+source = "registry+https://github.com/rust-lang/crates.io-index"
85
+checksum = "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685"
86
+dependencies = [
87
+ "as-slice",
88
+]
89
+
90
+[[package]]
91
+name = "aligned-vec"
92
+version = "0.6.4"
93
+source = "registry+https://github.com/rust-lang/crates.io-index"
94
+checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b"
95
+dependencies = [
96
+ "equator",
97
+]
98
+
99
+[[package]]
100
+name = "allocator-api2"
101
+version = "0.2.21"
102
+source = "registry+https://github.com/rust-lang/crates.io-index"
103
+checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
104
+
105
+[[package]]
106
+name = "android_system_properties"
107
+version = "0.1.5"
108
+source = "registry+https://github.com/rust-lang/crates.io-index"
109
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
110
+dependencies = [
111
+ "libc",
112
+]
113
+
114
+[[package]]
115
+name = "annotate-snippets"
116
+version = "0.12.15"
117
+source = "registry+https://github.com/rust-lang/crates.io-index"
118
+checksum = "92570a3f9c98e7e84df84b71d0965ac99b1871fcd75a3773a3bd1bad13f64cf7"
119
+dependencies = [
120
+ "anstyle",
121
+ "memchr",
122
+ "unicode-width 0.2.2",
123
+]
124
+
125
+[[package]]
126
+name = "ansi_term"
127
+version = "0.12.1"
128
+source = "registry+https://github.com/rust-lang/crates.io-index"
129
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
130
+dependencies = [
131
+ "winapi",
132
+]
133
+
134
[[package]]
135
name = "anstream"
136
version = "1.0.0"
@@ -78,7 +167,7 @@ version = "1.1.5"
167
source = "registry+https://github.com/rust-lang/crates.io-index"
168
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
169
dependencies = [
81
- "windows-sys",
170
+ "windows-sys 0.61.2",
171
]
172
173
[[package]]
@@ -89,7 +178,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
178
dependencies = [
179
"anstyle",
180
"once_cell_polyfill",
92
- "windows-sys",
181
+ "windows-sys 0.61.2",
182
]
183
184
[[package]]
@@ -99,835 +188,7248 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
188
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
189
190
[[package]]
102
-name = "async-broadcast"
103
-version = "0.7.2"
191
+name = "apodize"
192
+version = "1.0.0"
193
source = "registry+https://github.com/rust-lang/crates.io-index"
105
-checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532"
194
+checksum = "fca387cdc0a1f9c7a7c26556d584aa2d07fc529843082e4861003cde4ab914ed"
195
+
196
+[[package]]
197
+name = "approx"
198
+version = "0.5.1"
199
+source = "registry+https://github.com/rust-lang/crates.io-index"
200
+checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
201
dependencies = [
107
- "event-listener",
108
- "event-listener-strategy",
109
- "futures-core",
110
- "pin-project-lite",
202
+ "num-traits",
203
]
204
205
[[package]]
114
-name = "async-trait"
115
-version = "0.1.89"
206
+name = "arbitrary"
207
+version = "1.4.2"
208
source = "registry+https://github.com/rust-lang/crates.io-index"
117
-checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
209
+checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
210
+
211
+[[package]]
212
+name = "arg_enum_proc_macro"
213
+version = "0.3.4"
214
+source = "registry+https://github.com/rust-lang/crates.io-index"
215
+checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
216
dependencies = [
217
"proc-macro2",
218
"quote",
121
- "syn",
219
+ "syn 2.0.117",
220
]
221
222
[[package]]
125
-name = "bitflags"
126
-version = "2.11.0"
223
+name = "arraydeque"
224
+version = "0.5.1"
225
source = "registry+https://github.com/rust-lang/crates.io-index"
128
-checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
226
+checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236"
227
228
[[package]]
131
-name = "bumpalo"
132
-version = "3.20.2"
229
+name = "arrayvec"
230
+version = "0.7.6"
231
source = "registry+https://github.com/rust-lang/crates.io-index"
134
-checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
232
+checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
233
234
[[package]]
137
-name = "bytes"
138
-version = "1.11.1"
235
+name = "as-any"
236
+version = "0.3.2"
237
source = "registry+https://github.com/rust-lang/crates.io-index"
140
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
238
+checksum = "b0f477b951e452a0b6b4a10b53ccd569042d1d01729b519e02074a9c0958a063"
239
240
[[package]]
143
-name = "cfg-if"
144
-version = "1.0.4"
241
+name = "as-slice"
242
+version = "0.2.1"
243
source = "registry+https://github.com/rust-lang/crates.io-index"
146
-checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
244
+checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516"
245
+dependencies = [
246
+ "stable_deref_trait",
247
+]
248
249
[[package]]
149
-name = "colorchoice"
150
-version = "1.0.5"
250
+name = "askama"
251
+version = "0.14.0"
252
source = "registry+https://github.com/rust-lang/crates.io-index"
152
-checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
253
+checksum = "f75363874b771be265f4ffe307ca705ef6f3baa19011c149da8674a87f1b75c4"
254
+dependencies = [
255
+ "askama_derive",
256
+ "itoa",
257
+ "percent-encoding",
258
+ "serde",
259
+ "serde_json",
260
+]
261
262
[[package]]
155
-name = "concurrent-queue"
156
-version = "2.5.0"
263
+name = "askama_derive"
264
+version = "0.14.0"
265
source = "registry+https://github.com/rust-lang/crates.io-index"
158
-checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
266
+checksum = "129397200fe83088e8a68407a8e2b1f826cf0086b21ccdb866a722c8bcd3a94f"
267
dependencies = [
160
- "crossbeam-utils",
268
+ "askama_parser",
269
+ "basic-toml",
270
+ "memchr",
271
+ "proc-macro2",
272
+ "quote",
273
+ "rustc-hash 2.1.2",
274
+ "serde",
275
+ "serde_derive",
276
+ "syn 2.0.117",
277
]
278
279
[[package]]
164
-name = "convert_case"
165
-version = "0.10.0"
280
+name = "askama_parser"
281
+version = "0.14.0"
282
source = "registry+https://github.com/rust-lang/crates.io-index"
167
-checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9"
283
+checksum = "d6ab5630b3d5eaf232620167977f95eb51f3432fc76852328774afbd242d4358"
284
dependencies = [
169
- "unicode-segmentation",
285
+ "memchr",
286
+ "serde",
287
+ "serde_derive",
288
+ "winnow 0.7.15",
289
]
290
291
[[package]]
173
-name = "crossbeam-utils"
174
-version = "0.8.21"
292
+name = "async-broadcast"
293
+version = "0.7.2"
294
source = "registry+https://github.com/rust-lang/crates.io-index"
176
-checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
295
+checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532"
296
+dependencies = [
297
+ "event-listener",
298
+ "event-listener-strategy",
299
+ "futures-core",
300
+ "pin-project-lite",
301
+]
302
303
[[package]]
179
-name = "derive_more"
180
-version = "2.1.1"
304
+name = "async-compat"
305
+version = "0.2.5"
306
source = "registry+https://github.com/rust-lang/crates.io-index"
182
-checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
307
+checksum = "a1ba85bc55464dcbf728b56d97e119d673f4cf9062be330a9a26f3acf504a590"
308
dependencies = [
184
- "derive_more-impl",
309
+ "futures-core",
310
+ "futures-io",
311
+ "once_cell",
312
+ "pin-project-lite",
313
+ "tokio",
314
]
315
316
[[package]]
188
-name = "derive_more-impl"
189
-version = "2.1.1"
317
+name = "async-trait"
318
+version = "0.1.89"
319
source = "registry+https://github.com/rust-lang/crates.io-index"
191
-checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
320
+checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
321
dependencies = [
193
- "convert_case",
322
"proc-macro2",
323
"quote",
196
- "rustc_version",
197
- "syn",
198
- "unicode-xid",
324
+ "syn 2.0.117",
325
]
326
327
[[package]]
202
-name = "dyn-clone"
203
-version = "1.0.20"
328
+name = "atomic-waker"
329
+version = "1.1.2"
330
source = "registry+https://github.com/rust-lang/crates.io-index"
205
-checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
331
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
332
333
[[package]]
208
-name = "env_filter"
209
-version = "1.0.1"
334
+name = "atty"
335
+version = "0.2.14"
336
source = "registry+https://github.com/rust-lang/crates.io-index"
211
-checksum = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef"
337
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
338
dependencies = [
339
+ "hermit-abi 0.1.19",
340
+ "libc",
341
+ "winapi",
342
+]
343
+
344
+[[package]]
345
+name = "autocfg"
346
+version = "1.5.0"
347
+source = "registry+https://github.com/rust-lang/crates.io-index"
348
+checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
349
+
350
+[[package]]
351
+name = "av-scenechange"
352
+version = "0.14.1"
353
+source = "registry+https://github.com/rust-lang/crates.io-index"
354
+checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394"
355
+dependencies = [
356
+ "aligned",
357
+ "anyhow",
358
+ "arg_enum_proc_macro",
359
+ "arrayvec",
360
"log",
214
- "regex",
361
+ "num-rational",
362
+ "num-traits",
363
+ "pastey",
364
+ "rayon",
365
+ "thiserror 2.0.18",
366
+ "v_frame",
367
+ "y4m",
368
]
369
370
[[package]]
218
-name = "env_logger"
219
-version = "0.11.10"
371
+name = "av1-grain"
372
+version = "0.2.5"
373
source = "registry+https://github.com/rust-lang/crates.io-index"
221
-checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a"
374
+checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8"
375
dependencies = [
223
- "anstream",
224
- "anstyle",
225
- "env_filter",
226
- "jiff",
376
+ "anyhow",
377
+ "arrayvec",
378
"log",
379
+ "nom 8.0.0",
380
+ "num-rational",
381
+ "v_frame",
382
]
383
384
[[package]]
231
-name = "equivalent"
232
-version = "1.0.2"
385
+name = "avif-serialize"
386
+version = "0.8.8"
387
source = "registry+https://github.com/rust-lang/crates.io-index"
234
-checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
388
+checksum = "375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d"
389
+dependencies = [
390
+ "arrayvec",
391
+]
392
393
[[package]]
237
-name = "event-listener"
238
-version = "5.4.1"
394
+name = "aws-lc-rs"
395
+version = "1.16.2"
396
source = "registry+https://github.com/rust-lang/crates.io-index"
240
-checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab"
397
+checksum = "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc"
398
dependencies = [
242
- "concurrent-queue",
243
- "parking",
244
- "pin-project-lite",
399
+ "aws-lc-sys",
400
+ "zeroize",
401
]
402
403
[[package]]
248
-name = "event-listener-strategy"
249
-version = "0.5.4"
404
+name = "aws-lc-sys"
405
+version = "0.39.1"
406
source = "registry+https://github.com/rust-lang/crates.io-index"
251
-checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
407
+checksum = "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399"
408
dependencies = [
253
- "event-listener",
254
- "pin-project-lite",
409
+ "cc",
410
+ "cmake",
411
+ "dunce",
412
+ "fs_extra",
413
]
414
415
[[package]]
258
-name = "foldhash"
259
-version = "0.1.5"
416
+name = "base64"
417
+version = "0.13.1"
418
source = "registry+https://github.com/rust-lang/crates.io-index"
261
-checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
419
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
420
421
[[package]]
264
-name = "futures"
265
-version = "0.3.32"
422
+name = "base64"
423
+version = "0.22.1"
424
source = "registry+https://github.com/rust-lang/crates.io-index"
267
-checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
268
-dependencies = [
269
- "futures-channel",
270
- "futures-core",
271
- "futures-executor",
272
- "futures-io",
273
- "futures-sink",
274
- "futures-task",
275
- "futures-util",
276
-]
425
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
426
427
[[package]]
279
-name = "futures-channel"
280
-version = "0.3.32"
428
+name = "basic-toml"
429
+version = "0.1.10"
430
source = "registry+https://github.com/rust-lang/crates.io-index"
282
-checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
431
+checksum = "ba62675e8242a4c4e806d12f11d136e626e6c8361d6b829310732241652a178a"
432
dependencies = [
284
- "futures-core",
285
- "futures-sink",
433
+ "serde",
434
]
435
436
[[package]]
289
-name = "futures-core"
290
-version = "0.3.32"
437
+name = "bit-set"
438
+version = "0.5.3"
439
source = "registry+https://github.com/rust-lang/crates.io-index"
292
-checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
440
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
441
+dependencies = [
442
+ "bit-vec 0.6.3",
443
+]
444
445
[[package]]
295
-name = "futures-executor"
296
-version = "0.3.32"
446
+name = "bit-set"
447
+version = "0.8.0"
448
source = "registry+https://github.com/rust-lang/crates.io-index"
298
-checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
449
+checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
450
dependencies = [
300
- "futures-core",
301
- "futures-task",
302
- "futures-util",
451
+ "bit-vec 0.8.0",
452
]
453
454
[[package]]
306
-name = "futures-io"
307
-version = "0.3.32"
455
+name = "bit-vec"
456
+version = "0.6.3"
457
source = "registry+https://github.com/rust-lang/crates.io-index"
309
-checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
458
+checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
459
460
[[package]]
312
-name = "futures-macro"
313
-version = "0.3.32"
461
+name = "bit-vec"
462
+version = "0.8.0"
463
source = "registry+https://github.com/rust-lang/crates.io-index"
315
-checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
316
-dependencies = [
317
- "proc-macro2",
318
- "quote",
319
- "syn",
320
-]
464
+checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
465
466
[[package]]
323
-name = "futures-sink"
324
-version = "0.3.32"
467
+name = "bit_field"
468
+version = "0.10.3"
469
source = "registry+https://github.com/rust-lang/crates.io-index"
326
-checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
470
+checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6"
471
472
[[package]]
329
-name = "futures-task"
330
-version = "0.3.32"
473
+name = "bitflags"
474
+version = "1.3.2"
475
source = "registry+https://github.com/rust-lang/crates.io-index"
332
-checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
476
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
477
478
[[package]]
335
-name = "futures-util"
336
-version = "0.3.32"
479
+name = "bitflags"
480
+version = "2.11.0"
481
source = "registry+https://github.com/rust-lang/crates.io-index"
338
-checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
339
-dependencies = [
340
- "futures-channel",
341
- "futures-core",
342
- "futures-io",
343
- "futures-macro",
344
- "futures-sink",
345
- "futures-task",
346
- "memchr",
347
- "pin-project-lite",
348
- "slab",
349
-]
482
+checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
483
484
[[package]]
352
-name = "getrandom"
353
-version = "0.4.2"
485
+name = "bitstream-io"
486
+version = "4.9.0"
487
source = "registry+https://github.com/rust-lang/crates.io-index"
355
-checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
488
+checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757"
489
dependencies = [
357
- "cfg-if",
358
- "libc",
359
- "r-efi",
360
- "wasip2",
361
- "wasip3",
490
+ "core2",
491
]
492
493
[[package]]
365
-name = "hashbrown"
366
-version = "0.15.5"
494
+name = "block"
495
+version = "0.1.6"
496
source = "registry+https://github.com/rust-lang/crates.io-index"
368
-checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
369
-dependencies = [
370
- "foldhash",
497
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
498
+
499
+[[package]]
500
+name = "block-buffer"
501
+version = "0.10.4"
502
+source = "registry+https://github.com/rust-lang/crates.io-index"
503
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
504
+dependencies = [
505
+ "generic-array",
506
+]
507
+
508
+[[package]]
509
+name = "block2"
510
+version = "0.6.2"
511
+source = "registry+https://github.com/rust-lang/crates.io-index"
512
+checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5"
513
+dependencies = [
514
+ "objc2",
515
+]
516
+
517
+[[package]]
518
+name = "bm25"
519
+version = "2.3.2"
520
+source = "registry+https://github.com/rust-lang/crates.io-index"
521
+checksum = "1cbd8ffdfb7b4c2ff038726178a780a94f90525ed0ad264c0afaa75dd8c18a64"
522
+dependencies = [
523
+ "cached",
524
+ "deunicode",
525
+ "fxhash",
526
+ "rust-stemmers",
527
+ "stop-words",
528
+ "unicode-segmentation",
529
+]
530
+
531
+[[package]]
532
+name = "bstr"
533
+version = "1.12.1"
534
+source = "registry+https://github.com/rust-lang/crates.io-index"
535
+checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
536
+dependencies = [
537
+ "memchr",
538
+ "regex-automata",
539
+ "serde",
540
+]
541
+
542
+[[package]]
543
+name = "built"
544
+version = "0.8.0"
545
+source = "registry+https://github.com/rust-lang/crates.io-index"
546
+checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64"
547
+
548
+[[package]]
549
+name = "bumpalo"
550
+version = "3.20.2"
551
+source = "registry+https://github.com/rust-lang/crates.io-index"
552
+checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
553
+
554
+[[package]]
555
+name = "bytemuck"
556
+version = "1.25.0"
557
+source = "registry+https://github.com/rust-lang/crates.io-index"
558
+checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
559
+dependencies = [
560
+ "bytemuck_derive",
561
+]
562
+
563
+[[package]]
564
+name = "bytemuck_derive"
565
+version = "1.10.2"
566
+source = "registry+https://github.com/rust-lang/crates.io-index"
567
+checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
568
+dependencies = [
569
+ "proc-macro2",
570
+ "quote",
571
+ "syn 2.0.117",
572
+]
573
+
574
+[[package]]
575
+name = "byteorder"
576
+version = "1.5.0"
577
+source = "registry+https://github.com/rust-lang/crates.io-index"
578
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
579
+
580
+[[package]]
581
+name = "byteorder-lite"
582
+version = "0.1.0"
583
+source = "registry+https://github.com/rust-lang/crates.io-index"
584
+checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
585
+
586
+[[package]]
587
+name = "bytes"
588
+version = "1.11.1"
589
+source = "registry+https://github.com/rust-lang/crates.io-index"
590
+checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
591
+
592
+[[package]]
593
+name = "cached"
594
+version = "0.56.0"
595
+source = "registry+https://github.com/rust-lang/crates.io-index"
596
+checksum = "801927ee168e17809ab8901d9f01f700cd7d8d6a6527997fee44e4b0327a253c"
597
+dependencies = [
598
+ "ahash",
599
+ "cached_proc_macro",
600
+ "cached_proc_macro_types",
601
+ "hashbrown 0.15.5",
602
+ "once_cell",
603
+ "thiserror 2.0.18",
604
+ "web-time",
605
+]
606
+
607
+[[package]]
608
+name = "cached_proc_macro"
609
+version = "0.25.0"
610
+source = "registry+https://github.com/rust-lang/crates.io-index"
611
+checksum = "9225bdcf4e4a9a4c08bf16607908eb2fbf746828d5e0b5e019726dbf6571f201"
612
+dependencies = [
613
+ "darling 0.20.11",
614
+ "proc-macro2",
615
+ "quote",
616
+ "syn 2.0.117",
617
+]
618
+
619
+[[package]]
620
+name = "cached_proc_macro_types"
621
+version = "0.1.1"
622
+source = "registry+https://github.com/rust-lang/crates.io-index"
623
+checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0"
624
+
625
+[[package]]
626
+name = "camino"
627
+version = "1.2.2"
628
+source = "registry+https://github.com/rust-lang/crates.io-index"
629
+checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48"
630
+dependencies = [
631
+ "serde_core",
632
+]
633
+
634
+[[package]]
635
+name = "candle-core"
636
+version = "0.10.2"
637
+source = "registry+https://github.com/rust-lang/crates.io-index"
638
+checksum = "6bd9895436c1ba5dc1037a19935d084b838db066ff4e15ef7dded020b7c12a4a"
639
+dependencies = [
640
+ "byteorder",
641
+ "candle-metal-kernels",
642
+ "candle-ug",
643
+ "float8",
644
+ "gemm 0.19.0",
645
+ "half",
646
+ "libm",
647
+ "memmap2",
648
+ "num-traits",
649
+ "num_cpus",
650
+ "objc2-foundation",
651
+ "objc2-metal",
652
+ "rand 0.9.4",
653
+ "rand_distr 0.5.1",
654
+ "rayon",
655
+ "safetensors 0.7.0",
656
+ "thiserror 2.0.18",
657
+ "tokenizers 0.22.2",
658
+ "yoke 0.8.2",
659
+ "zip",
660
+]
661
+
662
+[[package]]
663
+name = "candle-metal-kernels"
664
+version = "0.10.2"
665
+source = "registry+https://github.com/rust-lang/crates.io-index"
666
+checksum = "4b6b5a4cae6b4e1ab0efcee4dc05272d11b374a3d1ba121b3a961e36be54ab60"
667
+dependencies = [
668
+ "half",
669
+ "objc2",
670
+ "objc2-foundation",
671
+ "objc2-metal",
672
+ "once_cell",
673
+ "thiserror 2.0.18",
674
+ "tracing",
675
+]
676
+
677
+[[package]]
678
+name = "candle-nn"
679
+version = "0.10.2"
680
+source = "registry+https://github.com/rust-lang/crates.io-index"
681
+checksum = "a9317a09d6530b758990ed7f625ac69ff43653bc9ee28b0464644ad1169ada87"
682
+dependencies = [
683
+ "candle-core",
684
+ "candle-metal-kernels",
685
+ "half",
686
+ "libc",
687
+ "num-traits",
688
+ "objc2-metal",
689
+ "rayon",
690
+ "safetensors 0.7.0",
691
+ "serde",
692
+ "thiserror 2.0.18",
693
+]
694
+
695
+[[package]]
696
+name = "candle-ug"
697
+version = "0.10.2"
698
+source = "registry+https://github.com/rust-lang/crates.io-index"
699
+checksum = "ca0fc3167cbc99c8ec1be618cb620aa21dca95038f118c3579a79370e3dc5f77"
700
+dependencies = [
701
+ "ug",
702
+ "ug-metal",
703
+]
704
+
705
+[[package]]
706
+name = "cargo-platform"
707
+version = "0.1.9"
708
+source = "registry+https://github.com/rust-lang/crates.io-index"
709
+checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea"
710
+dependencies = [
711
+ "serde",
712
+]
713
+
714
+[[package]]
715
+name = "cargo_metadata"
716
+version = "0.19.2"
717
+source = "registry+https://github.com/rust-lang/crates.io-index"
718
+checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba"
719
+dependencies = [
720
+ "camino",
721
+ "cargo-platform",
722
+ "semver",
723
+ "serde",
724
+ "serde_json",
725
+ "thiserror 2.0.18",
726
+]
727
+
728
+[[package]]
729
+name = "castaway"
730
+version = "0.2.4"
731
+source = "registry+https://github.com/rust-lang/crates.io-index"
732
+checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a"
733
+dependencies = [
734
+ "rustversion",
735
+]
736
+
737
+[[package]]
738
+name = "cc"
739
+version = "1.2.60"
740
+source = "registry+https://github.com/rust-lang/crates.io-index"
741
+checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20"
742
+dependencies = [
743
+ "find-msvc-tools",
744
+ "jobserver",
745
+ "libc",
746
+ "shlex",
747
+]
748
+
749
+[[package]]
750
+name = "cesu8"
751
+version = "1.1.0"
752
+source = "registry+https://github.com/rust-lang/crates.io-index"
753
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
754
+
755
+[[package]]
756
+name = "cfg-if"
757
+version = "1.0.4"
758
+source = "registry+https://github.com/rust-lang/crates.io-index"
759
+checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
760
+
761
+[[package]]
762
+name = "cfg_aliases"
763
+version = "0.2.1"
764
+source = "registry+https://github.com/rust-lang/crates.io-index"
765
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
766
+
767
+[[package]]
768
+name = "cfgrammar"
769
+version = "0.14.1"
770
+source = "registry+https://github.com/rust-lang/crates.io-index"
771
+checksum = "3efdd8f0bddcc9e33f4a664d0f28bc4e51cd5367c16284087a95313104371865"
772
+dependencies = [
773
+ "indexmap 2.14.0",
774
+ "num-traits",
775
+ "proc-macro2",
776
+ "quote",
777
+ "regex",
778
+ "vob",
779
+]
780
+
781
+[[package]]
782
+name = "chrono"
783
+version = "0.4.44"
784
+source = "registry+https://github.com/rust-lang/crates.io-index"
785
+checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
786
+dependencies = [
787
+ "iana-time-zone",
788
+ "js-sys",
789
+ "num-traits",
790
+ "serde",
791
+ "wasm-bindgen",
792
+ "windows-link 0.2.1",
793
+]
794
+
795
+[[package]]
796
+name = "clap"
797
+version = "2.34.0"
798
+source = "registry+https://github.com/rust-lang/crates.io-index"
799
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
800
+dependencies = [
801
+ "ansi_term",
802
+ "atty",
803
+ "bitflags 1.3.2",
804
+ "strsim 0.8.0",
805
+ "textwrap 0.11.0",
806
+ "unicode-width 0.1.14",
807
+ "vec_map",
808
+]
809
+
810
+[[package]]
811
+name = "clap"
812
+version = "4.6.0"
813
+source = "registry+https://github.com/rust-lang/crates.io-index"
814
+checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351"
815
+dependencies = [
816
+ "clap_builder",
817
+ "clap_derive",
818
+]
819
+
820
+[[package]]
821
+name = "clap_builder"
822
+version = "4.6.0"
823
+source = "registry+https://github.com/rust-lang/crates.io-index"
824
+checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
825
+dependencies = [
826
+ "anstream",
827
+ "anstyle",
828
+ "clap_lex",
829
+ "strsim 0.11.1",
830
+ "terminal_size",
831
+]
832
+
833
+[[package]]
834
+name = "clap_derive"
835
+version = "4.6.0"
836
+source = "registry+https://github.com/rust-lang/crates.io-index"
837
+checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a"
838
+dependencies = [
839
+ "heck 0.5.0",
840
+ "proc-macro2",
841
+ "quote",
842
+ "syn 2.0.117",
843
+]
844
+
845
+[[package]]
846
+name = "clap_lex"
847
+version = "1.1.0"
848
+source = "registry+https://github.com/rust-lang/crates.io-index"
849
+checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
850
+
851
+[[package]]
852
+name = "cmake"
853
+version = "0.1.58"
854
+source = "registry+https://github.com/rust-lang/crates.io-index"
855
+checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678"
856
+dependencies = [
857
+ "cc",
858
+]
859
+
860
+[[package]]
861
+name = "color_quant"
862
+version = "1.1.0"
863
+source = "registry+https://github.com/rust-lang/crates.io-index"
864
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
865
+
866
+[[package]]
867
+name = "colorchoice"
868
+version = "1.0.5"
869
+source = "registry+https://github.com/rust-lang/crates.io-index"
870
+checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
871
+
872
+[[package]]
873
+name = "combine"
874
+version = "4.6.7"
875
+source = "registry+https://github.com/rust-lang/crates.io-index"
876
+checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
877
+dependencies = [
878
+ "bytes",
879
+ "memchr",
880
+]
881
+
882
+[[package]]
883
+name = "compact_str"
884
+version = "0.9.0"
885
+source = "registry+https://github.com/rust-lang/crates.io-index"
886
+checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a"
887
+dependencies = [
888
+ "castaway",
889
+ "cfg-if",
890
+ "itoa",
891
+ "rustversion",
892
+ "ryu",
893
+ "serde",
894
+ "static_assertions",
895
+]
896
+
897
+[[package]]
898
+name = "concurrent-queue"
899
+version = "2.5.0"
900
+source = "registry+https://github.com/rust-lang/crates.io-index"
901
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
902
+dependencies = [
903
+ "crossbeam-utils",
904
+]
905
+
906
+[[package]]
907
+name = "console"
908
+version = "0.15.11"
909
+source = "registry+https://github.com/rust-lang/crates.io-index"
910
+checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8"
911
+dependencies = [
912
+ "encode_unicode",
913
+ "libc",
914
+ "once_cell",
915
+ "unicode-width 0.2.2",
916
+ "windows-sys 0.59.0",
917
+]
918
+
919
+[[package]]
920
+name = "console"
921
+version = "0.16.3"
922
+source = "registry+https://github.com/rust-lang/crates.io-index"
923
+checksum = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87"
924
+dependencies = [
925
+ "encode_unicode",
926
+ "libc",
927
+ "unicode-width 0.2.2",
928
+ "windows-sys 0.61.2",
929
+]
930
+
931
+[[package]]
932
+name = "convert_case"
933
+version = "0.6.0"
934
+source = "registry+https://github.com/rust-lang/crates.io-index"
935
+checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
936
+dependencies = [
937
+ "unicode-segmentation",
938
+]
939
+
940
+[[package]]
941
+name = "convert_case"
942
+version = "0.10.0"
943
+source = "registry+https://github.com/rust-lang/crates.io-index"
944
+checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9"
945
+dependencies = [
946
+ "unicode-segmentation",
947
+]
948
+
949
+[[package]]
950
+name = "core-foundation"
951
+version = "0.9.4"
952
+source = "registry+https://github.com/rust-lang/crates.io-index"
953
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
954
+dependencies = [
955
+ "core-foundation-sys",
956
+ "libc",
957
+]
958
+
959
+[[package]]
960
+name = "core-foundation"
961
+version = "0.10.1"
962
+source = "registry+https://github.com/rust-lang/crates.io-index"
963
+checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
964
+dependencies = [
965
+ "core-foundation-sys",
966
+ "libc",
967
+]
968
+
969
+[[package]]
970
+name = "core-foundation-sys"
971
+version = "0.8.7"
972
+source = "registry+https://github.com/rust-lang/crates.io-index"
973
+checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
974
+
975
+[[package]]
976
+name = "core-graphics-types"
977
+version = "0.1.3"
978
+source = "registry+https://github.com/rust-lang/crates.io-index"
979
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
980
+dependencies = [
981
+ "bitflags 1.3.2",
982
+ "core-foundation 0.9.4",
983
+ "libc",
984
+]
985
+
986
+[[package]]
987
+name = "core2"
988
+version = "0.4.0"
989
+source = "git+https://github.com/bbqsrc/core2?rev=545e84bc#545e84bcb0f235b12e21351e0c69767958efe2a7"
990
+dependencies = [
991
+ "memchr",
992
+]
993
+
994
+[[package]]
995
+name = "cpufeatures"
996
+version = "0.2.17"
997
+source = "registry+https://github.com/rust-lang/crates.io-index"
998
+checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
999
+dependencies = [
1000
+ "libc",
1001
+]
1002
+
1003
+[[package]]
1004
+name = "crc32fast"
1005
+version = "1.5.0"
1006
+source = "registry+https://github.com/rust-lang/crates.io-index"
1007
+checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
1008
+dependencies = [
1009
+ "cfg-if",
1010
+]
1011
+
1012
+[[package]]
1013
+name = "crossbeam-deque"
1014
+version = "0.8.6"
1015
+source = "registry+https://github.com/rust-lang/crates.io-index"
1016
+checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
1017
+dependencies = [
1018
+ "crossbeam-epoch",
1019
+ "crossbeam-utils",
1020
+]
1021
+
1022
+[[package]]
1023
+name = "crossbeam-epoch"
1024
+version = "0.9.18"
1025
+source = "registry+https://github.com/rust-lang/crates.io-index"
1026
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
1027
+dependencies = [
1028
+ "crossbeam-utils",
1029
+]
1030
+
1031
+[[package]]
1032
+name = "crossbeam-utils"
1033
+version = "0.8.21"
1034
+source = "registry+https://github.com/rust-lang/crates.io-index"
1035
+checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
1036
+
1037
+[[package]]
1038
+name = "crossterm"
1039
+version = "0.25.0"
1040
+source = "registry+https://github.com/rust-lang/crates.io-index"
1041
+checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
1042
+dependencies = [
1043
+ "bitflags 1.3.2",
1044
+ "crossterm_winapi",
1045
+ "libc",
1046
+ "mio 0.8.11",
1047
+ "parking_lot",
1048
+ "signal-hook",
1049
+ "signal-hook-mio",
1050
+ "winapi",
1051
+]
1052
+
1053
+[[package]]
1054
+name = "crossterm_winapi"
1055
+version = "0.9.1"
1056
+source = "registry+https://github.com/rust-lang/crates.io-index"
1057
+checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
1058
+dependencies = [
1059
+ "winapi",
1060
+]
1061
+
1062
+[[package]]
1063
+name = "crunchy"
1064
+version = "0.2.4"
1065
+source = "registry+https://github.com/rust-lang/crates.io-index"
1066
+checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
1067
+
1068
+[[package]]
1069
+name = "crypto-common"
1070
+version = "0.1.7"
1071
+source = "registry+https://github.com/rust-lang/crates.io-index"
1072
+checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
1073
+dependencies = [
1074
+ "generic-array",
1075
+ "typenum",
1076
+]
1077
+
1078
+[[package]]
1079
+name = "cssparser"
1080
+version = "0.36.0"
1081
+source = "registry+https://github.com/rust-lang/crates.io-index"
1082
+checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2"
1083
+dependencies = [
1084
+ "cssparser-macros",
1085
+ "dtoa-short",
1086
+ "itoa",
1087
+ "phf",
1088
+ "smallvec 1.15.1",
1089
+]
1090
+
1091
+[[package]]
1092
+name = "cssparser-macros"
1093
+version = "0.6.1"
1094
+source = "registry+https://github.com/rust-lang/crates.io-index"
1095
+checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
1096
+dependencies = [
1097
+ "quote",
1098
+ "syn 2.0.117",
1099
+]
1100
+
1101
+[[package]]
1102
+name = "csv"
1103
+version = "1.4.0"
1104
+source = "registry+https://github.com/rust-lang/crates.io-index"
1105
+checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938"
1106
+dependencies = [
1107
+ "csv-core",
1108
+ "itoa",
1109
+ "ryu",
1110
+ "serde_core",
1111
+]
1112
+
1113
+[[package]]
1114
+name = "csv-core"
1115
+version = "0.1.13"
1116
+source = "registry+https://github.com/rust-lang/crates.io-index"
1117
+checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782"
1118
+dependencies = [
1119
+ "memchr",
1120
+]
1121
+
1122
+[[package]]
1123
+name = "darling"
1124
+version = "0.11.0"
1125
+source = "registry+https://github.com/rust-lang/crates.io-index"
1126
+checksum = "dbffa8f8e38810422f320ca457a93cf1cd0056dc9c06c556b867558e0d471463"
1127
+dependencies = [
1128
+ "darling_core 0.11.0",
1129
+ "darling_macro 0.11.0",
1130
+]
1131
+
1132
+[[package]]
1133
+name = "darling"
1134
+version = "0.20.11"
1135
+source = "registry+https://github.com/rust-lang/crates.io-index"
1136
+checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
1137
+dependencies = [
1138
+ "darling_core 0.20.11",
1139
+ "darling_macro 0.20.11",
1140
+]
1141
+
1142
+[[package]]
1143
+name = "darling"
1144
+version = "0.23.0"
1145
+source = "registry+https://github.com/rust-lang/crates.io-index"
1146
+checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d"
1147
+dependencies = [
1148
+ "darling_core 0.23.0",
1149
+ "darling_macro 0.23.0",
1150
+]
1151
+
1152
+[[package]]
1153
+name = "darling_core"
1154
+version = "0.11.0"
1155
+source = "registry+https://github.com/rust-lang/crates.io-index"
1156
+checksum = "06e172685d94b7b83800e3256a63261537b9d6129e10f21c8e13ddf9dba8c64d"
1157
+dependencies = [
1158
+ "fnv",
1159
+ "ident_case",
1160
+ "proc-macro2",
1161
+ "quote",
1162
+ "strsim 0.10.0",
1163
+ "syn 1.0.109",
1164
+]
1165
+
1166
+[[package]]
1167
+name = "darling_core"
1168
+version = "0.20.11"
1169
+source = "registry+https://github.com/rust-lang/crates.io-index"
1170
+checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
1171
+dependencies = [
1172
+ "fnv",
1173
+ "ident_case",
1174
+ "proc-macro2",
1175
+ "quote",
1176
+ "strsim 0.11.1",
1177
+ "syn 2.0.117",
1178
+]
1179
+
1180
+[[package]]
1181
+name = "darling_core"
1182
+version = "0.23.0"
1183
+source = "registry+https://github.com/rust-lang/crates.io-index"
1184
+checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0"
1185
+dependencies = [
1186
+ "ident_case",
1187
+ "proc-macro2",
1188
+ "quote",
1189
+ "strsim 0.11.1",
1190
+ "syn 2.0.117",
1191
+]
1192
+
1193
+[[package]]
1194
+name = "darling_macro"
1195
+version = "0.11.0"
1196
+source = "registry+https://github.com/rust-lang/crates.io-index"
1197
+checksum = "f0618ac802792cebd1918ac6042a6ea1eeab92db34b35656afaa577929820788"
1198
+dependencies = [
1199
+ "darling_core 0.11.0",
1200
+ "quote",
1201
+ "syn 1.0.109",
1202
+]
1203
+
1204
+[[package]]
1205
+name = "darling_macro"
1206
+version = "0.20.11"
1207
+source = "registry+https://github.com/rust-lang/crates.io-index"
1208
+checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
1209
+dependencies = [
1210
+ "darling_core 0.20.11",
1211
+ "quote",
1212
+ "syn 2.0.117",
1213
+]
1214
+
1215
+[[package]]
1216
+name = "darling_macro"
1217
+version = "0.23.0"
1218
+source = "registry+https://github.com/rust-lang/crates.io-index"
1219
+checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
1220
+dependencies = [
1221
+ "darling_core 0.23.0",
1222
+ "quote",
1223
+ "syn 2.0.117",
1224
+]
1225
+
1226
+[[package]]
1227
+name = "dary_heap"
1228
+version = "0.3.8"
1229
+source = "registry+https://github.com/rust-lang/crates.io-index"
1230
+checksum = "06d2e3287df1c007e74221c49ca10a95d557349e54b3a75dc2fb14712c751f04"
1231
+dependencies = [
1232
+ "serde",
1233
+]
1234
+
1235
+[[package]]
1236
+name = "data-encoding"
1237
+version = "2.10.0"
1238
+source = "registry+https://github.com/rust-lang/crates.io-index"
1239
+checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea"
1240
+
1241
+[[package]]
1242
+name = "defmac"
1243
+version = "0.1.3"
1244
+source = "registry+https://github.com/rust-lang/crates.io-index"
1245
+checksum = "aafbece59594ed57696a1a69e8bb3ca1683fbc9cdb41d5c02726070b2cd8f19d"
1246
+
1247
+[[package]]
1248
+name = "deranged"
1249
+version = "0.5.8"
1250
+source = "registry+https://github.com/rust-lang/crates.io-index"
1251
+checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
1252
+dependencies = [
1253
+ "powerfmt",
1254
+ "serde_core",
1255
+]
1256
+
1257
+[[package]]
1258
+name = "derive-new"
1259
+version = "0.7.0"
1260
+source = "registry+https://github.com/rust-lang/crates.io-index"
1261
+checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc"
1262
+dependencies = [
1263
+ "proc-macro2",
1264
+ "quote",
1265
+ "syn 2.0.117",
1266
+]
1267
+
1268
+[[package]]
1269
+name = "derive_builder"
1270
+version = "0.20.2"
1271
+source = "registry+https://github.com/rust-lang/crates.io-index"
1272
+checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947"
1273
+dependencies = [
1274
+ "derive_builder_macro",
1275
+]
1276
+
1277
+[[package]]
1278
+name = "derive_builder_core"
1279
+version = "0.20.2"
1280
+source = "registry+https://github.com/rust-lang/crates.io-index"
1281
+checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8"
1282
+dependencies = [
1283
+ "darling 0.20.11",
1284
+ "proc-macro2",
1285
+ "quote",
1286
+ "syn 2.0.117",
1287
+]
1288
+
1289
+[[package]]
1290
+name = "derive_builder_macro"
1291
+version = "0.20.2"
1292
+source = "registry+https://github.com/rust-lang/crates.io-index"
1293
+checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
1294
+dependencies = [
1295
+ "derive_builder_core",
1296
+ "syn 2.0.117",
1297
+]
1298
+
1299
+[[package]]
1300
+name = "derive_more"
1301
+version = "2.1.1"
1302
+source = "registry+https://github.com/rust-lang/crates.io-index"
1303
+checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
1304
+dependencies = [
1305
+ "derive_more-impl",
1306
+]
1307
+
1308
+[[package]]
1309
+name = "derive_more-impl"
1310
+version = "2.1.1"
1311
+source = "registry+https://github.com/rust-lang/crates.io-index"
1312
+checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
1313
+dependencies = [
1314
+ "convert_case 0.10.0",
1315
+ "proc-macro2",
1316
+ "quote",
1317
+ "rustc_version",
1318
+ "syn 2.0.117",
1319
+ "unicode-xid",
1320
+]
1321
+
1322
+[[package]]
1323
+name = "derivre"
1324
+version = "0.3.9"
1325
+source = "registry+https://github.com/rust-lang/crates.io-index"
1326
+checksum = "0cc33bc6d9125f496c6f20a5630a1eb2c4bd435e2d5a735d39dd3232b5c14e6e"
1327
+dependencies = [
1328
+ "anyhow",
1329
+ "bytemuck",
1330
+ "bytemuck_derive",
1331
+ "hashbrown 0.15.5",
1332
+ "regex-syntax",
1333
+ "strum 0.27.2",
1334
+]
1335
+
1336
+[[package]]
1337
+name = "deunicode"
1338
+version = "1.6.2"
1339
+source = "registry+https://github.com/rust-lang/crates.io-index"
1340
+checksum = "abd57806937c9cc163efc8ea3910e00a62e2aeb0b8119f1793a978088f8f6b04"
1341
+
1342
+[[package]]
1343
+name = "digest"
1344
+version = "0.10.7"
1345
+source = "registry+https://github.com/rust-lang/crates.io-index"
1346
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
1347
+dependencies = [
1348
+ "block-buffer",
1349
+ "crypto-common",
1350
+]
1351
+
1352
+[[package]]
1353
+name = "dirs"
1354
+version = "6.0.0"
1355
+source = "registry+https://github.com/rust-lang/crates.io-index"
1356
+checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
1357
+dependencies = [
1358
+ "dirs-sys",
1359
+]
1360
+
1361
+[[package]]
1362
+name = "dirs-sys"
1363
+version = "0.5.0"
1364
+source = "registry+https://github.com/rust-lang/crates.io-index"
1365
+checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
1366
+dependencies = [
1367
+ "libc",
1368
+ "option-ext",
1369
+ "redox_users",
1370
+ "windows-sys 0.61.2",
1371
+]
1372
+
1373
+[[package]]
1374
+name = "dispatch2"
1375
+version = "0.3.1"
1376
+source = "registry+https://github.com/rust-lang/crates.io-index"
1377
+checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
1378
+dependencies = [
1379
+ "bitflags 2.11.0",
1380
+ "block2",
1381
+ "objc2",
1382
+]
1383
+
1384
+[[package]]
1385
+name = "displaydoc"
1386
+version = "0.2.5"
1387
+source = "registry+https://github.com/rust-lang/crates.io-index"
1388
+checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
1389
+dependencies = [
1390
+ "proc-macro2",
1391
+ "quote",
1392
+ "syn 2.0.117",
1393
+]
1394
+
1395
+[[package]]
1396
+name = "doctest-file"
1397
+version = "1.1.1"
1398
+source = "registry+https://github.com/rust-lang/crates.io-index"
1399
+checksum = "c2db04e74f0a9a93103b50e90b96024c9b2bdca8bce6a632ec71b88736d3d359"
1400
+
1401
+[[package]]
1402
+name = "dtoa"
1403
+version = "1.0.11"
1404
+source = "registry+https://github.com/rust-lang/crates.io-index"
1405
+checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590"
1406
+
1407
+[[package]]
1408
+name = "dtoa-short"
1409
+version = "0.3.5"
1410
+source = "registry+https://github.com/rust-lang/crates.io-index"
1411
+checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87"
1412
+dependencies = [
1413
+ "dtoa",
1414
+]
1415
+
1416
+[[package]]
1417
+name = "dunce"
1418
+version = "1.0.5"
1419
+source = "registry+https://github.com/rust-lang/crates.io-index"
1420
+checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
1421
+
1422
+[[package]]
1423
+name = "dyn-clone"
1424
+version = "1.0.20"
1425
+source = "registry+https://github.com/rust-lang/crates.io-index"
1426
+checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
1427
+
1428
+[[package]]
1429
+name = "dyn-stack"
1430
+version = "0.13.2"
1431
+source = "registry+https://github.com/rust-lang/crates.io-index"
1432
+checksum = "1c4713e43e2886ba72b8271aa66c93d722116acf7a75555cce11dcde84388fe8"
1433
+dependencies = [
1434
+ "bytemuck",
1435
+ "dyn-stack-macros",
1436
+]
1437
+
1438
+[[package]]
1439
+name = "dyn-stack-macros"
1440
+version = "0.1.3"
1441
+source = "registry+https://github.com/rust-lang/crates.io-index"
1442
+checksum = "e1d926b4d407d372f141f93bb444696142c29d32962ccbd3531117cf3aa0bfa9"
1443
+
1444
+[[package]]
1445
+name = "ego-tree"
1446
+version = "0.10.0"
1447
+source = "registry+https://github.com/rust-lang/crates.io-index"
1448
+checksum = "b2972feb8dffe7bc8c5463b1dacda1b0dfbed3710e50f977d965429692d74cd8"
1449
+
1450
+[[package]]
1451
+name = "either"
1452
+version = "1.15.0"
1453
+source = "registry+https://github.com/rust-lang/crates.io-index"
1454
+checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
1455
+dependencies = [
1456
+ "serde",
1457
+]
1458
+
1459
+[[package]]
1460
+name = "encode_unicode"
1461
+version = "1.0.0"
1462
+source = "registry+https://github.com/rust-lang/crates.io-index"
1463
+checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
1464
+
1465
+[[package]]
1466
+name = "encoding_rs"
1467
+version = "0.8.35"
1468
+source = "registry+https://github.com/rust-lang/crates.io-index"
1469
+checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
1470
+dependencies = [
1471
+ "cfg-if",
1472
+]
1473
+
1474
+[[package]]
1475
+name = "encoding_rs_io"
1476
+version = "0.1.7"
1477
+source = "registry+https://github.com/rust-lang/crates.io-index"
1478
+checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
1479
+dependencies = [
1480
+ "encoding_rs",
1481
+]
1482
+
1483
+[[package]]
1484
+name = "endian-type"
1485
+version = "0.2.0"
1486
+source = "registry+https://github.com/rust-lang/crates.io-index"
1487
+checksum = "869b0adbda23651a9c5c0c3d270aac9fcb52e8622a8f2b17e57802d7791962f2"
1488
+
1489
+[[package]]
1490
+name = "enum-as-inner"
1491
+version = "0.6.1"
1492
+source = "registry+https://github.com/rust-lang/crates.io-index"
1493
+checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
1494
+dependencies = [
1495
+ "heck 0.5.0",
1496
+ "proc-macro2",
1497
+ "quote",
1498
+ "syn 2.0.117",
1499
+]
1500
+
1501
+[[package]]
1502
+name = "env_filter"
1503
+version = "1.0.1"
1504
+source = "registry+https://github.com/rust-lang/crates.io-index"
1505
+checksum = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef"
1506
+dependencies = [
1507
+ "log",
1508
+ "regex",
1509
+]
1510
+
1511
+[[package]]
1512
+name = "env_logger"
1513
+version = "0.11.10"
1514
+source = "registry+https://github.com/rust-lang/crates.io-index"
1515
+checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a"
1516
+dependencies = [
1517
+ "anstream",
1518
+ "anstyle",
1519
+ "env_filter",
1520
+ "jiff",
1521
+ "log",
1522
+]
1523
+
1524
+[[package]]
1525
+name = "equator"
1526
+version = "0.4.2"
1527
+source = "registry+https://github.com/rust-lang/crates.io-index"
1528
+checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc"
1529
+dependencies = [
1530
+ "equator-macro",
1531
+]
1532
+
1533
+[[package]]
1534
+name = "equator-macro"
1535
+version = "0.4.2"
1536
+source = "registry+https://github.com/rust-lang/crates.io-index"
1537
+checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3"
1538
+dependencies = [
1539
+ "proc-macro2",
1540
+ "quote",
1541
+ "syn 2.0.117",
1542
+]
1543
+
1544
+[[package]]
1545
+name = "equivalent"
1546
+version = "1.0.2"
1547
+source = "registry+https://github.com/rust-lang/crates.io-index"
1548
+checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
1549
+
1550
+[[package]]
1551
+name = "errno"
1552
+version = "0.3.14"
1553
+source = "registry+https://github.com/rust-lang/crates.io-index"
1554
+checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
1555
+dependencies = [
1556
+ "libc",
1557
+ "windows-sys 0.61.2",
1558
+]
1559
+
1560
+[[package]]
1561
+name = "esaxx-rs"
1562
+version = "0.1.10"
1563
+source = "registry+https://github.com/rust-lang/crates.io-index"
1564
+checksum = "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6"
1565
+
1566
+[[package]]
1567
+name = "event-listener"
1568
+version = "5.4.1"
1569
+source = "registry+https://github.com/rust-lang/crates.io-index"
1570
+checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab"
1571
+dependencies = [
1572
+ "concurrent-queue",
1573
+ "parking",
1574
+ "pin-project-lite",
1575
+]
1576
+
1577
+[[package]]
1578
+name = "event-listener-strategy"
1579
+version = "0.5.4"
1580
+source = "registry+https://github.com/rust-lang/crates.io-index"
1581
+checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
1582
+dependencies = [
1583
+ "event-listener",
1584
+ "pin-project-lite",
1585
+]
1586
+
1587
+[[package]]
1588
+name = "exr"
1589
+version = "1.74.0"
1590
+source = "registry+https://github.com/rust-lang/crates.io-index"
1591
+checksum = "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be"
1592
+dependencies = [
1593
+ "bit_field",
1594
+ "half",
1595
+ "lebe",
1596
+ "miniz_oxide",
1597
+ "rayon-core",
1598
+ "smallvec 1.15.1",
1599
+ "zune-inflate",
1600
+]
1601
+
1602
+[[package]]
1603
+name = "extended"
1604
+version = "0.1.0"
1605
+source = "registry+https://github.com/rust-lang/crates.io-index"
1606
+checksum = "af9673d8203fcb076b19dfd17e38b3d4ae9f44959416ea532ce72415a6020365"
1607
+
1608
+[[package]]
1609
+name = "fancy-regex"
1610
+version = "0.13.0"
1611
+source = "registry+https://github.com/rust-lang/crates.io-index"
1612
+checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2"
1613
+dependencies = [
1614
+ "bit-set 0.5.3",
1615
+ "regex-automata",
1616
+ "regex-syntax",
1617
+]
1618
+
1619
+[[package]]
1620
+name = "fancy-regex"
1621
+version = "0.14.0"
1622
+source = "registry+https://github.com/rust-lang/crates.io-index"
1623
+checksum = "6e24cb5a94bcae1e5408b0effca5cd7172ea3c5755049c5f3af4cd283a165298"
1624
+dependencies = [
1625
+ "bit-set 0.8.0",
1626
+ "regex-automata",
1627
+ "regex-syntax",
1628
+]
1629
+
1630
+[[package]]
1631
+name = "fastrand"
1632
+version = "2.4.1"
1633
+source = "registry+https://github.com/rust-lang/crates.io-index"
1634
+checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
1635
+
1636
+[[package]]
1637
+name = "fax"
1638
+version = "0.2.6"
1639
+source = "registry+https://github.com/rust-lang/crates.io-index"
1640
+checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab"
1641
+dependencies = [
1642
+ "fax_derive",
1643
+]
1644
+
1645
+[[package]]
1646
+name = "fax_derive"
1647
+version = "0.2.0"
1648
+source = "registry+https://github.com/rust-lang/crates.io-index"
1649
+checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d"
1650
+dependencies = [
1651
+ "proc-macro2",
1652
+ "quote",
1653
+ "syn 2.0.117",
1654
+]
1655
+
1656
+[[package]]
1657
+name = "fdeflate"
1658
+version = "0.3.7"
1659
+source = "registry+https://github.com/rust-lang/crates.io-index"
1660
+checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
1661
+dependencies = [
1662
+ "simd-adler32",
1663
+]
1664
+
1665
+[[package]]
1666
+name = "find-msvc-tools"
1667
+version = "0.1.9"
1668
+source = "registry+https://github.com/rust-lang/crates.io-index"
1669
+checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
1670
+
1671
+[[package]]
1672
+name = "flate2"
1673
+version = "1.1.9"
1674
+source = "registry+https://github.com/rust-lang/crates.io-index"
1675
+checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
1676
+dependencies = [
1677
+ "crc32fast",
1678
+ "miniz_oxide",
1679
+]
1680
+
1681
+[[package]]
1682
+name = "float8"
1683
+version = "0.7.0"
1684
+source = "registry+https://github.com/rust-lang/crates.io-index"
1685
+checksum = "c2d1f04709a8ac06e8e8042875a3c466cc4832d3c1a18dbcb9dba3c6e83046bc"
1686
+dependencies = [
1687
+ "half",
1688
+ "num-traits",
1689
+ "rand 0.9.4",
1690
+ "rand_distr 0.5.1",
1691
+]
1692
+
1693
+[[package]]
1694
+name = "fnv"
1695
+version = "1.0.7"
1696
+source = "registry+https://github.com/rust-lang/crates.io-index"
1697
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
1698
+
1699
+[[package]]
1700
+name = "foldhash"
1701
+version = "0.1.5"
1702
+source = "registry+https://github.com/rust-lang/crates.io-index"
1703
+checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
1704
+
1705
+[[package]]
1706
+name = "foldhash"
1707
+version = "0.2.0"
1708
+source = "registry+https://github.com/rust-lang/crates.io-index"
1709
+checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
1710
+
1711
+[[package]]
1712
+name = "foreign-types"
1713
+version = "0.5.0"
1714
+source = "registry+https://github.com/rust-lang/crates.io-index"
1715
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
1716
+dependencies = [
1717
+ "foreign-types-macros",
1718
+ "foreign-types-shared",
1719
+]
1720
+
1721
+[[package]]
1722
+name = "foreign-types-macros"
1723
+version = "0.2.3"
1724
+source = "registry+https://github.com/rust-lang/crates.io-index"
1725
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
1726
+dependencies = [
1727
+ "proc-macro2",
1728
+ "quote",
1729
+ "syn 2.0.117",
1730
+]
1731
+
1732
+[[package]]
1733
+name = "foreign-types-shared"
1734
+version = "0.3.1"
1735
+source = "registry+https://github.com/rust-lang/crates.io-index"
1736
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
1737
+
1738
+[[package]]
1739
+name = "form_urlencoded"
1740
+version = "1.2.2"
1741
+source = "registry+https://github.com/rust-lang/crates.io-index"
1742
+checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
1743
+dependencies = [
1744
+ "percent-encoding",
1745
+]
1746
+
1747
+[[package]]
1748
+name = "fs-err"
1749
+version = "2.11.0"
1750
+source = "registry+https://github.com/rust-lang/crates.io-index"
1751
+checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
1752
+dependencies = [
1753
+ "autocfg",
1754
+]
1755
+
1756
+[[package]]
1757
+name = "fs_extra"
1758
+version = "1.3.0"
1759
+source = "registry+https://github.com/rust-lang/crates.io-index"
1760
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
1761
+
1762
+[[package]]
1763
+name = "futf"
1764
+version = "0.1.5"
1765
+source = "registry+https://github.com/rust-lang/crates.io-index"
1766
+checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
1767
+dependencies = [
1768
+ "mac",
1769
+ "new_debug_unreachable",
1770
+]
1771
+
1772
+[[package]]
1773
+name = "futures"
1774
+version = "0.3.32"
1775
+source = "registry+https://github.com/rust-lang/crates.io-index"
1776
+checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
1777
+dependencies = [
1778
+ "futures-channel",
1779
+ "futures-core",
1780
+ "futures-executor",
1781
+ "futures-io",
1782
+ "futures-sink",
1783
+ "futures-task",
1784
+ "futures-util",
1785
+]
1786
+
1787
+[[package]]
1788
+name = "futures-channel"
1789
+version = "0.3.32"
1790
+source = "registry+https://github.com/rust-lang/crates.io-index"
1791
+checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
1792
+dependencies = [
1793
+ "futures-core",
1794
+ "futures-sink",
1795
+]
1796
+
1797
+[[package]]
1798
+name = "futures-core"
1799
+version = "0.3.32"
1800
+source = "registry+https://github.com/rust-lang/crates.io-index"
1801
+checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
1802
+
1803
+[[package]]
1804
+name = "futures-executor"
1805
+version = "0.3.32"
1806
+source = "registry+https://github.com/rust-lang/crates.io-index"
1807
+checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
1808
+dependencies = [
1809
+ "futures-core",
1810
+ "futures-task",
1811
+ "futures-util",
1812
+]
1813
+
1814
+[[package]]
1815
+name = "futures-io"
1816
+version = "0.3.32"
1817
+source = "registry+https://github.com/rust-lang/crates.io-index"
1818
+checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
1819
+
1820
+[[package]]
1821
+name = "futures-macro"
1822
+version = "0.3.32"
1823
+source = "registry+https://github.com/rust-lang/crates.io-index"
1824
+checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
1825
+dependencies = [
1826
+ "proc-macro2",
1827
+ "quote",
1828
+ "syn 2.0.117",
1829
+]
1830
+
1831
+[[package]]
1832
+name = "futures-sink"
1833
+version = "0.3.32"
1834
+source = "registry+https://github.com/rust-lang/crates.io-index"
1835
+checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
1836
+
1837
+[[package]]
1838
+name = "futures-task"
1839
+version = "0.3.32"
1840
+source = "registry+https://github.com/rust-lang/crates.io-index"
1841
+checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
1842
+
1843
+[[package]]
1844
+name = "futures-util"
1845
+version = "0.3.32"
1846
+source = "registry+https://github.com/rust-lang/crates.io-index"
1847
+checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
1848
+dependencies = [
1849
+ "futures-channel",
1850
+ "futures-core",
1851
+ "futures-io",
1852
+ "futures-macro",
1853
+ "futures-sink",
1854
+ "futures-task",
1855
+ "memchr",
1856
+ "pin-project-lite",
1857
+ "slab",
1858
+]
1859
+
1860
+[[package]]
1861
+name = "fxhash"
1862
+version = "0.2.1"
1863
+source = "registry+https://github.com/rust-lang/crates.io-index"
1864
+checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
1865
+dependencies = [
1866
+ "byteorder",
1867
+]
1868
+
1869
+[[package]]
1870
+name = "galil-seiferas"
1871
+version = "0.1.5"
1872
+source = "registry+https://github.com/rust-lang/crates.io-index"
1873
+checksum = "794ac25cfda3fa11d2b07ff8c65889c6c03411646df54e59e606878d899e1d5a"
1874
+dependencies = [
1875
+ "defmac",
1876
+ "unchecked-index",
1877
+]
1878
+
1879
+[[package]]
1880
+name = "gemm"
1881
+version = "0.18.2"
1882
+source = "registry+https://github.com/rust-lang/crates.io-index"
1883
+checksum = "ab96b703d31950f1aeddded248bc95543c9efc7ac9c4a21fda8703a83ee35451"
1884
+dependencies = [
1885
+ "dyn-stack",
1886
+ "gemm-c32 0.18.2",
1887
+ "gemm-c64 0.18.2",
1888
+ "gemm-common 0.18.2",
1889
+ "gemm-f16 0.18.2",
1890
+ "gemm-f32 0.18.2",
1891
+ "gemm-f64 0.18.2",
1892
+ "num-complex",
1893
+ "num-traits",
1894
+ "paste",
1895
+ "raw-cpuid",
1896
+ "seq-macro",
1897
+]
1898
+
1899
+[[package]]
1900
+name = "gemm"
1901
+version = "0.19.0"
1902
+source = "registry+https://github.com/rust-lang/crates.io-index"
1903
+checksum = "aa0673db364b12263d103b68337a68fbecc541d6f6b61ba72fe438654709eacb"
1904
+dependencies = [
1905
+ "dyn-stack",
1906
+ "gemm-c32 0.19.0",
1907
+ "gemm-c64 0.19.0",
1908
+ "gemm-common 0.19.0",
1909
+ "gemm-f16 0.19.0",
1910
+ "gemm-f32 0.19.0",
1911
+ "gemm-f64 0.19.0",
1912
+ "num-complex",
1913
+ "num-traits",
1914
+ "paste",
1915
+ "raw-cpuid",
1916
+ "seq-macro",
1917
+]
1918
+
1919
+[[package]]
1920
+name = "gemm-c32"
1921
+version = "0.18.2"
1922
+source = "registry+https://github.com/rust-lang/crates.io-index"
1923
+checksum = "f6db9fd9f40421d00eea9dd0770045a5603b8d684654816637732463f4073847"
1924
+dependencies = [
1925
+ "dyn-stack",
1926
+ "gemm-common 0.18.2",
1927
+ "num-complex",
1928
+ "num-traits",
1929
+ "paste",
1930
+ "raw-cpuid",
1931
+ "seq-macro",
1932
+]
1933
+
1934
+[[package]]
1935
+name = "gemm-c32"
1936
+version = "0.19.0"
1937
+source = "registry+https://github.com/rust-lang/crates.io-index"
1938
+checksum = "086936dbdcb99e37aad81d320f98f670e53c1e55a98bee70573e83f95beb128c"
1939
+dependencies = [
1940
+ "dyn-stack",
1941
+ "gemm-common 0.19.0",
1942
+ "num-complex",
1943
+ "num-traits",
1944
+ "paste",
1945
+ "raw-cpuid",
1946
+ "seq-macro",
1947
+]
1948
+
1949
+[[package]]
1950
+name = "gemm-c64"
1951
+version = "0.18.2"
1952
+source = "registry+https://github.com/rust-lang/crates.io-index"
1953
+checksum = "dfcad8a3d35a43758330b635d02edad980c1e143dc2f21e6fd25f9e4eada8edf"
1954
+dependencies = [
1955
+ "dyn-stack",
1956
+ "gemm-common 0.18.2",
1957
+ "num-complex",
1958
+ "num-traits",
1959
+ "paste",
1960
+ "raw-cpuid",
1961
+ "seq-macro",
1962
+]
1963
+
1964
+[[package]]
1965
+name = "gemm-c64"
1966
+version = "0.19.0"
1967
+source = "registry+https://github.com/rust-lang/crates.io-index"
1968
+checksum = "20c8aeeeec425959bda4d9827664029ba1501a90a0d1e6228e48bef741db3a3f"
1969
+dependencies = [
1970
+ "dyn-stack",
1971
+ "gemm-common 0.19.0",
1972
+ "num-complex",
1973
+ "num-traits",
1974
+ "paste",
1975
+ "raw-cpuid",
1976
+ "seq-macro",
1977
+]
1978
+
1979
+[[package]]
1980
+name = "gemm-common"
1981
+version = "0.18.2"
1982
+source = "registry+https://github.com/rust-lang/crates.io-index"
1983
+checksum = "a352d4a69cbe938b9e2a9cb7a3a63b7e72f9349174a2752a558a8a563510d0f3"
1984
+dependencies = [
1985
+ "bytemuck",
1986
+ "dyn-stack",
1987
+ "half",
1988
+ "libm",
1989
+ "num-complex",
1990
+ "num-traits",
1991
+ "once_cell",
1992
+ "paste",
1993
+ "pulp 0.21.5",
1994
+ "raw-cpuid",
1995
+ "rayon",
1996
+ "seq-macro",
1997
+ "sysctl",
1998
+]
1999
+
2000
+[[package]]
2001
+name = "gemm-common"
2002
+version = "0.19.0"
2003
+source = "registry+https://github.com/rust-lang/crates.io-index"
2004
+checksum = "88027625910cc9b1085aaaa1c4bc46bb3a36aad323452b33c25b5e4e7c8e2a3e"
2005
+dependencies = [
2006
+ "bytemuck",
2007
+ "dyn-stack",
2008
+ "half",
2009
+ "libm",
2010
+ "num-complex",
2011
+ "num-traits",
2012
+ "once_cell",
2013
+ "paste",
2014
+ "pulp 0.22.2",
2015
+ "raw-cpuid",
2016
+ "rayon",
2017
+ "seq-macro",
2018
+ "sysctl",
2019
+]
2020
+
2021
+[[package]]
2022
+name = "gemm-f16"
2023
+version = "0.18.2"
2024
+source = "registry+https://github.com/rust-lang/crates.io-index"
2025
+checksum = "cff95ae3259432f3c3410eaa919033cd03791d81cebd18018393dc147952e109"
2026
+dependencies = [
2027
+ "dyn-stack",
2028
+ "gemm-common 0.18.2",
2029
+ "gemm-f32 0.18.2",
2030
+ "half",
2031
+ "num-complex",
2032
+ "num-traits",
2033
+ "paste",
2034
+ "raw-cpuid",
2035
+ "rayon",
2036
+ "seq-macro",
2037
+]
2038
+
2039
+[[package]]
2040
+name = "gemm-f16"
2041
+version = "0.19.0"
2042
+source = "registry+https://github.com/rust-lang/crates.io-index"
2043
+checksum = "e3df7a55202e6cd6739d82ae3399c8e0c7e1402859b30e4cb780e61525d9486e"
2044
+dependencies = [
2045
+ "dyn-stack",
2046
+ "gemm-common 0.19.0",
2047
+ "gemm-f32 0.19.0",
2048
+ "half",
2049
+ "num-complex",
2050
+ "num-traits",
2051
+ "paste",
2052
+ "raw-cpuid",
2053
+ "rayon",
2054
+ "seq-macro",
2055
+]
2056
+
2057
+[[package]]
2058
+name = "gemm-f32"
2059
+version = "0.18.2"
2060
+source = "registry+https://github.com/rust-lang/crates.io-index"
2061
+checksum = "bc8d3d4385393304f407392f754cd2dc4b315d05063f62cf09f47b58de276864"
2062
+dependencies = [
2063
+ "dyn-stack",
2064
+ "gemm-common 0.18.2",
2065
+ "num-complex",
2066
+ "num-traits",
2067
+ "paste",
2068
+ "raw-cpuid",
2069
+ "seq-macro",
2070
+]
2071
+
2072
+[[package]]
2073
+name = "gemm-f32"
2074
+version = "0.19.0"
2075
+source = "registry+https://github.com/rust-lang/crates.io-index"
2076
+checksum = "02e0b8c9da1fbec6e3e3ab2ce6bc259ef18eb5f6f0d3e4edf54b75f9fd41a81c"
2077
+dependencies = [
2078
+ "dyn-stack",
2079
+ "gemm-common 0.19.0",
2080
+ "num-complex",
2081
+ "num-traits",
2082
+ "paste",
2083
+ "raw-cpuid",
2084
+ "seq-macro",
2085
+]
2086
+
2087
+[[package]]
2088
+name = "gemm-f64"
2089
+version = "0.18.2"
2090
+source = "registry+https://github.com/rust-lang/crates.io-index"
2091
+checksum = "35b2a4f76ce4b8b16eadc11ccf2e083252d8237c1b589558a49b0183545015bd"
2092
+dependencies = [
2093
+ "dyn-stack",
2094
+ "gemm-common 0.18.2",
2095
+ "num-complex",
2096
+ "num-traits",
2097
+ "paste",
2098
+ "raw-cpuid",
2099
+ "seq-macro",
2100
+]
2101
+
2102
+[[package]]
2103
+name = "gemm-f64"
2104
+version = "0.19.0"
2105
+source = "registry+https://github.com/rust-lang/crates.io-index"
2106
+checksum = "056131e8f2a521bfab322f804ccd652520c79700d81209e9d9275bbdecaadc6a"
2107
+dependencies = [
2108
+ "dyn-stack",
2109
+ "gemm-common 0.19.0",
2110
+ "num-complex",
2111
+ "num-traits",
2112
+ "paste",
2113
+ "raw-cpuid",
2114
+ "seq-macro",
2115
+]
2116
+
2117
+[[package]]
2118
+name = "generator"
2119
+version = "0.7.5"
2120
+source = "registry+https://github.com/rust-lang/crates.io-index"
2121
+checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e"
2122
+dependencies = [
2123
+ "cc",
2124
+ "libc",
2125
+ "log",
2126
+ "rustversion",
2127
+ "windows 0.48.0",
2128
+]
2129
+
2130
+[[package]]
2131
+name = "generic-array"
2132
+version = "0.14.7"
2133
+source = "registry+https://github.com/rust-lang/crates.io-index"
2134
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
2135
+dependencies = [
2136
+ "typenum",
2137
+ "version_check",
2138
+]
2139
+
2140
+[[package]]
2141
+name = "getopts"
2142
+version = "0.2.24"
2143
+source = "registry+https://github.com/rust-lang/crates.io-index"
2144
+checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df"
2145
+dependencies = [
2146
+ "unicode-width 0.2.2",
2147
+]
2148
+
2149
+[[package]]
2150
+name = "getrandom"
2151
+version = "0.2.17"
2152
+source = "registry+https://github.com/rust-lang/crates.io-index"
2153
+checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
2154
+dependencies = [
2155
+ "cfg-if",
2156
+ "js-sys",
2157
+ "libc",
2158
+ "wasi",
2159
+ "wasm-bindgen",
2160
+]
2161
+
2162
+[[package]]
2163
+name = "getrandom"
2164
+version = "0.3.4"
2165
+source = "registry+https://github.com/rust-lang/crates.io-index"
2166
+checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
2167
+dependencies = [
2168
+ "cfg-if",
2169
+ "js-sys",
2170
+ "libc",
2171
+ "r-efi 5.3.0",
2172
+ "wasip2",
2173
+ "wasm-bindgen",
2174
+]
2175
+
2176
+[[package]]
2177
+name = "getrandom"
2178
+version = "0.4.2"
2179
+source = "registry+https://github.com/rust-lang/crates.io-index"
2180
+checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
2181
+dependencies = [
2182
+ "cfg-if",
2183
+ "libc",
2184
+ "r-efi 6.0.0",
2185
+ "wasip2",
2186
+ "wasip3",
2187
+]
2188
+
2189
+[[package]]
2190
+name = "gif"
2191
+version = "0.14.2"
2192
+source = "registry+https://github.com/rust-lang/crates.io-index"
2193
+checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159"
2194
+dependencies = [
2195
+ "color_quant",
2196
+ "weezl",
2197
+]
2198
+
2199
+[[package]]
2200
+name = "glob"
2201
+version = "0.3.3"
2202
+source = "registry+https://github.com/rust-lang/crates.io-index"
2203
+checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
2204
+
2205
+[[package]]
2206
+name = "goblin"
2207
+version = "0.8.2"
2208
+source = "registry+https://github.com/rust-lang/crates.io-index"
2209
+checksum = "1b363a30c165f666402fe6a3024d3bec7ebc898f96a4a23bd1c99f8dbf3f4f47"
2210
+dependencies = [
2211
+ "log",
2212
+ "plain",
2213
+ "scroll",
2214
+]
2215
+
2216
+[[package]]
2217
+name = "h2"
2218
+version = "0.4.13"
2219
+source = "registry+https://github.com/rust-lang/crates.io-index"
2220
+checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54"
2221
+dependencies = [
2222
+ "atomic-waker",
2223
+ "bytes",
2224
+ "fnv",
2225
+ "futures-core",
2226
+ "futures-sink",
2227
+ "http",
2228
+ "indexmap 2.14.0",
2229
+ "slab",
2230
+ "tokio",
2231
+ "tokio-util",
2232
+ "tracing",
2233
+]
2234
+
2235
+[[package]]
2236
+name = "half"
2237
+version = "2.7.1"
2238
+source = "registry+https://github.com/rust-lang/crates.io-index"
2239
+checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
2240
+dependencies = [
2241
+ "bytemuck",
2242
+ "cfg-if",
2243
+ "crunchy",
2244
+ "num-traits",
2245
+ "rand 0.9.4",
2246
+ "rand_distr 0.5.1",
2247
+ "zerocopy",
2248
+]
2249
+
2250
+[[package]]
2251
+name = "hashbrown"
2252
+version = "0.12.3"
2253
+source = "registry+https://github.com/rust-lang/crates.io-index"
2254
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
2255
+
2256
+[[package]]
2257
+name = "hashbrown"
2258
+version = "0.15.5"
2259
+source = "registry+https://github.com/rust-lang/crates.io-index"
2260
+checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
2261
+dependencies = [
2262
+ "allocator-api2",
2263
+ "equivalent",
2264
+ "foldhash 0.1.5",
2265
+]
2266
+
2267
+[[package]]
2268
+name = "hashbrown"
2269
+version = "0.16.1"
2270
+source = "registry+https://github.com/rust-lang/crates.io-index"
2271
+checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
2272
+dependencies = [
2273
+ "allocator-api2",
2274
+ "equivalent",
2275
+ "foldhash 0.2.0",
2276
+ "serde",
2277
+ "serde_core",
2278
+]
2279
+
2280
+[[package]]
2281
+name = "hashbrown"
2282
+version = "0.17.0"
2283
+source = "registry+https://github.com/rust-lang/crates.io-index"
2284
+checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
2285
+
2286
+[[package]]
2287
+name = "heck"
2288
+version = "0.3.3"
2289
+source = "registry+https://github.com/rust-lang/crates.io-index"
2290
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
2291
+dependencies = [
2292
+ "unicode-segmentation",
2293
+]
2294
+
2295
+[[package]]
2296
+name = "heck"
2297
+version = "0.5.0"
2298
+source = "registry+https://github.com/rust-lang/crates.io-index"
2299
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
2300
+
2301
+[[package]]
2302
+name = "hermit-abi"
2303
+version = "0.1.19"
2304
+source = "registry+https://github.com/rust-lang/crates.io-index"
2305
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
2306
+dependencies = [
2307
+ "libc",
2308
+]
2309
+
2310
+[[package]]
2311
+name = "hermit-abi"
2312
+version = "0.5.2"
2313
+source = "registry+https://github.com/rust-lang/crates.io-index"
2314
+checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
2315
+
2316
+[[package]]
2317
+name = "hex"
2318
+version = "0.4.3"
2319
+source = "registry+https://github.com/rust-lang/crates.io-index"
2320
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
2321
+
2322
+[[package]]
2323
+name = "hf-hub"
2324
+version = "0.4.3"
2325
+source = "registry+https://github.com/rust-lang/crates.io-index"
2326
+checksum = "629d8f3bbeda9d148036d6b0de0a3ab947abd08ce90626327fc3547a49d59d97"
2327
+dependencies = [
2328
+ "dirs",
2329
+ "futures",
2330
+ "http",
2331
+ "indicatif 0.17.11",
2332
+ "libc",
2333
+ "log",
2334
+ "num_cpus",
2335
+ "rand 0.9.4",
2336
+ "reqwest 0.12.28",
2337
+ "serde",
2338
+ "serde_json",
2339
+ "thiserror 2.0.18",
2340
+ "tokio",
2341
+ "ureq",
2342
+ "windows-sys 0.60.2",
2343
+]
2344
+
2345
+[[package]]
2346
+name = "home"
2347
+version = "0.5.12"
2348
+source = "registry+https://github.com/rust-lang/crates.io-index"
2349
+checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
2350
+dependencies = [
2351
+ "windows-sys 0.61.2",
2352
+]
2353
+
2354
+[[package]]
2355
+name = "hound"
2356
+version = "3.5.1"
2357
+source = "registry+https://github.com/rust-lang/crates.io-index"
2358
+checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f"
2359
+
2360
+[[package]]
2361
+name = "html2text"
2362
+version = "0.16.7"
2363
+source = "registry+https://github.com/rust-lang/crates.io-index"
2364
+checksum = "12d23156ea4dbe6b37ad48fab2da56ff27b0f6192fb5db210c44eb07bfe6e787"
2365
+dependencies = [
2366
+ "html5ever 0.38.0",
2367
+ "tendril 0.5.0",
2368
+ "thiserror 2.0.18",
2369
+ "unicode-width 0.2.2",
2370
+]
2371
+
2372
+[[package]]
2373
+name = "html5ever"
2374
+version = "0.36.1"
2375
+source = "registry+https://github.com/rust-lang/crates.io-index"
2376
+checksum = "6452c4751a24e1b99c3260d505eaeee76a050573e61f30ac2c924ddc7236f01e"
2377
+dependencies = [
2378
+ "log",
2379
+ "markup5ever 0.36.1",
2380
+]
2381
+
2382
+[[package]]
2383
+name = "html5ever"
2384
+version = "0.38.0"
2385
+source = "registry+https://github.com/rust-lang/crates.io-index"
2386
+checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2"
2387
+dependencies = [
2388
+ "log",
2389
+ "markup5ever 0.38.0",
2390
+]
2391
+
2392
+[[package]]
2393
+name = "http"
2394
+version = "1.4.0"
2395
+source = "registry+https://github.com/rust-lang/crates.io-index"
2396
+checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a"
2397
+dependencies = [
2398
+ "bytes",
2399
+ "itoa",
2400
+]
2401
+
2402
+[[package]]
2403
+name = "http-body"
2404
+version = "1.0.1"
2405
+source = "registry+https://github.com/rust-lang/crates.io-index"
2406
+checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
2407
+dependencies = [
2408
+ "bytes",
2409
+ "http",
2410
+]
2411
+
2412
+[[package]]
2413
+name = "http-body-util"
2414
+version = "0.1.3"
2415
+source = "registry+https://github.com/rust-lang/crates.io-index"
2416
+checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
2417
+dependencies = [
2418
+ "bytes",
2419
+ "futures-core",
2420
+ "http",
2421
+ "http-body",
2422
+ "pin-project-lite",
2423
+]
2424
+
2425
+[[package]]
2426
+name = "httparse"
2427
+version = "1.10.1"
2428
+source = "registry+https://github.com/rust-lang/crates.io-index"
2429
+checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
2430
+
2431
+[[package]]
2432
+name = "hyper"
2433
+version = "1.9.0"
2434
+source = "registry+https://github.com/rust-lang/crates.io-index"
2435
+checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca"
2436
+dependencies = [
2437
+ "atomic-waker",
2438
+ "bytes",
2439
+ "futures-channel",
2440
+ "futures-core",
2441
+ "h2",
2442
+ "http",
2443
+ "http-body",
2444
+ "httparse",
2445
+ "itoa",
2446
+ "pin-project-lite",
2447
+ "smallvec 1.15.1",
2448
+ "tokio",
2449
+ "want",
2450
+]
2451
+
2452
+[[package]]
2453
+name = "hyper-rustls"
2454
+version = "0.27.9"
2455
+source = "registry+https://github.com/rust-lang/crates.io-index"
2456
+checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f"
2457
+dependencies = [
2458
+ "http",
2459
+ "hyper",
2460
+ "hyper-util",
2461
+ "rustls",
2462
+ "tokio",
2463
+ "tokio-rustls",
2464
+ "tower-service",
2465
+ "webpki-roots 1.0.6",
2466
+]
2467
+
2468
+[[package]]
2469
+name = "hyper-util"
2470
+version = "0.1.20"
2471
+source = "registry+https://github.com/rust-lang/crates.io-index"
2472
+checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
2473
+dependencies = [
2474
+ "base64 0.22.1",
2475
+ "bytes",
2476
+ "futures-channel",
2477
+ "futures-util",
2478
+ "http",
2479
+ "http-body",
2480
+ "hyper",
2481
+ "ipnet",
2482
+ "libc",
2483
+ "percent-encoding",
2484
+ "pin-project-lite",
2485
+ "socket2",
2486
+ "system-configuration",
2487
+ "tokio",
2488
+ "tower-service",
2489
+ "tracing",
2490
+ "windows-registry",
2491
+]
2492
+
2493
+[[package]]
2494
+name = "iana-time-zone"
2495
+version = "0.1.65"
2496
+source = "registry+https://github.com/rust-lang/crates.io-index"
2497
+checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
2498
+dependencies = [
2499
+ "android_system_properties",
2500
+ "core-foundation-sys",
2501
+ "iana-time-zone-haiku",
2502
+ "js-sys",
2503
+ "log",
2504
+ "wasm-bindgen",
2505
+ "windows-core 0.62.2",
2506
+]
2507
+
2508
+[[package]]
2509
+name = "iana-time-zone-haiku"
2510
+version = "0.1.2"
2511
+source = "registry+https://github.com/rust-lang/crates.io-index"
2512
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
2513
+dependencies = [
2514
+ "cc",
2515
+]
2516
+
2517
+[[package]]
2518
+name = "icu_collections"
2519
+version = "2.2.0"
2520
+source = "registry+https://github.com/rust-lang/crates.io-index"
2521
+checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c"
2522
+dependencies = [
2523
+ "displaydoc",
2524
+ "potential_utf",
2525
+ "utf8_iter",
2526
+ "yoke 0.8.2",
2527
+ "zerofrom",
2528
+ "zerovec",
2529
+]
2530
+
2531
+[[package]]
2532
+name = "icu_locale_core"
2533
+version = "2.2.0"
2534
+source = "registry+https://github.com/rust-lang/crates.io-index"
2535
+checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29"
2536
+dependencies = [
2537
+ "displaydoc",
2538
+ "litemap",
2539
+ "tinystr",
2540
+ "writeable",
2541
+ "zerovec",
2542
+]
2543
+
2544
+[[package]]
2545
+name = "icu_normalizer"
2546
+version = "2.2.0"
2547
+source = "registry+https://github.com/rust-lang/crates.io-index"
2548
+checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4"
2549
+dependencies = [
2550
+ "icu_collections",
2551
+ "icu_normalizer_data",
2552
+ "icu_properties",
2553
+ "icu_provider",
2554
+ "smallvec 1.15.1",
2555
+ "zerovec",
2556
+]
2557
+
2558
+[[package]]
2559
+name = "icu_normalizer_data"
2560
+version = "2.2.0"
2561
+source = "registry+https://github.com/rust-lang/crates.io-index"
2562
+checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38"
2563
+
2564
+[[package]]
2565
+name = "icu_properties"
2566
+version = "2.2.0"
2567
+source = "registry+https://github.com/rust-lang/crates.io-index"
2568
+checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de"
2569
+dependencies = [
2570
+ "icu_collections",
2571
+ "icu_locale_core",
2572
+ "icu_properties_data",
2573
+ "icu_provider",
2574
+ "zerotrie",
2575
+ "zerovec",
2576
+]
2577
+
2578
+[[package]]
2579
+name = "icu_properties_data"
2580
+version = "2.2.0"
2581
+source = "registry+https://github.com/rust-lang/crates.io-index"
2582
+checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14"
2583
+
2584
+[[package]]
2585
+name = "icu_provider"
2586
+version = "2.2.0"
2587
+source = "registry+https://github.com/rust-lang/crates.io-index"
2588
+checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421"
2589
+dependencies = [
2590
+ "displaydoc",
2591
+ "icu_locale_core",
2592
+ "writeable",
2593
+ "yoke 0.8.2",
2594
+ "zerofrom",
2595
+ "zerotrie",
2596
+ "zerovec",
2597
+]
2598
+
2599
+[[package]]
2600
+name = "id-arena"
2601
+version = "2.3.0"
2602
+source = "registry+https://github.com/rust-lang/crates.io-index"
2603
+checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
2604
+
2605
+[[package]]
2606
+name = "ident_case"
2607
+version = "1.0.1"
2608
+source = "registry+https://github.com/rust-lang/crates.io-index"
2609
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
2610
+
2611
+[[package]]
2612
+name = "idna"
2613
+version = "1.1.0"
2614
+source = "registry+https://github.com/rust-lang/crates.io-index"
2615
+checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
2616
+dependencies = [
2617
+ "idna_adapter",
2618
+ "smallvec 1.15.1",
2619
+ "utf8_iter",
2620
+]
2621
+
2622
+[[package]]
2623
+name = "idna_adapter"
2624
+version = "1.2.1"
2625
+source = "registry+https://github.com/rust-lang/crates.io-index"
2626
+checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
2627
+dependencies = [
2628
+ "icu_normalizer",
2629
+ "icu_properties",
2630
+]
2631
+
2632
+[[package]]
2633
+name = "image"
2634
+version = "0.25.10"
2635
+source = "registry+https://github.com/rust-lang/crates.io-index"
2636
+checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104"
2637
+dependencies = [
2638
+ "bytemuck",
2639
+ "byteorder-lite",
2640
+ "color_quant",
2641
+ "exr",
2642
+ "gif",
2643
+ "image-webp",
2644
+ "moxcms",
2645
+ "num-traits",
2646
+ "png",
2647
+ "qoi",
2648
+ "ravif",
2649
+ "rayon",
2650
+ "rgb",
2651
+ "tiff",
2652
+ "zune-core",
2653
+ "zune-jpeg",
2654
+]
2655
+
2656
+[[package]]
2657
+name = "image-webp"
2658
+version = "0.2.4"
2659
+source = "registry+https://github.com/rust-lang/crates.io-index"
2660
+checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3"
2661
+dependencies = [
2662
+ "byteorder-lite",
2663
+ "quick-error",
2664
+]
2665
+
2666
+[[package]]
2667
+name = "imgref"
2668
+version = "1.12.0"
2669
+source = "registry+https://github.com/rust-lang/crates.io-index"
2670
+checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8"
2671
+
2672
+[[package]]
2673
+name = "indexmap"
2674
+version = "1.9.3"
2675
+source = "registry+https://github.com/rust-lang/crates.io-index"
2676
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
2677
+dependencies = [
2678
+ "autocfg",
2679
+ "hashbrown 0.12.3",
2680
+ "serde",
2681
+]
2682
+
2683
+[[package]]
2684
+name = "indexmap"
2685
+version = "2.14.0"
2686
+source = "registry+https://github.com/rust-lang/crates.io-index"
2687
+checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
2688
+dependencies = [
2689
+ "equivalent",
2690
+ "hashbrown 0.17.0",
2691
+ "serde",
2692
+ "serde_core",
2693
+]
2694
+
2695
+[[package]]
2696
+name = "indicatif"
2697
+version = "0.17.11"
2698
+source = "registry+https://github.com/rust-lang/crates.io-index"
2699
+checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235"
2700
+dependencies = [
2701
+ "console 0.15.11",
2702
+ "number_prefix",
2703
+ "portable-atomic",
2704
+ "unicode-width 0.2.2",
2705
+ "web-time",
2706
+]
2707
+
2708
+[[package]]
2709
+name = "indicatif"
2710
+version = "0.18.4"
2711
+source = "registry+https://github.com/rust-lang/crates.io-index"
2712
+checksum = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb"
2713
+dependencies = [
2714
+ "console 0.16.3",
2715
+ "portable-atomic",
2716
+ "rayon",
2717
+ "unicode-width 0.2.2",
2718
+ "unit-prefix",
2719
+ "web-time",
2720
+]
2721
+
2722
+[[package]]
2723
+name = "interpolate_name"
2724
+version = "0.2.4"
2725
+source = "registry+https://github.com/rust-lang/crates.io-index"
2726
+checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
2727
+dependencies = [
2728
+ "proc-macro2",
2729
+ "quote",
2730
+ "syn 2.0.117",
2731
+]
2732
+
2733
+[[package]]
2734
+name = "interprocess"
2735
+version = "2.4.0"
2736
+source = "registry+https://github.com/rust-lang/crates.io-index"
2737
+checksum = "6be5e5c847dbdb44564bd85294740d031f4f8aeb3464e5375ef7141f7538db69"
2738
+dependencies = [
2739
+ "doctest-file",
2740
+ "libc",
2741
+ "recvmsg",
2742
+ "widestring",
2743
+ "windows-sys 0.52.0",
2744
+]
2745
+
2746
+[[package]]
2747
+name = "ipnet"
2748
+version = "2.12.0"
2749
+source = "registry+https://github.com/rust-lang/crates.io-index"
2750
+checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2"
2751
+
2752
+[[package]]
2753
+name = "iri-string"
2754
+version = "0.7.12"
2755
+source = "registry+https://github.com/rust-lang/crates.io-index"
2756
+checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20"
2757
+dependencies = [
2758
+ "memchr",
2759
+ "serde",
2760
+]
2761
+
2762
+[[package]]
2763
+name = "is_terminal_polyfill"
2764
+version = "1.70.2"
2765
+source = "registry+https://github.com/rust-lang/crates.io-index"
2766
+checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
2767
+
2768
+[[package]]
2769
+name = "itertools"
2770
+version = "0.14.0"
2771
+source = "registry+https://github.com/rust-lang/crates.io-index"
2772
+checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
2773
+dependencies = [
2774
+ "either",
2775
+]
2776
+
2777
+[[package]]
2778
+name = "itoa"
2779
+version = "1.0.18"
2780
+source = "registry+https://github.com/rust-lang/crates.io-index"
2781
+checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
2782
+
2783
+[[package]]
2784
+name = "jiff"
2785
+version = "0.2.23"
2786
+source = "registry+https://github.com/rust-lang/crates.io-index"
2787
+checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359"
2788
+dependencies = [
2789
+ "jiff-static",
2790
+ "log",
2791
+ "portable-atomic",
2792
+ "portable-atomic-util",
2793
+ "serde_core",
2794
+]
2795
+
2796
+[[package]]
2797
+name = "jiff-static"
2798
+version = "0.2.23"
2799
+source = "registry+https://github.com/rust-lang/crates.io-index"
2800
+checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4"
2801
+dependencies = [
2802
+ "proc-macro2",
2803
+ "quote",
2804
+ "syn 2.0.117",
2805
+]
2806
+
2807
+[[package]]
2808
+name = "jni"
2809
+version = "0.21.1"
2810
+source = "registry+https://github.com/rust-lang/crates.io-index"
2811
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
2812
+dependencies = [
2813
+ "cesu8",
2814
+ "cfg-if",
2815
+ "combine",
2816
+ "jni-sys 0.3.1",
2817
+ "log",
2818
+ "thiserror 1.0.69",
2819
+ "walkdir",
2820
+ "windows-sys 0.45.0",
2821
+]
2822
+
2823
+[[package]]
2824
+name = "jni-sys"
2825
+version = "0.3.1"
2826
+source = "registry+https://github.com/rust-lang/crates.io-index"
2827
+checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258"
2828
+dependencies = [
2829
+ "jni-sys 0.4.1",
2830
+]
2831
+
2832
+[[package]]
2833
+name = "jni-sys"
2834
+version = "0.4.1"
2835
+source = "registry+https://github.com/rust-lang/crates.io-index"
2836
+checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2"
2837
+dependencies = [
2838
+ "jni-sys-macros",
2839
+]
2840
+
2841
+[[package]]
2842
+name = "jni-sys-macros"
2843
+version = "0.4.1"
2844
+source = "registry+https://github.com/rust-lang/crates.io-index"
2845
+checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264"
2846
+dependencies = [
2847
+ "quote",
2848
+ "syn 2.0.117",
2849
+]
2850
+
2851
+[[package]]
2852
+name = "jobserver"
2853
+version = "0.1.34"
2854
+source = "registry+https://github.com/rust-lang/crates.io-index"
2855
+checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
2856
+dependencies = [
2857
+ "getrandom 0.3.4",
2858
+ "libc",
2859
+]
2860
+
2861
+[[package]]
2862
+name = "js-sys"
2863
+version = "0.3.95"
2864
+source = "registry+https://github.com/rust-lang/crates.io-index"
2865
+checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca"
2866
+dependencies = [
2867
+ "cfg-if",
2868
+ "futures-util",
2869
+ "once_cell",
2870
+ "wasm-bindgen",
2871
+]
2872
+
2873
+[[package]]
2874
+name = "lazy_static"
2875
+version = "1.5.0"
2876
+source = "registry+https://github.com/rust-lang/crates.io-index"
2877
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
2878
+
2879
+[[package]]
2880
+name = "leb128fmt"
2881
+version = "0.1.0"
2882
+source = "registry+https://github.com/rust-lang/crates.io-index"
2883
+checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
2884
+
2885
+[[package]]
2886
+name = "lebe"
2887
+version = "0.5.3"
2888
+source = "registry+https://github.com/rust-lang/crates.io-index"
2889
+checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8"
2890
+
2891
+[[package]]
2892
+name = "libc"
2893
+version = "0.2.184"
2894
+source = "registry+https://github.com/rust-lang/crates.io-index"
2895
+checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
2896
+
2897
+[[package]]
2898
+name = "libfuzzer-sys"
2899
+version = "0.4.12"
2900
+source = "registry+https://github.com/rust-lang/crates.io-index"
2901
+checksum = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d"
2902
+dependencies = [
2903
+ "arbitrary",
2904
+ "cc",
2905
+]
2906
+
2907
+[[package]]
2908
+name = "libloading"
2909
+version = "0.8.9"
2910
+source = "registry+https://github.com/rust-lang/crates.io-index"
2911
+checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
2912
+dependencies = [
2913
+ "cfg-if",
2914
+ "windows-link 0.2.1",
2915
+]
2916
+
2917
+[[package]]
2918
+name = "libm"
2919
+version = "0.2.16"
2920
+source = "registry+https://github.com/rust-lang/crates.io-index"
2921
+checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
2922
+
2923
+[[package]]
2924
+name = "libredox"
2925
+version = "0.1.16"
2926
+source = "registry+https://github.com/rust-lang/crates.io-index"
2927
+checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c"
2928
+dependencies = [
2929
+ "libc",
2930
+]
2931
+
2932
+[[package]]
2933
+name = "linux-raw-sys"
2934
+version = "0.12.1"
2935
+source = "registry+https://github.com/rust-lang/crates.io-index"
2936
+checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
2937
+
2938
+[[package]]
2939
+name = "litemap"
2940
+version = "0.8.2"
2941
+source = "registry+https://github.com/rust-lang/crates.io-index"
2942
+checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
2943
+
2944
+[[package]]
2945
+name = "llguidance"
2946
+version = "1.7.2"
2947
+source = "registry+https://github.com/rust-lang/crates.io-index"
2948
+checksum = "b3b5dad652ff9a18c02c6598773553f0e57a33ee28f86de801b1fa8161b9e2af"
2949
+dependencies = [
2950
+ "anyhow",
2951
+ "derivre",
2952
+ "indexmap 2.14.0",
2953
+ "regex-syntax",
2954
+ "serde",
2955
+ "serde_json",
2956
+ "toktrie",
2957
+]
2958
+
2959
+[[package]]
2960
+name = "lock_api"
2961
+version = "0.4.14"
2962
+source = "registry+https://github.com/rust-lang/crates.io-index"
2963
+checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
2964
+dependencies = [
2965
+ "scopeguard",
2966
+]
2967
+
2968
+[[package]]
2969
+name = "log"
2970
+version = "0.4.29"
2971
+source = "registry+https://github.com/rust-lang/crates.io-index"
2972
+checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
2973
+
2974
+[[package]]
2975
+name = "loom"
2976
+version = "0.5.6"
2977
+source = "registry+https://github.com/rust-lang/crates.io-index"
2978
+checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5"
2979
+dependencies = [
2980
+ "cfg-if",
2981
+ "generator",
2982
+ "scoped-tls",
2983
+ "serde",
2984
+ "serde_json",
2985
+ "tracing",
2986
+ "tracing-subscriber",
2987
+]
2988
+
2989
+[[package]]
2990
+name = "loop9"
2991
+version = "0.1.5"
2992
+source = "registry+https://github.com/rust-lang/crates.io-index"
2993
+checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062"
2994
+dependencies = [
2995
+ "imgref",
2996
+]
2997
+
2998
+[[package]]
2999
+name = "lrtable"
3000
+version = "0.14.1"
3001
+source = "registry+https://github.com/rust-lang/crates.io-index"
3002
+checksum = "b15ad6a43e5cff4ac046d51281d2256a36d1440065eab53ccce9362b48db5b42"
3003
+dependencies = [
3004
+ "cfgrammar",
3005
+ "fnv",
3006
+ "num-traits",
3007
+ "sparsevec",
3008
+ "vob",
3009
+]
3010
+
3011
+[[package]]
3012
+name = "lru-slab"
3013
+version = "0.1.2"
3014
+source = "registry+https://github.com/rust-lang/crates.io-index"
3015
+checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
3016
+
3017
+[[package]]
3018
+name = "mac"
3019
+version = "0.1.1"
3020
+source = "registry+https://github.com/rust-lang/crates.io-index"
3021
+checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
3022
+
3023
+[[package]]
3024
+name = "macro_rules_attribute"
3025
+version = "0.2.2"
3026
+source = "registry+https://github.com/rust-lang/crates.io-index"
3027
+checksum = "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520"
3028
+dependencies = [
3029
+ "macro_rules_attribute-proc_macro",
3030
+ "paste",
3031
+]
3032
+
3033
+[[package]]
3034
+name = "macro_rules_attribute-proc_macro"
3035
+version = "0.2.2"
3036
+source = "registry+https://github.com/rust-lang/crates.io-index"
3037
+checksum = "670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30"
3038
+
3039
+[[package]]
3040
+name = "malloc_buf"
3041
+version = "0.0.6"
3042
+source = "registry+https://github.com/rust-lang/crates.io-index"
3043
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
3044
+dependencies = [
3045
+ "libc",
3046
+]
3047
+
3048
+[[package]]
3049
+name = "markup5ever"
3050
+version = "0.36.1"
3051
+source = "registry+https://github.com/rust-lang/crates.io-index"
3052
+checksum = "6c3294c4d74d0742910f8c7b466f44dda9eb2d5742c1e430138df290a1e8451c"
3053
+dependencies = [
3054
+ "log",
3055
+ "tendril 0.4.3",
3056
+ "web_atoms",
3057
+]
3058
+
3059
+[[package]]
3060
+name = "markup5ever"
3061
+version = "0.38.0"
3062
+source = "registry+https://github.com/rust-lang/crates.io-index"
3063
+checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862"
3064
+dependencies = [
3065
+ "log",
3066
+ "tendril 0.5.0",
3067
+ "web_atoms",
3068
+]
3069
+
3070
+[[package]]
3071
+name = "matchers"
3072
+version = "0.2.0"
3073
+source = "registry+https://github.com/rust-lang/crates.io-index"
3074
+checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
3075
+dependencies = [
3076
+ "regex-automata",
3077
+]
3078
+
3079
+[[package]]
3080
+name = "matrixmultiply"
3081
+version = "0.3.10"
3082
+source = "registry+https://github.com/rust-lang/crates.io-index"
3083
+checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
3084
+dependencies = [
3085
+ "autocfg",
3086
+ "rawpointer",
3087
+]
3088
+
3089
+[[package]]
3090
+name = "maybe-rayon"
3091
+version = "0.1.1"
3092
+source = "registry+https://github.com/rust-lang/crates.io-index"
3093
+checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519"
3094
+dependencies = [
3095
+ "cfg-if",
3096
+ "rayon",
3097
+]
3098
+
3099
+[[package]]
3100
+name = "memchr"
3101
+version = "2.8.0"
3102
+source = "registry+https://github.com/rust-lang/crates.io-index"
3103
+checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
3104
+
3105
+[[package]]
3106
+name = "memmap2"
3107
+version = "0.9.10"
3108
+source = "registry+https://github.com/rust-lang/crates.io-index"
3109
+checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3"
3110
+dependencies = [
3111
+ "libc",
3112
+ "stable_deref_trait",
3113
+]
3114
+
3115
+[[package]]
3116
+name = "memo-map"
3117
+version = "0.3.3"
3118
+source = "registry+https://github.com/rust-lang/crates.io-index"
3119
+checksum = "38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b"
3120
+
3121
+[[package]]
3122
+name = "metal"
3123
+version = "0.29.0"
3124
+source = "registry+https://github.com/rust-lang/crates.io-index"
3125
+checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21"
3126
+dependencies = [
3127
+ "bitflags 2.11.0",
3128
+ "block",
3129
+ "core-graphics-types",
3130
+ "foreign-types",
3131
+ "log",
3132
+ "objc",
3133
+ "paste",
3134
+]
3135
+
3136
+[[package]]
3137
+name = "mime"
3138
+version = "0.3.17"
3139
+source = "registry+https://github.com/rust-lang/crates.io-index"
3140
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
3141
+
3142
+[[package]]
3143
+name = "mime_guess"
3144
+version = "2.0.5"
3145
+source = "registry+https://github.com/rust-lang/crates.io-index"
3146
+checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
3147
+dependencies = [
3148
+ "mime",
3149
+ "unicase",
3150
+]
3151
+
3152
+[[package]]
3153
+name = "minijinja"
3154
+version = "2.19.0"
3155
+source = "registry+https://github.com/rust-lang/crates.io-index"
3156
+checksum = "805bfd7352166bae857ee569628b52bcd85a1cecf7810861ebceb1686b72b75d"
3157
+dependencies = [
3158
+ "memo-map",
3159
+ "serde",
3160
+ "serde_json",
3161
+]
3162
+
3163
+[[package]]
3164
+name = "minijinja-contrib"
3165
+version = "2.19.0"
3166
+source = "registry+https://github.com/rust-lang/crates.io-index"
3167
+checksum = "45092d80391870622fcf3bd82f5d2af18f99533ea60debb4bc9db0c76f0e809a"
3168
+dependencies = [
3169
+ "minijinja",
3170
+ "serde",
3171
+]
3172
+
3173
+[[package]]
3174
+name = "minimal-lexical"
3175
+version = "0.2.1"
3176
+source = "registry+https://github.com/rust-lang/crates.io-index"
3177
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
3178
+
3179
+[[package]]
3180
+name = "miniz_oxide"
3181
+version = "0.8.9"
3182
+source = "registry+https://github.com/rust-lang/crates.io-index"
3183
+checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
3184
+dependencies = [
3185
+ "adler2",
3186
+ "simd-adler32",
3187
+]
3188
+
3189
+[[package]]
3190
+name = "mio"
3191
+version = "0.8.11"
3192
+source = "registry+https://github.com/rust-lang/crates.io-index"
3193
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
3194
+dependencies = [
3195
+ "libc",
3196
+ "log",
3197
+ "wasi",
3198
+ "windows-sys 0.48.0",
3199
+]
3200
+
3201
+[[package]]
3202
+name = "mio"
3203
+version = "1.2.0"
3204
+source = "registry+https://github.com/rust-lang/crates.io-index"
3205
+checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1"
3206
+dependencies = [
3207
+ "libc",
3208
+ "wasi",
3209
+ "windows-sys 0.61.2",
3210
+]
3211
+
3212
+[[package]]
3213
+name = "mistralrs"
3214
+version = "0.8.1"
3215
+source = "registry+https://github.com/rust-lang/crates.io-index"
3216
+checksum = "9bb0a83340b4492ebba9760ba6845364de369c7e10c1f91af8733d574c7405fa"
3217
+dependencies = [
3218
+ "anyhow",
3219
+ "candle-core",
3220
+ "candle-nn",
3221
+ "clap 4.6.0",
3222
+ "either",
3223
+ "futures",
3224
+ "image",
3225
+ "indexmap 2.14.0",
3226
+ "mistralrs-core",
3227
+ "mistralrs-macros",
3228
+ "rand 0.9.4",
3229
+ "reqwest 0.13.2",
3230
+ "schemars 1.2.1",
3231
+ "serde",
3232
+ "serde_json",
3233
+ "thiserror 2.0.18",
3234
+ "tokio",
3235
+ "tracing",
3236
+ "tracing-subscriber",
3237
+ "walkdir",
3238
+]
3239
+
3240
+[[package]]
3241
+name = "mistralrs-audio"
3242
+version = "0.8.1"
3243
+source = "registry+https://github.com/rust-lang/crates.io-index"
3244
+checksum = "5ac5d36f634c7c20c45845bc995be3b6387ab01048410386a5b180cfeaf89c72"
3245
+dependencies = [
3246
+ "anyhow",
3247
+ "apodize",
3248
+ "hound",
3249
+ "symphonia",
3250
+]
3251
+
3252
+[[package]]
3253
+name = "mistralrs-core"
3254
+version = "0.8.1"
3255
+source = "registry+https://github.com/rust-lang/crates.io-index"
3256
+checksum = "a2b8b9e5c94491d9ceeded3a30291cb6af6ae74810a5776dd55e3bbb8b3429d4"
3257
+dependencies = [
3258
+ "ahash",
3259
+ "akin",
3260
+ "anyhow",
3261
+ "apodize",
3262
+ "as-any",
3263
+ "async-trait",
3264
+ "base64 0.22.1",
3265
+ "bm25",
3266
+ "bytemuck",
3267
+ "bytemuck_derive",
3268
+ "candle-core",
3269
+ "candle-metal-kernels",
3270
+ "candle-nn",
3271
+ "cfgrammar",
3272
+ "chrono",
3273
+ "clap 4.6.0",
3274
+ "csv",
3275
+ "derive-new",
3276
+ "derive_more",
3277
+ "dirs",
3278
+ "either",
3279
+ "float8",
3280
+ "futures",
3281
+ "galil-seiferas",
3282
+ "half",
3283
+ "hashbrown 0.16.1",
3284
+ "hf-hub",
3285
+ "hound",
3286
+ "html2text",
3287
+ "http",
3288
+ "image",
3289
+ "indexmap 2.14.0",
3290
+ "indicatif 0.18.4",
3291
+ "interprocess",
3292
+ "itertools",
3293
+ "libc",
3294
+ "llguidance",
3295
+ "lrtable",
3296
+ "minijinja",
3297
+ "minijinja-contrib",
3298
+ "mistralrs-audio",
3299
+ "mistralrs-mcp",
3300
+ "mistralrs-paged-attn",
3301
+ "mistralrs-quant",
3302
+ "mistralrs-vision",
3303
+ "num-traits",
3304
+ "objc",
3305
+ "objc2-metal",
3306
+ "openai-harmony",
3307
+ "ordered-float",
3308
+ "parking_lot",
3309
+ "radix_trie",
3310
+ "rand 0.9.4",
3311
+ "rand_distr 0.5.1",
3312
+ "rand_isaac",
3313
+ "rayon",
3314
+ "regex",
3315
+ "regex-automata",
3316
+ "reqwest 0.13.2",
3317
+ "rubato",
3318
+ "rust-mcp-schema",
3319
+ "rustc-hash 2.1.2",
3320
+ "rustfft",
3321
+ "safetensors 0.7.0",
3322
+ "schemars 1.2.1",
3323
+ "scraper",
3324
+ "serde",
3325
+ "serde-big-array",
3326
+ "serde-saphyr",
3327
+ "serde_json",
3328
+ "serde_plain",
3329
+ "statrs",
3330
+ "strum 0.27.2",
3331
+ "symphonia",
3332
+ "sysinfo",
3333
+ "thiserror 2.0.18",
3334
+ "tokenizers 0.21.4",
3335
+ "tokio",
3336
+ "tokio-rayon",
3337
+ "tokio-tungstenite",
3338
+ "toktrie",
3339
+ "toktrie_hf_tokenizers",
3340
+ "toml",
3341
+ "tqdm",
3342
+ "tracing",
3343
+ "tracing-subscriber",
3344
+ "urlencoding",
3345
+ "uuid 1.23.0",
3346
+ "variantly",
3347
+ "vob",
3348
+]
3349
+
3350
+[[package]]
3351
+name = "mistralrs-macros"
3352
+version = "0.8.1"
3353
+source = "registry+https://github.com/rust-lang/crates.io-index"
3354
+checksum = "5aa9b4794322d3f89fe61d21f33f67be494c16d5bd869604b111218f32544d32"
3355
+dependencies = [
3356
+ "darling 0.23.0",
3357
+ "proc-macro2",
3358
+ "quote",
3359
+ "syn 2.0.117",
3360
+]
3361
+
3362
+[[package]]
3363
+name = "mistralrs-mcp"
3364
+version = "0.8.1"
3365
+source = "registry+https://github.com/rust-lang/crates.io-index"
3366
+checksum = "4fa97d4e3189ed80ebbc730b7da5b2356df0ae004ab489066249340c33c089ab"
3367
+dependencies = [
3368
+ "anyhow",
3369
+ "async-trait",
3370
+ "futures-util",
3371
+ "http",
3372
+ "reqwest 0.13.2",
3373
+ "rust-mcp-schema",
3374
+ "serde",
3375
+ "serde_json",
3376
+ "tokio",
3377
+ "tokio-tungstenite",
3378
+ "tracing",
3379
+ "utoipa",
3380
+ "uuid 1.23.0",
3381
+]
3382
+
3383
+[[package]]
3384
+name = "mistralrs-paged-attn"
3385
+version = "0.8.1"
3386
+source = "registry+https://github.com/rust-lang/crates.io-index"
3387
+checksum = "6e53ddf1537426997b46abdadbe6ca8a7ce7668004ed2b7cf00115016558bae8"
3388
+dependencies = [
3389
+ "anyhow",
3390
+ "candle-core",
3391
+ "candle-metal-kernels",
3392
+ "dispatch2",
3393
+ "float8",
3394
+ "half",
3395
+ "objc2-foundation",
3396
+ "objc2-metal",
3397
+ "thiserror 2.0.18",
3398
+]
3399
+
3400
+[[package]]
3401
+name = "mistralrs-quant"
3402
+version = "0.8.1"
3403
+source = "registry+https://github.com/rust-lang/crates.io-index"
3404
+checksum = "980715493d252e9aaf0779c4c101576d67ef4dd9812bfd77a54987f6f17526f4"
3405
+dependencies = [
3406
+ "byteorder",
3407
+ "candle-core",
3408
+ "candle-metal-kernels",
3409
+ "candle-nn",
3410
+ "dispatch2",
3411
+ "float8",
3412
+ "half",
3413
+ "hf-hub",
3414
+ "lazy_static",
3415
+ "memmap2",
3416
+ "objc2-foundation",
3417
+ "objc2-metal",
3418
+ "paste",
3419
+ "rayon",
3420
+ "regex",
3421
+ "safetensors 0.7.0",
3422
+ "serde",
3423
+ "serde_json",
3424
+ "thiserror 2.0.18",
3425
+ "tokio",
3426
+ "tracing",
3427
+ "yoke 0.8.2",
3428
+]
3429
+
3430
+[[package]]
3431
+name = "mistralrs-vision"
3432
+version = "0.8.1"
3433
+source = "registry+https://github.com/rust-lang/crates.io-index"
3434
+checksum = "10046a3da2de5b702d3e829b5ddef7aa829ad454819dcc4876dea481a6cb5456"
3435
+dependencies = [
3436
+ "candle-core",
3437
+ "image",
3438
+ "rayon",
3439
+]
3440
+
3441
+[[package]]
3442
+name = "monostate"
3443
+version = "0.1.18"
3444
+source = "registry+https://github.com/rust-lang/crates.io-index"
3445
+checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67"
3446
+dependencies = [
3447
+ "monostate-impl",
3448
+ "serde",
3449
+ "serde_core",
3450
+]
3451
+
3452
+[[package]]
3453
+name = "monostate-impl"
3454
+version = "0.1.18"
3455
+source = "registry+https://github.com/rust-lang/crates.io-index"
3456
+checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9"
3457
+dependencies = [
3458
+ "proc-macro2",
3459
+ "quote",
3460
+ "syn 2.0.117",
3461
+]
3462
+
3463
+[[package]]
3464
+name = "moxcms"
3465
+version = "0.8.1"
3466
+source = "registry+https://github.com/rust-lang/crates.io-index"
3467
+checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b"
3468
+dependencies = [
3469
+ "num-traits",
3470
+ "pxfm",
3471
+]
3472
+
3473
+[[package]]
3474
+name = "nalgebra"
3475
+version = "0.33.3"
3476
+source = "registry+https://github.com/rust-lang/crates.io-index"
3477
+checksum = "9d43ddcacf343185dfd6de2ee786d9e8b1c2301622afab66b6c73baf9882abfd"
3478
+dependencies = [
3479
+ "approx",
3480
+ "matrixmultiply",
3481
+ "num-complex",
3482
+ "num-rational",
3483
+ "num-traits",
3484
+ "rand 0.8.5",
3485
+ "rand_distr 0.4.3",
3486
+ "simba",
3487
+ "typenum",
3488
+]
3489
+
3490
+[[package]]
3491
+name = "new_debug_unreachable"
3492
+version = "1.0.6"
3493
+source = "registry+https://github.com/rust-lang/crates.io-index"
3494
+checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
3495
+
3496
+[[package]]
3497
+name = "nibble_vec"
3498
+version = "0.1.0"
3499
+source = "registry+https://github.com/rust-lang/crates.io-index"
3500
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
3501
+dependencies = [
3502
+ "smallvec 1.15.1",
3503
+]
3504
+
3505
+[[package]]
3506
+name = "nohash-hasher"
3507
+version = "0.2.0"
3508
+source = "registry+https://github.com/rust-lang/crates.io-index"
3509
+checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
3510
+
3511
+[[package]]
3512
+name = "nom"
3513
+version = "7.1.3"
3514
+source = "registry+https://github.com/rust-lang/crates.io-index"
3515
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
3516
+dependencies = [
3517
+ "memchr",
3518
+ "minimal-lexical",
3519
+]
3520
+
3521
+[[package]]
3522
+name = "nom"
3523
+version = "8.0.0"
3524
+source = "registry+https://github.com/rust-lang/crates.io-index"
3525
+checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405"
3526
+dependencies = [
3527
+ "memchr",
3528
+]
3529
+
3530
+[[package]]
3531
+name = "noop_proc_macro"
3532
+version = "0.3.0"
3533
+source = "registry+https://github.com/rust-lang/crates.io-index"
3534
+checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
3535
+
3536
+[[package]]
3537
+name = "ntapi"
3538
+version = "0.4.3"
3539
+source = "registry+https://github.com/rust-lang/crates.io-index"
3540
+checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae"
3541
+dependencies = [
3542
+ "winapi",
3543
+]
3544
+
3545
+[[package]]
3546
+name = "nu-ansi-term"
3547
+version = "0.50.3"
3548
+source = "registry+https://github.com/rust-lang/crates.io-index"
3549
+checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
3550
+dependencies = [
3551
+ "windows-sys 0.61.2",
3552
+]
3553
+
3554
+[[package]]
3555
+name = "num"
3556
+version = "0.4.3"
3557
+source = "registry+https://github.com/rust-lang/crates.io-index"
3558
+checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
3559
+dependencies = [
3560
+ "num-bigint",
3561
+ "num-complex",
3562
+ "num-integer",
3563
+ "num-iter",
3564
+ "num-rational",
3565
+ "num-traits",
3566
+]
3567
+
3568
+[[package]]
3569
+name = "num-bigint"
3570
+version = "0.4.6"
3571
+source = "registry+https://github.com/rust-lang/crates.io-index"
3572
+checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
3573
+dependencies = [
3574
+ "num-integer",
3575
+ "num-traits",
3576
+]
3577
+
3578
+[[package]]
3579
+name = "num-complex"
3580
+version = "0.4.6"
3581
+source = "registry+https://github.com/rust-lang/crates.io-index"
3582
+checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
3583
+dependencies = [
3584
+ "bytemuck",
3585
+ "num-traits",
3586
+]
3587
+
3588
+[[package]]
3589
+name = "num-conv"
3590
+version = "0.2.1"
3591
+source = "registry+https://github.com/rust-lang/crates.io-index"
3592
+checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967"
3593
+
3594
+[[package]]
3595
+name = "num-derive"
3596
+version = "0.4.2"
3597
+source = "registry+https://github.com/rust-lang/crates.io-index"
3598
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
3599
+dependencies = [
3600
+ "proc-macro2",
3601
+ "quote",
3602
+ "syn 2.0.117",
3603
+]
3604
+
3605
+[[package]]
3606
+name = "num-integer"
3607
+version = "0.1.46"
3608
+source = "registry+https://github.com/rust-lang/crates.io-index"
3609
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
3610
+dependencies = [
3611
+ "num-traits",
3612
+]
3613
+
3614
+[[package]]
3615
+name = "num-iter"
3616
+version = "0.1.45"
3617
+source = "registry+https://github.com/rust-lang/crates.io-index"
3618
+checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
3619
+dependencies = [
3620
+ "autocfg",
3621
+ "num-integer",
3622
+ "num-traits",
3623
+]
3624
+
3625
+[[package]]
3626
+name = "num-rational"
3627
+version = "0.4.2"
3628
+source = "registry+https://github.com/rust-lang/crates.io-index"
3629
+checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
3630
+dependencies = [
3631
+ "num-bigint",
3632
+ "num-integer",
3633
+ "num-traits",
3634
+]
3635
+
3636
+[[package]]
3637
+name = "num-traits"
3638
+version = "0.2.19"
3639
+source = "registry+https://github.com/rust-lang/crates.io-index"
3640
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
3641
+dependencies = [
3642
+ "autocfg",
3643
+ "libm",
3644
+]
3645
+
3646
+[[package]]
3647
+name = "num_cpus"
3648
+version = "1.17.0"
3649
+source = "registry+https://github.com/rust-lang/crates.io-index"
3650
+checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
3651
+dependencies = [
3652
+ "hermit-abi 0.5.2",
3653
+ "libc",
3654
+]
3655
+
3656
+[[package]]
3657
+name = "number_prefix"
3658
+version = "0.4.0"
3659
+source = "registry+https://github.com/rust-lang/crates.io-index"
3660
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
3661
+
3662
+[[package]]
3663
+name = "objc"
3664
+version = "0.2.7"
3665
+source = "registry+https://github.com/rust-lang/crates.io-index"
3666
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
3667
+dependencies = [
3668
+ "malloc_buf",
3669
+]
3670
+
3671
+[[package]]
3672
+name = "objc2"
3673
+version = "0.6.4"
3674
+source = "registry+https://github.com/rust-lang/crates.io-index"
3675
+checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
3676
+dependencies = [
3677
+ "objc2-encode",
3678
+]
3679
+
3680
+[[package]]
3681
+name = "objc2-core-foundation"
3682
+version = "0.3.2"
3683
+source = "registry+https://github.com/rust-lang/crates.io-index"
3684
+checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
3685
+dependencies = [
3686
+ "bitflags 2.11.0",
3687
+ "dispatch2",
3688
+ "objc2",
3689
+]
3690
+
3691
+[[package]]
3692
+name = "objc2-encode"
3693
+version = "4.1.0"
3694
+source = "registry+https://github.com/rust-lang/crates.io-index"
3695
+checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
3696
+
3697
+[[package]]
3698
+name = "objc2-foundation"
3699
+version = "0.3.2"
3700
+source = "registry+https://github.com/rust-lang/crates.io-index"
3701
+checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
3702
+dependencies = [
3703
+ "bitflags 2.11.0",
3704
+ "block2",
3705
+ "libc",
3706
+ "objc2",
3707
+ "objc2-core-foundation",
3708
+]
3709
+
3710
+[[package]]
3711
+name = "objc2-io-kit"
3712
+version = "0.3.2"
3713
+source = "registry+https://github.com/rust-lang/crates.io-index"
3714
+checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
3715
+dependencies = [
3716
+ "libc",
3717
+ "objc2-core-foundation",
3718
+]
3719
+
3720
+[[package]]
3721
+name = "objc2-metal"
3722
+version = "0.3.2"
3723
+source = "registry+https://github.com/rust-lang/crates.io-index"
3724
+checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794"
3725
+dependencies = [
3726
+ "bitflags 2.11.0",
3727
+ "block2",
3728
+ "dispatch2",
3729
+ "objc2",
3730
+ "objc2-core-foundation",
3731
+ "objc2-foundation",
3732
+]
3733
+
3734
+[[package]]
3735
+name = "once_cell"
3736
+version = "1.21.4"
3737
+source = "registry+https://github.com/rust-lang/crates.io-index"
3738
+checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
3739
+
3740
+[[package]]
3741
+name = "once_cell_polyfill"
3742
+version = "1.70.2"
3743
+source = "registry+https://github.com/rust-lang/crates.io-index"
3744
+checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3745
+
3746
+[[package]]
3747
+name = "onde"
3748
+version = "0.1.4"
3749
+source = "registry+https://github.com/rust-lang/crates.io-index"
3750
+checksum = "939495589fec914220491600a00bddedcba437e5fd5e3926ca1af2e8da681bb0"
3751
+dependencies = [
3752
+ "anyhow",
3753
+ "cc",
3754
+ "hf-hub",
3755
+ "home",
3756
+ "log",
3757
+ "mistralrs",
3758
+ "mistralrs-core",
3759
+ "serde",
3760
+ "thiserror 2.0.18",
3761
+ "tokio",
3762
+ "tsync",
3763
+ "uniffi",
3764
+]
3765
+
3766
+[[package]]
3767
+name = "onig"
3768
+version = "6.5.1"
3769
+source = "registry+https://github.com/rust-lang/crates.io-index"
3770
+checksum = "336b9c63443aceef14bea841b899035ae3abe89b7c486aaf4c5bd8aafedac3f0"
3771
+dependencies = [
3772
+ "bitflags 2.11.0",
3773
+ "libc",
3774
+ "once_cell",
3775
+ "onig_sys",
3776
+]
3777
+
3778
+[[package]]
3779
+name = "onig_sys"
3780
+version = "69.9.1"
3781
+source = "registry+https://github.com/rust-lang/crates.io-index"
3782
+checksum = "c7f86c6eef3d6df15f23bcfb6af487cbd2fed4e5581d58d5bf1f5f8b7f6727dc"
3783
+dependencies = [
3784
+ "cc",
3785
+ "pkg-config",
3786
+]
3787
+
3788
+[[package]]
3789
+name = "openai-harmony"
3790
+version = "0.0.8"
3791
+source = "registry+https://github.com/rust-lang/crates.io-index"
3792
+checksum = "e77e82af451fc95deeb728a40b84db8ee82d341e136c268de415123a560b9b72"
3793
+dependencies = [
3794
+ "anyhow",
3795
+ "base64 0.22.1",
3796
+ "bstr",
3797
+ "clap 4.6.0",
3798
+ "fancy-regex 0.13.0",
3799
+ "futures",
3800
+ "image",
3801
+ "regex",
3802
+ "reqwest 0.12.28",
3803
+ "rustc-hash 1.1.0",
3804
+ "serde",
3805
+ "serde_json",
3806
+ "serde_with",
3807
+ "sha1",
3808
+ "sha2",
3809
+ "thiserror 2.0.18",
3810
+]
3811
+
3812
+[[package]]
3813
+name = "openssl-probe"
3814
+version = "0.2.1"
3815
+source = "registry+https://github.com/rust-lang/crates.io-index"
3816
+checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
3817
+
3818
+[[package]]
3819
+name = "option-ext"
3820
+version = "0.2.0"
3821
+source = "registry+https://github.com/rust-lang/crates.io-index"
3822
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
3823
+
3824
+[[package]]
3825
+name = "ordered-float"
3826
+version = "5.3.0"
3827
+source = "registry+https://github.com/rust-lang/crates.io-index"
3828
+checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e"
3829
+dependencies = [
3830
+ "num-traits",
3831
+]
3832
+
3833
+[[package]]
3834
+name = "packedvec"
3835
+version = "1.2.5"
3836
+source = "registry+https://github.com/rust-lang/crates.io-index"
3837
+checksum = "a69e0a534dd2e6aefce319af62a0aa0066a76bdfcec0201dfe02df226bc9ec70"
3838
+dependencies = [
3839
+ "num-traits",
3840
+]
3841
+
3842
+[[package]]
3843
+name = "parking"
3844
+version = "2.2.1"
3845
+source = "registry+https://github.com/rust-lang/crates.io-index"
3846
+checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
3847
+
3848
+[[package]]
3849
+name = "parking_lot"
3850
+version = "0.12.5"
3851
+source = "registry+https://github.com/rust-lang/crates.io-index"
3852
+checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
3853
+dependencies = [
3854
+ "lock_api",
3855
+ "parking_lot_core",
3856
+]
3857
+
3858
+[[package]]
3859
+name = "parking_lot_core"
3860
+version = "0.9.12"
3861
+source = "registry+https://github.com/rust-lang/crates.io-index"
3862
+checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
3863
+dependencies = [
3864
+ "cfg-if",
3865
+ "libc",
3866
+ "redox_syscall",
3867
+ "smallvec 1.15.1",
3868
+ "windows-link 0.2.1",
3869
+]
3870
+
3871
+[[package]]
3872
+name = "paste"
3873
+version = "1.0.15"
3874
+source = "registry+https://github.com/rust-lang/crates.io-index"
3875
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
3876
+
3877
+[[package]]
3878
+name = "pastey"
3879
+version = "0.1.1"
3880
+source = "registry+https://github.com/rust-lang/crates.io-index"
3881
+checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec"
3882
+
3883
+[[package]]
3884
+name = "percent-encoding"
3885
+version = "2.3.2"
3886
+source = "registry+https://github.com/rust-lang/crates.io-index"
3887
+checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
3888
+
3889
+[[package]]
3890
+name = "phf"
3891
+version = "0.13.1"
3892
+source = "registry+https://github.com/rust-lang/crates.io-index"
3893
+checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf"
3894
+dependencies = [
3895
+ "phf_macros",
3896
+ "phf_shared",
3897
+ "serde",
3898
+]
3899
+
3900
+[[package]]
3901
+name = "phf_codegen"
3902
+version = "0.13.1"
3903
+source = "registry+https://github.com/rust-lang/crates.io-index"
3904
+checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1"
3905
+dependencies = [
3906
+ "phf_generator",
3907
+ "phf_shared",
3908
+]
3909
+
3910
+[[package]]
3911
+name = "phf_generator"
3912
+version = "0.13.1"
3913
+source = "registry+https://github.com/rust-lang/crates.io-index"
3914
+checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737"
3915
+dependencies = [
3916
+ "fastrand",
3917
+ "phf_shared",
3918
+]
3919
+
3920
+[[package]]
3921
+name = "phf_macros"
3922
+version = "0.13.1"
3923
+source = "registry+https://github.com/rust-lang/crates.io-index"
3924
+checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef"
3925
+dependencies = [
3926
+ "phf_generator",
3927
+ "phf_shared",
3928
+ "proc-macro2",
3929
+ "quote",
3930
+ "syn 2.0.117",
3931
+]
3932
+
3933
+[[package]]
3934
+name = "phf_shared"
3935
+version = "0.13.1"
3936
+source = "registry+https://github.com/rust-lang/crates.io-index"
3937
+checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266"
3938
+dependencies = [
3939
+ "siphasher",
3940
+]
3941
+
3942
+[[package]]
3943
+name = "pin-project-lite"
3944
+version = "0.2.17"
3945
+source = "registry+https://github.com/rust-lang/crates.io-index"
3946
+checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
3947
+
3948
+[[package]]
3949
+name = "pkg-config"
3950
+version = "0.3.33"
3951
+source = "registry+https://github.com/rust-lang/crates.io-index"
3952
+checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
3953
+
3954
+[[package]]
3955
+name = "plain"
3956
+version = "0.2.3"
3957
+source = "registry+https://github.com/rust-lang/crates.io-index"
3958
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
3959
+
3960
+[[package]]
3961
+name = "png"
3962
+version = "0.18.1"
3963
+source = "registry+https://github.com/rust-lang/crates.io-index"
3964
+checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61"
3965
+dependencies = [
3966
+ "bitflags 2.11.0",
3967
+ "crc32fast",
3968
+ "fdeflate",
3969
+ "flate2",
3970
+ "miniz_oxide",
3971
+]
3972
+
3973
+[[package]]
3974
+name = "portable-atomic"
3975
+version = "1.13.1"
3976
+source = "registry+https://github.com/rust-lang/crates.io-index"
3977
+checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
3978
+
3979
+[[package]]
3980
+name = "portable-atomic-util"
3981
+version = "0.2.6"
3982
+source = "registry+https://github.com/rust-lang/crates.io-index"
3983
+checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3"
3984
+dependencies = [
3985
+ "portable-atomic",
3986
+]
3987
+
3988
+[[package]]
3989
+name = "potential_utf"
3990
+version = "0.1.5"
3991
+source = "registry+https://github.com/rust-lang/crates.io-index"
3992
+checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564"
3993
+dependencies = [
3994
+ "zerovec",
3995
+]
3996
+
3997
+[[package]]
3998
+name = "powerfmt"
3999
+version = "0.2.0"
4000
+source = "registry+https://github.com/rust-lang/crates.io-index"
4001
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
4002
+
4003
+[[package]]
4004
+name = "ppv-lite86"
4005
+version = "0.2.21"
4006
+source = "registry+https://github.com/rust-lang/crates.io-index"
4007
+checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
4008
+dependencies = [
4009
+ "zerocopy",
4010
+]
4011
+
4012
+[[package]]
4013
+name = "precomputed-hash"
4014
+version = "0.1.1"
4015
+source = "registry+https://github.com/rust-lang/crates.io-index"
4016
+checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
4017
+
4018
+[[package]]
4019
+name = "prettyplease"
4020
+version = "0.2.37"
4021
+source = "registry+https://github.com/rust-lang/crates.io-index"
4022
+checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
4023
+dependencies = [
4024
+ "proc-macro2",
4025
+ "syn 2.0.117",
4026
+]
4027
+
4028
+[[package]]
4029
+name = "primal-check"
4030
+version = "0.3.4"
4031
+source = "registry+https://github.com/rust-lang/crates.io-index"
4032
+checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08"
4033
+dependencies = [
4034
+ "num-integer",
4035
+]
4036
+
4037
+[[package]]
4038
+name = "proc-macro-error"
4039
+version = "1.0.4"
4040
+source = "registry+https://github.com/rust-lang/crates.io-index"
4041
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
4042
+dependencies = [
4043
+ "proc-macro-error-attr",
4044
+ "proc-macro2",
4045
+ "quote",
4046
+ "syn 1.0.109",
4047
+ "version_check",
4048
+]
4049
+
4050
+[[package]]
4051
+name = "proc-macro-error-attr"
4052
+version = "1.0.4"
4053
+source = "registry+https://github.com/rust-lang/crates.io-index"
4054
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
4055
+dependencies = [
4056
+ "proc-macro2",
4057
+ "quote",
4058
+ "version_check",
4059
+]
4060
+
4061
+[[package]]
4062
+name = "proc-macro2"
4063
+version = "1.0.106"
4064
+source = "registry+https://github.com/rust-lang/crates.io-index"
4065
+checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
4066
+dependencies = [
4067
+ "unicode-ident",
4068
+]
4069
+
4070
+[[package]]
4071
+name = "profiling"
4072
+version = "1.0.17"
4073
+source = "registry+https://github.com/rust-lang/crates.io-index"
4074
+checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773"
4075
+dependencies = [
4076
+ "profiling-procmacros",
4077
+]
4078
+
4079
+[[package]]
4080
+name = "profiling-procmacros"
4081
+version = "1.0.17"
4082
+source = "registry+https://github.com/rust-lang/crates.io-index"
4083
+checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
4084
+dependencies = [
4085
+ "quote",
4086
+ "syn 2.0.117",
4087
+]
4088
+
4089
+[[package]]
4090
+name = "pulp"
4091
+version = "0.21.5"
4092
+source = "registry+https://github.com/rust-lang/crates.io-index"
4093
+checksum = "96b86df24f0a7ddd5e4b95c94fc9ed8a98f1ca94d3b01bdce2824097e7835907"
4094
+dependencies = [
4095
+ "bytemuck",
4096
+ "cfg-if",
4097
+ "libm",
4098
+ "num-complex",
4099
+ "reborrow",
4100
+ "version_check",
4101
+]
4102
+
4103
+[[package]]
4104
+name = "pulp"
4105
+version = "0.22.2"
4106
+source = "registry+https://github.com/rust-lang/crates.io-index"
4107
+checksum = "2e205bb30d5b916c55e584c22201771bcf2bad9aabd5d4127f38387140c38632"
4108
+dependencies = [
4109
+ "bytemuck",
4110
+ "cfg-if",
4111
+ "libm",
4112
+ "num-complex",
4113
+ "paste",
4114
+ "pulp-wasm-simd-flag",
4115
+ "raw-cpuid",
4116
+ "reborrow",
4117
+ "version_check",
4118
+]
4119
+
4120
+[[package]]
4121
+name = "pulp-wasm-simd-flag"
4122
+version = "0.1.0"
4123
+source = "registry+https://github.com/rust-lang/crates.io-index"
4124
+checksum = "40e24eee682d89fb193496edf918a7f407d30175b2e785fe057e4392dfd182e0"
4125
+
4126
+[[package]]
4127
+name = "pxfm"
4128
+version = "0.1.28"
4129
+source = "registry+https://github.com/rust-lang/crates.io-index"
4130
+checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d"
4131
+
4132
+[[package]]
4133
+name = "qoi"
4134
+version = "0.4.1"
4135
+source = "registry+https://github.com/rust-lang/crates.io-index"
4136
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
4137
+dependencies = [
4138
+ "bytemuck",
4139
+]
4140
+
4141
+[[package]]
4142
+name = "quick-error"
4143
+version = "2.0.1"
4144
+source = "registry+https://github.com/rust-lang/crates.io-index"
4145
+checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
4146
+
4147
+[[package]]
4148
+name = "quinn"
4149
+version = "0.11.9"
4150
+source = "registry+https://github.com/rust-lang/crates.io-index"
4151
+checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
4152
+dependencies = [
4153
+ "bytes",
4154
+ "cfg_aliases",
4155
+ "pin-project-lite",
4156
+ "quinn-proto",
4157
+ "quinn-udp",
4158
+ "rustc-hash 2.1.2",
4159
+ "rustls",
4160
+ "socket2",
4161
+ "thiserror 2.0.18",
4162
+ "tokio",
4163
+ "tracing",
4164
+ "web-time",
4165
+]
4166
+
4167
+[[package]]
4168
+name = "quinn-proto"
4169
+version = "0.11.14"
4170
+source = "registry+https://github.com/rust-lang/crates.io-index"
4171
+checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098"
4172
+dependencies = [
4173
+ "aws-lc-rs",
4174
+ "bytes",
4175
+ "getrandom 0.3.4",
4176
+ "lru-slab",
4177
+ "rand 0.9.4",
4178
+ "ring",
4179
+ "rustc-hash 2.1.2",
4180
+ "rustls",
4181
+ "rustls-pki-types",
4182
+ "slab",
4183
+ "thiserror 2.0.18",
4184
+ "tinyvec",
4185
+ "tracing",
4186
+ "web-time",
4187
+]
4188
+
4189
+[[package]]
4190
+name = "quinn-udp"
4191
+version = "0.5.14"
4192
+source = "registry+https://github.com/rust-lang/crates.io-index"
4193
+checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd"
4194
+dependencies = [
4195
+ "cfg_aliases",
4196
+ "libc",
4197
+ "once_cell",
4198
+ "socket2",
4199
+ "tracing",
4200
+ "windows-sys 0.60.2",
4201
+]
4202
+
4203
+[[package]]
4204
+name = "quote"
4205
+version = "1.0.45"
4206
+source = "registry+https://github.com/rust-lang/crates.io-index"
4207
+checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
4208
+dependencies = [
4209
+ "proc-macro2",
4210
+]
4211
+
4212
+[[package]]
4213
+name = "r-efi"
4214
+version = "5.3.0"
4215
+source = "registry+https://github.com/rust-lang/crates.io-index"
4216
+checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
4217
+
4218
+[[package]]
4219
+name = "r-efi"
4220
+version = "6.0.0"
4221
+source = "registry+https://github.com/rust-lang/crates.io-index"
4222
+checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
4223
+
4224
+[[package]]
4225
+name = "radix_trie"
4226
+version = "0.3.0"
4227
+source = "registry+https://github.com/rust-lang/crates.io-index"
4228
+checksum = "3b4431027dcd37fc2a73ef740b5f233aa805897935b8bce0195e41bbf9a3289a"
4229
+dependencies = [
4230
+ "endian-type",
4231
+ "nibble_vec",
4232
+]
4233
+
4234
+[[package]]
4235
+name = "rand"
4236
+version = "0.8.5"
4237
+source = "registry+https://github.com/rust-lang/crates.io-index"
4238
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
4239
+dependencies = [
4240
+ "libc",
4241
+ "rand_chacha 0.3.1",
4242
+ "rand_core 0.6.4",
4243
+]
4244
+
4245
+[[package]]
4246
+name = "rand"
4247
+version = "0.9.4"
4248
+source = "registry+https://github.com/rust-lang/crates.io-index"
4249
+checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea"
4250
+dependencies = [
4251
+ "rand_chacha 0.9.0",
4252
+ "rand_core 0.9.5",
4253
+]
4254
+
4255
+[[package]]
4256
+name = "rand_chacha"
4257
+version = "0.3.1"
4258
+source = "registry+https://github.com/rust-lang/crates.io-index"
4259
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
4260
+dependencies = [
4261
+ "ppv-lite86",
4262
+ "rand_core 0.6.4",
4263
+]
4264
+
4265
+[[package]]
4266
+name = "rand_chacha"
4267
+version = "0.9.0"
4268
+source = "registry+https://github.com/rust-lang/crates.io-index"
4269
+checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
4270
+dependencies = [
4271
+ "ppv-lite86",
4272
+ "rand_core 0.9.5",
4273
+]
4274
+
4275
+[[package]]
4276
+name = "rand_core"
4277
+version = "0.6.4"
4278
+source = "registry+https://github.com/rust-lang/crates.io-index"
4279
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
4280
+dependencies = [
4281
+ "getrandom 0.2.17",
4282
+]
4283
+
4284
+[[package]]
4285
+name = "rand_core"
4286
+version = "0.9.5"
4287
+source = "registry+https://github.com/rust-lang/crates.io-index"
4288
+checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
4289
+dependencies = [
4290
+ "getrandom 0.3.4",
4291
+]
4292
+
4293
+[[package]]
4294
+name = "rand_distr"
4295
+version = "0.4.3"
4296
+source = "registry+https://github.com/rust-lang/crates.io-index"
4297
+checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31"
4298
+dependencies = [
4299
+ "num-traits",
4300
+ "rand 0.8.5",
4301
+]
4302
+
4303
+[[package]]
4304
+name = "rand_distr"
4305
+version = "0.5.1"
4306
+source = "registry+https://github.com/rust-lang/crates.io-index"
4307
+checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463"
4308
+dependencies = [
4309
+ "num-traits",
4310
+ "rand 0.9.4",
4311
+]
4312
+
4313
+[[package]]
4314
+name = "rand_isaac"
4315
+version = "0.4.0"
4316
+source = "registry+https://github.com/rust-lang/crates.io-index"
4317
+checksum = "3382fc9f0aad4f2e2a56b53d9133c8c810b4dbf21e7e370e24346161a5b2c7bd"
4318
+dependencies = [
4319
+ "rand_core 0.9.5",
4320
+]
4321
+
4322
+[[package]]
4323
+name = "rav1e"
4324
+version = "0.8.1"
4325
+source = "registry+https://github.com/rust-lang/crates.io-index"
4326
+checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b"
4327
+dependencies = [
4328
+ "aligned-vec",
4329
+ "arbitrary",
4330
+ "arg_enum_proc_macro",
4331
+ "arrayvec",
4332
+ "av-scenechange",
4333
+ "av1-grain",
4334
+ "bitstream-io",
4335
+ "built",
4336
+ "cfg-if",
4337
+ "interpolate_name",
4338
+ "itertools",
4339
+ "libc",
4340
+ "libfuzzer-sys",
4341
+ "log",
4342
+ "maybe-rayon",
4343
+ "new_debug_unreachable",
4344
+ "noop_proc_macro",
4345
+ "num-derive",
4346
+ "num-traits",
4347
+ "paste",
4348
+ "profiling",
4349
+ "rand 0.9.4",
4350
+ "rand_chacha 0.9.0",
4351
+ "simd_helpers",
4352
+ "thiserror 2.0.18",
4353
+ "v_frame",
4354
+ "wasm-bindgen",
4355
+]
4356
+
4357
+[[package]]
4358
+name = "ravif"
4359
+version = "0.13.0"
4360
+source = "registry+https://github.com/rust-lang/crates.io-index"
4361
+checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45"
4362
+dependencies = [
4363
+ "avif-serialize",
4364
+ "imgref",
4365
+ "loop9",
4366
+ "quick-error",
4367
+ "rav1e",
4368
+ "rayon",
4369
+ "rgb",
4370
+]
4371
+
4372
+[[package]]
4373
+name = "raw-cpuid"
4374
+version = "11.6.0"
4375
+source = "registry+https://github.com/rust-lang/crates.io-index"
4376
+checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186"
4377
+dependencies = [
4378
+ "bitflags 2.11.0",
4379
+]
4380
+
4381
+[[package]]
4382
+name = "rawpointer"
4383
+version = "0.2.1"
4384
+source = "registry+https://github.com/rust-lang/crates.io-index"
4385
+checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
4386
+
4387
+[[package]]
4388
+name = "rayon"
4389
+version = "1.12.0"
4390
+source = "registry+https://github.com/rust-lang/crates.io-index"
4391
+checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
4392
+dependencies = [
4393
+ "either",
4394
+ "rayon-core",
4395
+]
4396
+
4397
+[[package]]
4398
+name = "rayon-cond"
4399
+version = "0.4.0"
4400
+source = "registry+https://github.com/rust-lang/crates.io-index"
4401
+checksum = "2964d0cf57a3e7a06e8183d14a8b527195c706b7983549cd5462d5aa3747438f"
4402
+dependencies = [
4403
+ "either",
4404
+ "itertools",
4405
+ "rayon",
4406
+]
4407
+
4408
+[[package]]
4409
+name = "rayon-core"
4410
+version = "1.13.0"
4411
+source = "registry+https://github.com/rust-lang/crates.io-index"
4412
+checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
4413
+dependencies = [
4414
+ "crossbeam-deque",
4415
+ "crossbeam-utils",
4416
+]
4417
+
4418
+[[package]]
4419
+name = "realfft"
4420
+version = "3.5.0"
4421
+source = "registry+https://github.com/rust-lang/crates.io-index"
4422
+checksum = "f821338fddb99d089116342c46e9f1fbf3828dba077674613e734e01d6ea8677"
4423
+dependencies = [
4424
+ "rustfft",
4425
+]
4426
+
4427
+[[package]]
4428
+name = "reborrow"
4429
+version = "0.5.5"
4430
+source = "registry+https://github.com/rust-lang/crates.io-index"
4431
+checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430"
4432
+
4433
+[[package]]
4434
+name = "recvmsg"
4435
+version = "1.0.0"
4436
+source = "registry+https://github.com/rust-lang/crates.io-index"
4437
+checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175"
4438
+
4439
+[[package]]
4440
+name = "redox_syscall"
4441
+version = "0.5.18"
4442
+source = "registry+https://github.com/rust-lang/crates.io-index"
4443
+checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
4444
+dependencies = [
4445
+ "bitflags 2.11.0",
4446
+]
4447
+
4448
+[[package]]
4449
+name = "redox_users"
4450
+version = "0.5.2"
4451
+source = "registry+https://github.com/rust-lang/crates.io-index"
4452
+checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
4453
+dependencies = [
4454
+ "getrandom 0.2.17",
4455
+ "libredox",
4456
+ "thiserror 2.0.18",
4457
+]
4458
+
4459
+[[package]]
4460
+name = "ref-cast"
4461
+version = "1.0.25"
4462
+source = "registry+https://github.com/rust-lang/crates.io-index"
4463
+checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d"
4464
+dependencies = [
4465
+ "ref-cast-impl",
4466
+]
4467
+
4468
+[[package]]
4469
+name = "ref-cast-impl"
4470
+version = "1.0.25"
4471
+source = "registry+https://github.com/rust-lang/crates.io-index"
4472
+checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
4473
+dependencies = [
4474
+ "proc-macro2",
4475
+ "quote",
4476
+ "syn 2.0.117",
4477
+]
4478
+
4479
+[[package]]
4480
+name = "regex"
4481
+version = "1.12.3"
4482
+source = "registry+https://github.com/rust-lang/crates.io-index"
4483
+checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
4484
+dependencies = [
4485
+ "aho-corasick",
4486
+ "memchr",
4487
+ "regex-automata",
4488
+ "regex-syntax",
4489
+]
4490
+
4491
+[[package]]
4492
+name = "regex-automata"
4493
+version = "0.4.14"
4494
+source = "registry+https://github.com/rust-lang/crates.io-index"
4495
+checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
4496
+dependencies = [
4497
+ "aho-corasick",
4498
+ "memchr",
4499
+ "regex-syntax",
4500
+]
4501
+
4502
+[[package]]
4503
+name = "regex-syntax"
4504
+version = "0.8.10"
4505
+source = "registry+https://github.com/rust-lang/crates.io-index"
4506
+checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
4507
+
4508
+[[package]]
4509
+name = "reqwest"
4510
+version = "0.12.28"
4511
+source = "registry+https://github.com/rust-lang/crates.io-index"
4512
+checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
4513
+dependencies = [
4514
+ "base64 0.22.1",
4515
+ "bytes",
4516
+ "encoding_rs",
4517
+ "futures-channel",
4518
+ "futures-core",
4519
+ "futures-util",
4520
+ "h2",
4521
+ "http",
4522
+ "http-body",
4523
+ "http-body-util",
4524
+ "hyper",
4525
+ "hyper-rustls",
4526
+ "hyper-util",
4527
+ "js-sys",
4528
+ "log",
4529
+ "mime",
4530
+ "mime_guess",
4531
+ "percent-encoding",
4532
+ "pin-project-lite",
4533
+ "quinn",
4534
+ "rustls",
4535
+ "rustls-pki-types",
4536
+ "serde",
4537
+ "serde_json",
4538
+ "serde_urlencoded",
4539
+ "sync_wrapper",
4540
+ "tokio",
4541
+ "tokio-rustls",
4542
+ "tokio-util",
4543
+ "tower",
4544
+ "tower-http",
4545
+ "tower-service",
4546
+ "url",
4547
+ "wasm-bindgen",
4548
+ "wasm-bindgen-futures",
4549
+ "wasm-streams 0.4.2",
4550
+ "web-sys",
4551
+ "webpki-roots 1.0.6",
4552
+]
4553
+
4554
+[[package]]
4555
+name = "reqwest"
4556
+version = "0.13.2"
4557
+source = "registry+https://github.com/rust-lang/crates.io-index"
4558
+checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801"
4559
+dependencies = [
4560
+ "base64 0.22.1",
4561
+ "bytes",
4562
+ "encoding_rs",
4563
+ "futures-channel",
4564
+ "futures-core",
4565
+ "futures-util",
4566
+ "h2",
4567
+ "http",
4568
+ "http-body",
4569
+ "http-body-util",
4570
+ "hyper",
4571
+ "hyper-rustls",
4572
+ "hyper-util",
4573
+ "js-sys",
4574
+ "log",
4575
+ "mime",
4576
+ "percent-encoding",
4577
+ "pin-project-lite",
4578
+ "quinn",
4579
+ "rustls",
4580
+ "rustls-pki-types",
4581
+ "rustls-platform-verifier",
4582
+ "serde",
4583
+ "serde_json",
4584
+ "sync_wrapper",
4585
+ "tokio",
4586
+ "tokio-rustls",
4587
+ "tokio-util",
4588
+ "tower",
4589
+ "tower-http",
4590
+ "tower-service",
4591
+ "url",
4592
+ "wasm-bindgen",
4593
+ "wasm-bindgen-futures",
4594
+ "wasm-streams 0.5.0",
4595
+ "web-sys",
4596
+]
4597
+
4598
+[[package]]
4599
+name = "rgb"
4600
+version = "0.8.53"
4601
+source = "registry+https://github.com/rust-lang/crates.io-index"
4602
+checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4"
4603
+
4604
+[[package]]
4605
+name = "ring"
4606
+version = "0.17.14"
4607
+source = "registry+https://github.com/rust-lang/crates.io-index"
4608
+checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
4609
+dependencies = [
4610
+ "cc",
4611
+ "cfg-if",
4612
+ "getrandom 0.2.17",
4613
+ "libc",
4614
+ "untrusted",
4615
+ "windows-sys 0.52.0",
4616
+]
4617
+
4618
+[[package]]
4619
+name = "rubato"
4620
+version = "0.16.2"
4621
+source = "registry+https://github.com/rust-lang/crates.io-index"
4622
+checksum = "5258099699851cfd0082aeb645feb9c084d9a5e1f1b8d5372086b989fc5e56a1"
4623
+dependencies = [
4624
+ "num-complex",
4625
+ "num-integer",
4626
+ "num-traits",
4627
+ "realfft",
4628
+]
4629
+
4630
+[[package]]
4631
+name = "rust-mcp-schema"
4632
+version = "0.9.6"
4633
+source = "registry+https://github.com/rust-lang/crates.io-index"
4634
+checksum = "b1209aa7fb74fccafe6b2a649b15581fb328343427d85def865b0ad233fe1f74"
4635
+dependencies = [
4636
+ "serde",
4637
+ "serde_json",
4638
+]
4639
+
4640
+[[package]]
4641
+name = "rust-stemmers"
4642
+version = "1.2.0"
4643
+source = "registry+https://github.com/rust-lang/crates.io-index"
4644
+checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54"
4645
+dependencies = [
4646
+ "serde",
4647
+ "serde_derive",
4648
+]
4649
+
4650
+[[package]]
4651
+name = "rustc-hash"
4652
+version = "1.1.0"
4653
+source = "registry+https://github.com/rust-lang/crates.io-index"
4654
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
4655
+
4656
+[[package]]
4657
+name = "rustc-hash"
4658
+version = "2.1.2"
4659
+source = "registry+https://github.com/rust-lang/crates.io-index"
4660
+checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
4661
+
4662
+[[package]]
4663
+name = "rustc_version"
4664
+version = "0.4.1"
4665
+source = "registry+https://github.com/rust-lang/crates.io-index"
4666
+checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
4667
+dependencies = [
4668
+ "semver",
4669
+]
4670
+
4671
+[[package]]
4672
+name = "rustfft"
4673
+version = "6.4.1"
4674
+source = "registry+https://github.com/rust-lang/crates.io-index"
4675
+checksum = "21db5f9893e91f41798c88680037dba611ca6674703c1a18601b01a72c8adb89"
4676
+dependencies = [
4677
+ "num-complex",
4678
+ "num-integer",
4679
+ "num-traits",
4680
+ "primal-check",
4681
+ "strength_reduce",
4682
+ "transpose",
4683
+]
4684
+
4685
+[[package]]
4686
+name = "rustix"
4687
+version = "1.1.4"
4688
+source = "registry+https://github.com/rust-lang/crates.io-index"
4689
+checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
4690
+dependencies = [
4691
+ "bitflags 2.11.0",
4692
+ "errno",
4693
+ "libc",
4694
+ "linux-raw-sys",
4695
+ "windows-sys 0.61.2",
4696
+]
4697
+
4698
+[[package]]
4699
+name = "rustls"
4700
+version = "0.23.38"
4701
+source = "registry+https://github.com/rust-lang/crates.io-index"
4702
+checksum = "69f9466fb2c14ea04357e91413efb882e2a6d4a406e625449bc0a5d360d53a21"
4703
+dependencies = [
4704
+ "aws-lc-rs",
4705
+ "log",
4706
+ "once_cell",
4707
+ "ring",
4708
+ "rustls-pki-types",
4709
+ "rustls-webpki",
4710
+ "subtle",
4711
+ "zeroize",
4712
+]
4713
+
4714
+[[package]]
4715
+name = "rustls-native-certs"
4716
+version = "0.8.3"
4717
+source = "registry+https://github.com/rust-lang/crates.io-index"
4718
+checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63"
4719
+dependencies = [
4720
+ "openssl-probe",
4721
+ "rustls-pki-types",
4722
+ "schannel",
4723
+ "security-framework",
4724
+]
4725
+
4726
+[[package]]
4727
+name = "rustls-pki-types"
4728
+version = "1.14.0"
4729
+source = "registry+https://github.com/rust-lang/crates.io-index"
4730
+checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd"
4731
+dependencies = [
4732
+ "web-time",
4733
+ "zeroize",
4734
+]
4735
+
4736
+[[package]]
4737
+name = "rustls-platform-verifier"
4738
+version = "0.6.2"
4739
+source = "registry+https://github.com/rust-lang/crates.io-index"
4740
+checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784"
4741
+dependencies = [
4742
+ "core-foundation 0.10.1",
4743
+ "core-foundation-sys",
4744
+ "jni",
4745
+ "log",
4746
+ "once_cell",
4747
+ "rustls",
4748
+ "rustls-native-certs",
4749
+ "rustls-platform-verifier-android",
4750
+ "rustls-webpki",
4751
+ "security-framework",
4752
+ "security-framework-sys",
4753
+ "webpki-root-certs",
4754
+ "windows-sys 0.61.2",
4755
+]
4756
+
4757
+[[package]]
4758
+name = "rustls-platform-verifier-android"
4759
+version = "0.1.1"
4760
+source = "registry+https://github.com/rust-lang/crates.io-index"
4761
+checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
4762
+
4763
+[[package]]
4764
+name = "rustls-webpki"
4765
+version = "0.103.12"
4766
+source = "registry+https://github.com/rust-lang/crates.io-index"
4767
+checksum = "8279bb85272c9f10811ae6a6c547ff594d6a7f3c6c6b02ee9726d1d0dcfcdd06"
4768
+dependencies = [
4769
+ "aws-lc-rs",
4770
+ "ring",
4771
+ "rustls-pki-types",
4772
+ "untrusted",
4773
+]
4774
+
4775
+[[package]]
4776
+name = "rustversion"
4777
+version = "1.0.22"
4778
+source = "registry+https://github.com/rust-lang/crates.io-index"
4779
+checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
4780
+
4781
+[[package]]
4782
+name = "ryu"
4783
+version = "1.0.23"
4784
+source = "registry+https://github.com/rust-lang/crates.io-index"
4785
+checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
4786
+
4787
+[[package]]
4788
+name = "safe_arch"
4789
+version = "0.7.4"
4790
+source = "registry+https://github.com/rust-lang/crates.io-index"
4791
+checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323"
4792
+dependencies = [
4793
+ "bytemuck",
4794
+]
4795
+
4796
+[[package]]
4797
+name = "safetensors"
4798
+version = "0.4.5"
4799
+source = "registry+https://github.com/rust-lang/crates.io-index"
4800
+checksum = "44560c11236a6130a46ce36c836a62936dc81ebf8c36a37947423571be0e55b6"
4801
+dependencies = [
4802
+ "serde",
4803
+ "serde_json",
4804
+]
4805
+
4806
+[[package]]
4807
+name = "safetensors"
4808
+version = "0.7.0"
4809
+source = "registry+https://github.com/rust-lang/crates.io-index"
4810
+checksum = "675656c1eabb620b921efea4f9199f97fc86e36dd6ffd1fbbe48d0f59a4987f5"
4811
+dependencies = [
4812
+ "hashbrown 0.16.1",
4813
+ "serde",
4814
+ "serde_json",
4815
+]
4816
+
4817
+[[package]]
4818
+name = "same-file"
4819
+version = "1.0.6"
4820
+source = "registry+https://github.com/rust-lang/crates.io-index"
4821
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
4822
+dependencies = [
4823
+ "winapi-util",
4824
+]
4825
+
4826
+[[package]]
4827
+name = "saphyr-parser-bw"
4828
+version = "0.0.605"
4829
+source = "registry+https://github.com/rust-lang/crates.io-index"
4830
+checksum = "5e1aee7486406df3541b5a657204a11be97175a467d77bc98e6d94a66289fb80"
4831
+dependencies = [
4832
+ "arraydeque",
4833
+ "smallvec 2.0.0-alpha.12",
4834
+ "thiserror 2.0.18",
4835
+]
4836
+
4837
+[[package]]
4838
+name = "schannel"
4839
+version = "0.1.29"
4840
+source = "registry+https://github.com/rust-lang/crates.io-index"
4841
+checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939"
4842
+dependencies = [
4843
+ "windows-sys 0.61.2",
4844
+]
4845
+
4846
+[[package]]
4847
+name = "schemars"
4848
+version = "0.9.0"
4849
+source = "registry+https://github.com/rust-lang/crates.io-index"
4850
+checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f"
4851
+dependencies = [
4852
+ "dyn-clone",
4853
+ "ref-cast",
4854
+ "serde",
4855
+ "serde_json",
4856
+]
4857
+
4858
+[[package]]
4859
+name = "schemars"
4860
+version = "1.2.1"
4861
+source = "registry+https://github.com/rust-lang/crates.io-index"
4862
+checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc"
4863
+dependencies = [
4864
+ "dyn-clone",
4865
+ "ref-cast",
4866
+ "schemars_derive",
4867
+ "serde",
4868
+ "serde_json",
4869
+]
4870
+
4871
+[[package]]
4872
+name = "schemars_derive"
4873
+version = "1.2.1"
4874
+source = "registry+https://github.com/rust-lang/crates.io-index"
4875
+checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f"
4876
+dependencies = [
4877
+ "proc-macro2",
4878
+ "quote",
4879
+ "serde_derive_internals",
4880
+ "syn 2.0.117",
4881
+]
4882
+
4883
+[[package]]
4884
+name = "scoped-tls"
4885
+version = "1.0.1"
4886
+source = "registry+https://github.com/rust-lang/crates.io-index"
4887
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
4888
+
4889
+[[package]]
4890
+name = "scopeguard"
4891
+version = "1.2.0"
4892
+source = "registry+https://github.com/rust-lang/crates.io-index"
4893
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
4894
+
4895
+[[package]]
4896
+name = "scraper"
4897
+version = "0.25.0"
4898
+source = "registry+https://github.com/rust-lang/crates.io-index"
4899
+checksum = "93cecd86d6259499c844440546d02f55f3e17bd286e529e48d1f9f67e92315cb"
4900
+dependencies = [
4901
+ "cssparser",
4902
+ "ego-tree",
4903
+ "getopts",
This file is too large to show in full.
Cargo.toml
+9
@@ -14,6 +14,10 @@ path = "src/main.rs"
14
# ACP protocol SDK
15
agent-client-protocol = "0.10.4"
16
17
+# Onde Inference engine (local LLM)
18
+# Can't use crates.io (core2 0.4.0 yanked). Git dep so CI builds without ../onde.
19
+onde = { git = "https://github.com/ondeinference/onde", branch = "development" }
20
+
21
# Async runtime
22
async-trait = "0.1"
23
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "io-std", "io-util", "sync"] }
@@ -25,3 +29,8 @@ anyhow = "1"
29
log = "0.4"
30
env_logger = "0.11"
31
uuid = { version = "1", features = ["v4"] }
32
+
33
+# Workaround: core2 0.4.0 was yanked from crates.io but is still needed by
34
+# bitstream-io → rav1e → ravif → image → mistralrs → onde.
35
+[patch.crates-io]
36
+core2 = { git = "https://github.com/bbqsrc/core2", rev = "545e84bc" }
src/main.rs
+94
-31
@@ -1,8 +1,14 @@
1
-//! siGit Code — minimal viable ACP agent.
1
+//! siGit Code — an ACP coding agent that runs a local LLM via Onde.
2
//!
3
-//! Speaks the Agent Client Protocol over stdio so editors like Zed can talk
4
-//! to it. This is the skeleton: no LLM, no TUI — just the protocol wired
5
-//! end-to-end with a simple echo reply.
3
+//! Talks the Agent Client Protocol over stdio. Zed (or any ACP client) spawns
4
+//! the binary and communicates through stdin/stdout.
5
+//!
6
+//! The model loads before the ACP `LocalSet` starts. This matters because
7
+//! `mistralrs` calls `block_in_place` internally, which panics inside
8
+//! `spawn_local` tasks. Loading on a normal multi-thread worker avoids that.
9
+//!
10
+//! On macOS, the HF cache points at the App Group container shared with the
11
+//! siGit desktop app. See [`setup`].
12
//!
13
//! # Zed setup
14
//!
@@ -18,6 +24,10 @@
24
//! }
25
//! ```
26
27
+mod setup;
28
+
29
+use std::sync::Arc;
30
+
31
use agent_client_protocol::{
32
Agent, AgentCapabilities, AgentSideConnection, AuthMethod, AuthMethodAgent,
33
AuthenticateRequest, AuthenticateResponse, CancelNotification, Client, ContentBlock,
@@ -26,18 +36,34 @@ use agent_client_protocol::{
36
SessionNotification, SessionUpdate, StopReason,
37
};
38
use futures::future::LocalBoxFuture;
39
+use onde::inference::{ChatEngine, GgufModelConfig};
40
use tokio::sync::mpsc;
41
use tokio_util::compat::{TokioAsyncReadCompatExt, TokioAsyncWriteCompatExt};
42
32
-// ── Agent ────────────────────────────────────────────────────────────────────
43
+const SYSTEM_PROMPT: &str = "\
44
+Your name is siGit — lowercase 's', uppercase 'G', no spaces. \
45
+Not 'SiGit', not 'Sigit'. Say 'I am siGit' when asked.
46
+
47
+You are a coding agent running inside the user's editor. \
48
+You read and write code, debug problems, review patches, \
49
+suggest architecture, and help with git.
50
+
51
+Keep answers short. Write idiomatic code. \
52
+Fix root causes, not symptoms.";
53
+
54
+// Agent
55
56
struct SiGitAgent {
57
+ engine: Arc<ChatEngine>,
58
notification_tx: mpsc::Sender<SessionNotification>,
59
}
60
61
impl SiGitAgent {
39
- fn new(notification_tx: mpsc::Sender<SessionNotification>) -> Self {
40
- Self { notification_tx }
62
+ fn new(engine: Arc<ChatEngine>, notification_tx: mpsc::Sender<SessionNotification>) -> Self {
63
+ Self {
64
+ engine,
65
+ notification_tx,
66
+ }
67
}
68
}
69
@@ -74,6 +100,10 @@ impl Agent for SiGitAgent {
100
) -> agent_client_protocol::Result<NewSessionResponse> {
101
let session_id = SessionId::new(uuid::Uuid::new_v4().to_string());
102
log::info!("new_session: id={session_id}");
103
+
104
+ // Clear history — the model is already loaded.
105
+ self.engine.clear_history().await;
106
+
107
Ok(NewSessionResponse::new(session_id))
108
}
109
@@ -90,30 +120,44 @@ impl Agent for SiGitAgent {
120
.collect::<Vec<_>>()
121
.join("\n");
122
123
+ if user_text.trim().is_empty() {
124
+ return Ok(PromptResponse::new(StopReason::EndTurn));
125
+ }
126
+
127
log::info!(
128
"prompt({}): \"{}\"",
129
session_id,
130
user_text.chars().take(80).collect::<String>()
131
);
132
99
- // ── Echo reply ───────────────────────────────────────────────────
100
- // Replace this with real LLM inference later.
101
- let reply = format!(
102
- "👋 Hi from **siGit** v{}!\n\n\
103
- You said:\n\n\
104
- > {}\n\n\
105
- *(This is the echo-mode skeleton — no LLM attached yet.)*",
106
- env!("CARGO_PKG_VERSION"),
107
- user_text.lines().collect::<Vec<_>>().join("\n> "),
108
- );
109
-
110
- let notification = SessionNotification::new(
111
- session_id.clone(),
112
- SessionUpdate::AgentMessageChunk(ContentChunk::new(ContentBlock::from(reply))),
113
- );
133
+ // Stream tokens from the LLM and forward each one as an ACP update.
134
+ let mut token_rx = self
135
+ .engine
136
+ .stream_message(user_text)
137
+ .await
138
+ .map_err(|error| {
139
+ log::error!("stream_message failed: {error}");
140
+ agent_client_protocol::Error::new(-32603, format!("inference failed: {error}"))
141
+ })?;
142
+
143
+ while let Some(chunk) = token_rx.recv().await {
144
+ if !chunk.delta.is_empty() {
145
+ let notification = SessionNotification::new(
146
+ session_id.clone(),
147
+ SessionUpdate::AgentMessageChunk(ContentChunk::new(ContentBlock::from(
148
+ chunk.delta,
149
+ ))),
150
+ );
151
+
152
+ if self.notification_tx.send(notification).await.is_err() {
153
+ log::warn!("notification channel closed — stopping stream");
154
+ break;
155
+ }
156
+ }
157
115
- if self.notification_tx.send(notification).await.is_err() {
116
- log::warn!("notification channel closed");
158
+ if chunk.done {
159
+ break;
160
+ }
161
}
162
163
log::info!("prompt({}) complete", session_id);
@@ -126,25 +170,44 @@ impl Agent for SiGitAgent {
170
}
171
}
172
129
-// ── Entry point ──────────────────────────────────────────────────────────────
173
+// Entry point
174
175
#[tokio::main]
176
async fn main() -> anyhow::Result<()> {
133
- // stdout is the ACP wire — all logs go to stderr.
177
+ // ACP uses stdout, so logs go to stderr.
178
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
179
.target(env_logger::Target::Stderr)
180
.init();
181
182
log::info!("siGit v{} starting", env!("CARGO_PKG_VERSION"));
183
184
+ // On macOS, share the HF cache with the desktop app via App Group container.
185
+ setup::setup_shared_model_cache();
186
+
187
+ // Load before the LocalSet. block_in_place panics inside spawn_local,
188
+ // so the model must load on a regular worker thread.
189
+ log::info!("loading model (this may take a minute on first run)...");
190
+
191
+ let engine = Arc::new(ChatEngine::new());
192
+ let config = GgufModelConfig::platform_default();
193
+
194
+ engine
195
+ .load_gguf_model(config, Some(SYSTEM_PROMPT.to_string()), None)
196
+ .await
197
+ .map_err(|error| anyhow::anyhow!("model load failed: {error}"))?;
198
+
199
+ log::info!("model loaded and ready");
200
+
201
+ // ACP server
202
+
203
let (notification_tx, mut notification_rx) = mpsc::channel::<SessionNotification>(256);
141
- let agent = SiGitAgent::new(notification_tx);
204
+ let agent = SiGitAgent::new(engine, notification_tx);
205
143
- // AgentSideConnection expects futures-io, not tokio-io.
206
+ // AgentSideConnection wants futures-io, not tokio-io.
207
let stdin = tokio::io::stdin().compat();
208
let stdout = tokio::io::stdout().compat_write();
209
147
- // ACP futures are !Send, so we need a LocalSet.
210
+ // ACP futures are !Send — needs a LocalSet.
211
let local = tokio::task::LocalSet::new();
212
213
local
@@ -158,7 +221,7 @@ async fn main() -> anyhow::Result<()> {
221
},
222
);
223
161
- // Forwarder: drains the channel and pushes chunks to the editor.
224
+ // Forward streamed chunks to the editor.
225
tokio::task::spawn_local(async move {
226
while let Some(notification) = notification_rx.recv().await {
227
if let Err(err) = conn.session_notification(notification).await {
@@ -167,7 +230,7 @@ async fn main() -> anyhow::Result<()> {
230
}
231
});
232
170
- // Blocks until the editor disconnects.
233
+ // Runs until the editor disconnects.
234
if let Err(err) = io_task.await {
235
log::error!("ACP IO error: {err}");
236
}