├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── src └── main.rs └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /db 3 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "transvibe" 3 | version = "0.1.0" 4 | edition = "2024" 5 | 6 | [dependencies] 7 | anyhow = "1.0.98" 8 | color-eyre = "0.6.4" 9 | crossterm = "0.29.0" 10 | futures-util = "0.3.31" 11 | kalosm = { version = "0.4.0", features = ["language", "metal", "sound"] } 12 | ratatui = "0.29.0" 13 | tokio = { version = "1.45.0", features = ["macros", "sync"] } 14 | 15 | [profile.release] 16 | opt-level = 3 17 | # lto = true 18 | codegen-units = 1 19 | panic = "abort" 20 | strip = true 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 gist-rs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # transvibe 2 | 3 | Transcribe+Translate: Real-time, local transcription and translation. 4 | 5 | > [!NOTE] 6 | > This project is a "vibe coding" session with Gemini 2.5 Pro Preview, developed using the [Zed Editor](https://zed.dev). 7 | 8 | image 9 | 10 | ## Features 11 | 12 | - 🦀 **Built with Rust**: Crafted by Rustaceans using [Kalosm](https://floneum.com/kalosm/) for AI and [Ratatui](https://ratatui.rs) for the terminal interface. 13 | - 🏡 **100% Offline**: Operates entirely locally, ensuring your data privacy and functionality without an internet connection. 14 | - 🎤 **Real-time Transcription**: Captures and transcribes audio from your microphone as you speak. 15 | - ⚡ **Responsive Translation**: Utilizes a separate thread for translation, preventing delays in the transcription process. 16 | - ✨ **Enhanced Readability**: Highlights the most recent transcribed line, making it easier to follow along. 17 | 18 | ## TODO 19 | 20 | Future enhancements, planned features, and currently missing capabilities include: 21 | 22 | - **Expanded Language Support**: Adding transcription and translation capabilities for languages beyond the current scope. 23 | - **File-based Transcription**: Implementing the ability to transcribe audio from various file formats (currently missing). 24 | - **Saving and Exporting**: Adding functionality to save and export transcriptions and translations (currently missing). 25 | - **User-configurable Settings**: Implementing options like audio input device selection (currently missing). 26 | - **Pause/Resume Functionality**: Adding the ability to pause and resume transcription (currently missing). 27 | - **Session Management**: Allowing users to save and load transcription/translation sessions. 28 | - **UI/UX Improvements**: Continuously refining the user interface and experience. 29 | - **Performance Optimizations**: Further optimizing processing for speed and resource efficiency. 30 | - **Customizable Models**: Allowing users to specify different speech-to-text or translation models. 31 | 32 | ## Run 33 | 34 | To run the application: 35 | 36 | ```bash 37 | cargo run --release 38 | ``` 39 | 40 | ## Build 41 | 42 | To build the application from source: 43 | 44 | ```bash 45 | cargo build --release 46 | ``` 47 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use color_eyre::Result; 2 | use crossterm::event::KeyModifiers; 3 | use crossterm::event::{self, Event, KeyCode, KeyEventKind}; 4 | use futures_util::StreamExt; 5 | use kalosm::language::*; 6 | use kalosm::sound::*; 7 | use ratatui::widgets::{Scrollbar, ScrollbarOrientation, ScrollbarState}; 8 | use ratatui::{ 9 | prelude::*, 10 | widgets::{Block, Borders, Paragraph, Wrap}, 11 | }; 12 | use std::sync::Arc; 13 | use std::sync::atomic::{AtomicBool, Ordering}; 14 | 15 | use tokio::sync::mpsc; 16 | 17 | #[derive(Debug)] 18 | enum AppUpdate { 19 | LiveJapaneseUpdate(String), 20 | JapaneseSegmentComplete(String), 21 | EnglishTranslation(String), 22 | SamplesProcessed(usize), 23 | RawSamplesDetected(usize), 24 | StatusUpdate(String), 25 | Error(String), 26 | } 27 | 28 | #[derive(Debug, PartialEq, Clone, Copy)] 29 | enum AppInputMode { 30 | Listening, 31 | StoppedTyping, 32 | } 33 | 34 | struct App { 35 | status: String, 36 | current_live_japanese: String, 37 | completed_japanese: Vec, 38 | completed_translations: Vec, 39 | rx: mpsc::Receiver, 40 | should_quit: bool, 41 | input_mode: AppInputMode, 42 | user_input: String, // For when typing is enabled 43 | // Shared state to control the audio processing task 44 | is_listening_shared: Arc, 45 | japanese_scroll_state: ScrollbarState, 46 | japanese_scroll: usize, 47 | english_scroll_state: ScrollbarState, 48 | english_scroll: u16, 49 | total_samples_listened: usize, 50 | raw_samples_count: usize, 51 | } 52 | 53 | impl App { 54 | fn new(rx: mpsc::Receiver) -> Self { 55 | Self { 56 | status: "Initializing... Press 's' to Stop/Start, 'q' to Quit".to_string(), 57 | current_live_japanese: String::new(), 58 | completed_japanese: Vec::new(), 59 | completed_translations: Vec::new(), 60 | rx, 61 | should_quit: false, 62 | input_mode: AppInputMode::Listening, 63 | user_input: String::new(), 64 | is_listening_shared: Arc::new(AtomicBool::new(true)), // Start in listening mode 65 | japanese_scroll_state: ScrollbarState::default(), 66 | japanese_scroll: 0, 67 | english_scroll_state: ScrollbarState::default(), 68 | english_scroll: 0, 69 | total_samples_listened: 0, 70 | raw_samples_count: 0, 71 | } 72 | } 73 | 74 | fn on_update(&mut self, update: AppUpdate) { 75 | match update { 76 | AppUpdate::StatusUpdate(s) => self.status = s, 77 | AppUpdate::LiveJapaneseUpdate(s) => self.current_live_japanese = s, 78 | AppUpdate::JapaneseSegmentComplete(jp_text) => { 79 | self.completed_japanese.insert(0, jp_text); 80 | self.current_live_japanese.clear(); 81 | // Always insert a placeholder for the new Japanese text at the beginning 82 | self.completed_translations 83 | .insert(0, "Translating...".to_string()); 84 | 85 | // Defensive: Ensure translation list doesn't grow longer than Japanese list. 86 | while self.completed_translations.len() > self.completed_japanese.len() { 87 | self.completed_translations.pop(); // Remove from the end (oldest assumed extras) 88 | } 89 | } 90 | AppUpdate::EnglishTranslation(en_text) => { 91 | let jp_len = self.completed_japanese.len(); 92 | let tr_len = self.completed_translations.len(); 93 | 94 | // Try to update the placeholder at the beginning (index 0), as it's the newest. 95 | if tr_len > 0 && self.completed_translations[0] == "Translating..." { 96 | self.completed_translations[0] = en_text; 97 | } 98 | // Fallback: find the earliest "Translating..." placeholder and update it. 99 | // This covers cases where translations might arrive out of order for older segments. 100 | else if let Some(index) = self 101 | .completed_translations 102 | .iter() 103 | .position(|t| t == "Translating...") 104 | { 105 | self.completed_translations[index] = en_text; 106 | } 107 | // Further fallback: if no placeholder is found and lengths allow, insert new translation at the top. 108 | // This case should be rare if JapaneseSegmentComplete always adds a placeholder. 109 | else if tr_len < jp_len { 110 | self.completed_translations.insert(0, en_text); 111 | } 112 | // If none of the above (e.g. tr_len >= jp_len and no placeholder found), 113 | // the translation might be an anomaly or for an already translated segment. 114 | // We'll let the cleanup logic below adjust list lengths if necessary. 115 | 116 | // Defensive: Ensure translation list doesn't grow excessively longer than Japanese list. 117 | while self.completed_translations.len() > self.completed_japanese.len() { 118 | self.completed_translations.pop(); // Remove from the end 119 | } 120 | // Defensive: Ensure every Japanese text has a corresponding translation/placeholder. 121 | // New placeholders are inserted at the beginning to match the Japanese text insertion. 122 | while self.completed_translations.len() < self.completed_japanese.len() { 123 | self.completed_translations 124 | .insert(0, "[Pending Translation]".to_string()); 125 | } 126 | } 127 | AppUpdate::SamplesProcessed(samples) => { 128 | self.total_samples_listened += samples; 129 | self.raw_samples_count = 0; // Reset after final samples for transcribed segment reported 130 | } 131 | AppUpdate::RawSamplesDetected(samples) => { 132 | self.raw_samples_count += samples; 133 | } 134 | AppUpdate::Error(err_msg) => { 135 | self.status = format!("ERROR: {}", err_msg); 136 | // Potentially log to a file or display more prominently 137 | } 138 | } 139 | } 140 | 141 | fn run(&mut self, terminal: &mut Terminal) -> Result<()> { 142 | while !self.should_quit { 143 | terminal.draw(|frame| self.render(frame))?; 144 | self.handle_events()?; 145 | self.handle_updates(); 146 | } 147 | Ok(()) 148 | } 149 | 150 | fn handle_events(&mut self) -> Result<()> { 151 | if event::poll(std::time::Duration::from_millis(50))? { 152 | if let Event::Key(key) = event::read()? { 153 | if key.kind == KeyEventKind::Press { 154 | // Global keybindings for scrolling, etc. 155 | // Check for scroll events first, as they are global. 156 | let mut event_handled = true; // Assume handled if it matches 157 | match (key.code, key.modifiers) { 158 | (KeyCode::Down, KeyModifiers::CONTROL) 159 | | (KeyCode::Char('j'), KeyModifiers::CONTROL) => { 160 | self.scroll_english_down(); 161 | } 162 | (KeyCode::Up, KeyModifiers::CONTROL) 163 | | (KeyCode::Char('k'), KeyModifiers::CONTROL) => { 164 | self.scroll_english_up(); 165 | } 166 | (KeyCode::Down, KeyModifiers::ALT) 167 | | (KeyCode::Char('j'), KeyModifiers::ALT) => { 168 | self.scroll_japanese_down(); 169 | } 170 | (KeyCode::Up, KeyModifiers::ALT) 171 | | (KeyCode::Char('k'), KeyModifiers::ALT) => { 172 | self.scroll_japanese_up(); 173 | } 174 | _ => { 175 | event_handled = false; // Not a global scroll key 176 | } 177 | } 178 | 179 | if event_handled { 180 | return Ok(()); 181 | } 182 | 183 | // Mode-specific keybindings 184 | if key.kind == KeyEventKind::Press && key.code == KeyCode::Esc { 185 | self.should_quit = true; 186 | return Ok(()); 187 | } 188 | match self.input_mode { 189 | AppInputMode::Listening => match key.code { 190 | KeyCode::Char('q') => { 191 | self.should_quit = true; 192 | self.status = "Exiting...".to_string(); 193 | } 194 | KeyCode::Char('s') => { 195 | self.input_mode = AppInputMode::StoppedTyping; 196 | self.is_listening_shared.store(false, Ordering::Relaxed); 197 | self.status = "Stopped. Press 's' to Start. Type your message, Enter to process.".to_string(); 198 | self.current_live_japanese.clear(); // Clear live transcription 199 | self.user_input.clear(); // Clear previous user input 200 | } 201 | _ => {} 202 | }, 203 | AppInputMode::StoppedTyping => match key.code { 204 | KeyCode::Char('q') => { 205 | self.should_quit = true; 206 | self.status = "Exiting...".to_string(); 207 | } 208 | KeyCode::Char('s') => { 209 | self.input_mode = AppInputMode::Listening; 210 | self.is_listening_shared.store(true, Ordering::Relaxed); 211 | self.status = 212 | "Starting... Press 's' to Stop/Start, 'q' to Quit".to_string(); 213 | self.user_input.clear(); 214 | } 215 | KeyCode::Enter => { 216 | // Process self.user_input (transcribe/translate) 217 | // This part will require sending the user_input to the audio_processing_task 218 | // or a similar new task. For now, we'll just clear it and log. 219 | if !self.user_input.is_empty() { 220 | // Send user_input for processing. This needs a new AppUpdate variant or mechanism. 221 | // For now, let's simulate it goes to Japanese history. 222 | self.completed_japanese 223 | .push(format!("[User Input]: {}", self.user_input.clone())); 224 | // Add a placeholder for translation 225 | if self.completed_translations.len() 226 | < self.completed_japanese.len() 227 | { 228 | self.completed_translations 229 | .push("Translating user input...".to_string()); 230 | } 231 | // Here you would ideally trigger a Llama translation for self.user_input 232 | self.status = format!( 233 | "Input '{}' submitted. Press 's' to start listening.", 234 | self.user_input 235 | ); 236 | self.user_input.clear(); 237 | } 238 | } 239 | KeyCode::Char(c) => { 240 | self.user_input.push(c); 241 | } 242 | KeyCode::Backspace => { 243 | self.user_input.pop(); 244 | } 245 | _ => {} 246 | }, 247 | } 248 | } 249 | } 250 | } 251 | Ok(()) 252 | } 253 | 254 | fn handle_updates(&mut self) { 255 | while let Ok(update) = self.rx.try_recv() { 256 | self.on_update(update); 257 | } 258 | } 259 | 260 | fn render(&mut self, frame: &mut Frame) { 261 | // Changed to &mut self 262 | let main_layout = Layout::default() 263 | .direction(Direction::Vertical) 264 | .constraints(vec![ 265 | Constraint::Length(1), // Status 266 | Constraint::Length(3), // Live Japanese 267 | Constraint::Min(0), // History 268 | ]) 269 | .split(frame.area()); 270 | 271 | // General Status/Help Message 272 | let help_text = match self.input_mode { 273 | AppInputMode::Listening => { 274 | format!( 275 | "Status: {} ({} samples processed) (Press 's' to Stop, 'q' to Quit)", 276 | self.status, self.total_samples_listened 277 | ) 278 | } 279 | AppInputMode::StoppedTyping => { 280 | "Status: ".to_string() 281 | + &self.status 282 | + " (Press 's' to Start, 'q' to Quit, Enter to submit input)" 283 | } 284 | }; 285 | let help_paragraph = Paragraph::new(help_text).style(Style::default().fg(Color::Yellow)); 286 | frame.render_widget(help_paragraph, main_layout[0]); 287 | 288 | // Input Area (Live Japanese or User Text Input) 289 | let input_area_title = match self.input_mode { 290 | AppInputMode::Listening => "Live Japanese Input (Listening...)", 291 | AppInputMode::StoppedTyping => "Text Input (Stopped - Type here)", 292 | }; 293 | let input_block = Block::default() 294 | .title(input_area_title) 295 | .borders(Borders::ALL); 296 | 297 | let text_to_display_in_input_area = match self.input_mode { 298 | AppInputMode::Listening => self.current_live_japanese.as_str(), 299 | AppInputMode::StoppedTyping => self.user_input.as_str(), 300 | }; 301 | 302 | let mut text_widget = Paragraph::new(text_to_display_in_input_area) 303 | .wrap(Wrap { trim: true }) 304 | .block(input_block.clone()); 305 | 306 | if self.input_mode == AppInputMode::StoppedTyping { 307 | text_widget = text_widget.style(Style::default().fg(Color::Cyan)); // Style for typing mode 308 | // Set cursor position for typing mode 309 | #[allow(clippy::cast_possible_truncation)] 310 | frame.set_cursor_position(Position::new( 311 | main_layout[1].x + self.user_input.chars().count() as u16 + 1, 312 | main_layout[1].y + 1, 313 | )); 314 | } else if self.current_live_japanese.is_empty() 315 | && self.input_mode == AppInputMode::Listening 316 | && self.status.contains("Listening") 317 | { 318 | let listening_text = format!( 319 | "Listening... ({} samples processed this segment)", 320 | self.raw_samples_count 321 | ); 322 | let listening_placeholder = Paragraph::new(listening_text) 323 | .wrap(Wrap { trim: true }) 324 | .block(input_block) 325 | .style(Style::default().add_modifier(Modifier::ITALIC)); 326 | frame.render_widget(listening_placeholder, main_layout[1]); 327 | } else { 328 | frame.render_widget(text_widget.clone(), main_layout[1]); 329 | } 330 | // If it's StoppedTyping mode, render text_widget again to ensure cursor is handled correctly 331 | // This is a bit redundant but ensures the cursor logic from above is effective 332 | // This is needed because we might have rendered the "Listening..." placeholder. 333 | if self.input_mode == AppInputMode::StoppedTyping { 334 | frame.render_widget(text_widget, main_layout[1]); 335 | } 336 | 337 | let history_layout = Layout::default() 338 | .direction(Direction::Horizontal) 339 | .constraints(vec![Constraint::Percentage(50), Constraint::Percentage(50)]) 340 | .split(main_layout[2]); 341 | 342 | // Japanese Transcript Panel 343 | let japanese_lines: Vec = self 344 | .completed_japanese 345 | .iter() 346 | .enumerate() 347 | .flat_map(|(i, s)| { 348 | let style = if i == 0 { 349 | // Highlight the first line (newest) 350 | Style::new().fg(Color::White) 351 | } else { 352 | Style::new().fg(Color::DarkGray) 353 | }; 354 | let content_line = Line::from(s.as_str()).style(style); 355 | if i == 0 { 356 | // Newest item, don't add preceding blank line 357 | vec![content_line] 358 | } else { 359 | // Add a blank line before older items for separation 360 | vec![Line::from(""), content_line] 361 | } 362 | }) 363 | .collect(); 364 | 365 | let japanese_block = Block::default() 366 | .title("Japanese Transcript") 367 | .borders(Borders::ALL); 368 | let common_wrap_setting = Wrap { trim: true }; 369 | 370 | // Set scrollbar content length to number of items 371 | self.japanese_scroll_state = self 372 | .japanese_scroll_state 373 | .content_length(self.completed_japanese.len()); 374 | 375 | // Auto-scroll logic removed. Scrolling is now manual. 376 | 377 | let japanese_paragraph = Paragraph::new(japanese_lines) 378 | .block(japanese_block) 379 | .wrap(common_wrap_setting) 380 | .scroll((self.japanese_scroll as u16, 0)); 381 | frame.render_widget(japanese_paragraph, history_layout[0]); 382 | frame.render_stateful_widget( 383 | Scrollbar::new(ScrollbarOrientation::VerticalRight) 384 | .begin_symbol(Some("↑")) 385 | .end_symbol(Some("↓")), 386 | history_layout[0], // Render scrollbar in the same area 387 | &mut self.japanese_scroll_state, 388 | ); 389 | 390 | // English Translation Panel 391 | let english_lines: Vec = self 392 | .completed_translations 393 | .iter() 394 | .enumerate() 395 | .flat_map(|(i, s)| { 396 | let style = if i == 0 { 397 | // Highlight the first line (newest) 398 | Style::new().fg(Color::White) 399 | } else { 400 | Style::new().fg(Color::DarkGray) 401 | }; 402 | let content_line = Line::from(s.as_str()).style(style); 403 | if i == 0 { 404 | // Newest item 405 | vec![content_line] 406 | } else { 407 | // Add a blank line before older items 408 | vec![Line::from(""), content_line] 409 | } 410 | }) 411 | .collect(); 412 | 413 | let english_block = Block::default() 414 | .title("English Translation") 415 | .borders(Borders::ALL); 416 | // Assuming same wrap setting as Japanese panel, can be customized if needed 417 | let common_wrap_setting = Wrap { trim: true }; 418 | 419 | // Set scrollbar content length to number of items 420 | self.english_scroll_state = self 421 | .english_scroll_state 422 | .content_length(self.completed_translations.len()); 423 | 424 | // Auto-scroll logic removed. Scrolling is now manual. 425 | 426 | let english_paragraph = Paragraph::new(english_lines) 427 | .block(english_block) 428 | .wrap(common_wrap_setting) 429 | .scroll((self.english_scroll, 0)); 430 | frame.render_widget(english_paragraph, history_layout[1]); 431 | frame.render_stateful_widget( 432 | Scrollbar::new(ScrollbarOrientation::VerticalRight) 433 | .begin_symbol(Some("↑")) 434 | .end_symbol(Some("↓")), 435 | history_layout[1], // Render scrollbar in the same area 436 | &mut self.english_scroll_state, 437 | ); 438 | } 439 | 440 | fn scroll_japanese_down(&mut self) { 441 | let content_height = self.completed_japanese.len(); 442 | // Assuming roughly one line per item for simplicity in limiting scroll. 443 | // A more precise calculation might involve the actual rendered height if lines wrap. 444 | if content_height > 0 { 445 | // Check if there's content to scroll 446 | self.japanese_scroll = self.japanese_scroll.saturating_add(1); 447 | // Prevent scrolling beyond content. The paragraph widget itself might also clamp this. 448 | // This is a basic clamp; true max scroll depends on viewport height vs content height. 449 | if self.japanese_scroll >= content_height { 450 | self.japanese_scroll = content_height.saturating_sub(1); 451 | } 452 | } 453 | self.japanese_scroll_state = self.japanese_scroll_state.position(self.japanese_scroll); 454 | } 455 | 456 | fn scroll_japanese_up(&mut self) { 457 | self.japanese_scroll = self.japanese_scroll.saturating_sub(1); 458 | self.japanese_scroll_state = self.japanese_scroll_state.position(self.japanese_scroll); 459 | } 460 | 461 | fn scroll_english_down(&mut self) { 462 | let content_height = self.completed_translations.len() as u16; 463 | if content_height > 0 { 464 | self.english_scroll = self.english_scroll.saturating_add(1); 465 | if self.english_scroll >= content_height { 466 | self.english_scroll = content_height.saturating_sub(1); 467 | } 468 | } 469 | self.english_scroll_state = self 470 | .english_scroll_state 471 | .position(self.english_scroll as usize); 472 | } 473 | 474 | fn scroll_english_up(&mut self) { 475 | self.english_scroll = self.english_scroll.saturating_sub(1); 476 | self.english_scroll_state = self 477 | .english_scroll_state 478 | .position(self.english_scroll as usize); 479 | } 480 | } 481 | 482 | const SYSTEM_PROMPT: &str = "You are an expert translator. Translate the given Japanese text to English accurately and concisely. Output only the English translation. Do not add any pleasantries or extra explanations."; 483 | 484 | async fn audio_processing_task( 485 | tx: mpsc::Sender, 486 | is_listening_shared: Arc, 487 | ) -> Result<(), anyhow::Error> { 488 | tx.send(AppUpdate::StatusUpdate( 489 | "Initializing models...".to_string(), 490 | )) 491 | .await 492 | .ok(); 493 | 494 | let whisper_model = WhisperBuilder::default() 495 | .with_language(Some(WhisperLanguage::Japanese)) // Specify Japanese 496 | .build() 497 | .await?; 498 | 499 | tx.send(AppUpdate::StatusUpdate( 500 | "Whisper model loaded. Initializing Llama...".to_string(), 501 | )) 502 | .await 503 | .ok(); 504 | 505 | let llama_model = Llama::builder() 506 | .with_source(LlamaSource::qwen_2_5_7b_instruct()) // Or another suitable model 507 | .build() 508 | .await?; 509 | let llama_chat_template = llama_model.chat().with_system_prompt(SYSTEM_PROMPT); 510 | 511 | tx.send(AppUpdate::StatusUpdate( 512 | "All models loaded. Listening for microphone input...".to_string(), 513 | )) 514 | .await 515 | .ok(); 516 | 517 | let mic_input = MicInput::default(); 518 | let vad_stream = mic_input.stream().voice_activity_stream(); 519 | let tx_for_inspect = tx.clone(); // Clone tx for the inspect closure 520 | let mut audio_chunks = vad_stream 521 | .inspect(move |vad_output| { 522 | // vad_output is &VoiceActivityDetectorOutput (or the item type of vad_stream) 523 | // This assumes vad_output has a public field `samples` which is a `rodio::buffer::SamplesBuffer` 524 | // as per the user-provided reference. 525 | let samples_count = vad_output.samples.clone().count(); 526 | if samples_count > 0 { 527 | // Use try_send to avoid blocking the audio thread. 528 | // If the channel is full or disconnected, this will be a no-op. 529 | tx_for_inspect 530 | .try_send(AppUpdate::RawSamplesDetected(samples_count)) 531 | .ok(); 532 | } 533 | }) 534 | .rechunk_voice_activity() 535 | .with_end_window(std::time::Duration::from_millis(400)) // More sensitive end window 536 | .with_end_threshold(0.25) // Slightly higher end threshold 537 | .with_time_before_speech(std::time::Duration::from_millis(200)); // Reduce pre-speech buffer 538 | 539 | loop { 540 | if !is_listening_shared.load(Ordering::Relaxed) { 541 | // If not listening, sleep for a bit and check again. 542 | // Update status to indicate paused state if desired. 543 | // tx.send(AppUpdate::StatusUpdate("Audio processing paused...".to_string())).await.ok(); 544 | tokio::time::sleep(std::time::Duration::from_millis(100)).await; 545 | continue; 546 | } 547 | 548 | // Check if there's an audio chunk available without blocking indefinitely if not listening 549 | // This might need more sophisticated handling if audio_chunks.next() blocks for too long 550 | // when is_listening_shared becomes false during its await. 551 | // For simplicity, we proceed with next().await. 552 | // A more robust solution might involve a select! with a shutdown signal. 553 | let input_audio_chunk = match tokio::time::timeout( 554 | std::time::Duration::from_millis(50), // Short timeout to remain responsive to is_listening_shared 555 | audio_chunks.next(), 556 | ) 557 | .await 558 | { 559 | Ok(Some(chunk)) => chunk, 560 | Ok(None) => break, // Stream ended 561 | Err(_) => continue, // Timeout, loop back to check is_listening_shared 562 | }; 563 | 564 | // Indicate that an audio chunk has been received and provide its size 565 | let chunk_size = input_audio_chunk.clone().count(); // Get number of samples directly from SamplesBuffer 566 | tx.send(AppUpdate::StatusUpdate(format!( 567 | "Processing audio chunk ({:#?} samples)...", 568 | chunk_size 569 | ))) 570 | .await 571 | .ok(); 572 | // Send the number of samples processed in this chunk for this segment 573 | tx.send(AppUpdate::SamplesProcessed(chunk_size)).await.ok(); 574 | 575 | // tx.send(AppUpdate::StatusUpdate("Transcribing audio...".to_string())) 576 | // .await 577 | // .ok(); // This line is now replaced by the more specific one above or the one below after transcription 578 | let mut current_segment_text = String::new(); 579 | let mut transcribed_stream = whisper_model.transcribe(input_audio_chunk); 580 | 581 | while let Some(transcribed) = transcribed_stream.next().await { 582 | if transcribed.probability_of_no_speech() < 0.85 { 583 | current_segment_text.push_str(transcribed.text()); 584 | tx.send(AppUpdate::LiveJapaneseUpdate(current_segment_text.clone())) 585 | .await 586 | .ok(); 587 | } 588 | } 589 | 590 | if current_segment_text.trim().chars().count() > 0 { 591 | tx.send(AppUpdate::JapaneseSegmentComplete( 592 | current_segment_text.clone(), 593 | )) 594 | .await 595 | .ok(); 596 | tx.send(AppUpdate::StatusUpdate( 597 | "Translating to English...".to_string(), 598 | )) 599 | .await 600 | .ok(); 601 | 602 | let tx_clone_for_task = tx.clone(); 603 | let chat_template_for_task = llama_chat_template.clone(); 604 | let segment_to_translate = current_segment_text.clone(); 605 | 606 | tokio::spawn(async move { 607 | let prompt = format!( 608 | "Translate the following Japanese text to English, Output only the English translation. Do not add any pleasantries or extra explanations. Do not translate English, keep as is.:\n{}", 609 | segment_to_translate 610 | ); 611 | 612 | // It's good practice to indicate that the Llama call is starting within the task 613 | // tx_clone_for_task.send(AppUpdate::StatusUpdate( 614 | // "Requesting translation from Llama...".to_string(), 615 | // )) 616 | // .await 617 | // .ok(); 618 | 619 | let mut llama_chat = chat_template_for_task; 620 | let mut response_stream = llama_chat(&prompt); 621 | let raw_translation = response_stream.all_text().await; 622 | // println!("[Debug Llama Output Live]: {}", raw_translation); 623 | 624 | let cleaned_translation = raw_translation 625 | .replace("<|im_start|>", "") 626 | .replace("<|im_end|>", "") 627 | .trim() 628 | .to_string(); 629 | 630 | let _status_translation_excerpt = if cleaned_translation.len() > 20 { 631 | let mut end_index = 20; 632 | if cleaned_translation.is_empty() { 633 | end_index = 0; 634 | } else { 635 | while end_index > 0 && !cleaned_translation.is_char_boundary(end_index) { 636 | end_index -= 1; 637 | } 638 | } 639 | format!("{}...", &cleaned_translation[..end_index]) 640 | } else { 641 | cleaned_translation.clone() 642 | }; 643 | // This status update can be useful to confirm the task completed 644 | // tx_clone_for_task.send(AppUpdate::StatusUpdate(format!( 645 | // "Llama call completed. Got: {}", 646 | // status_translation_excerpt 647 | // ))) 648 | // .await 649 | // .ok(); 650 | 651 | if !cleaned_translation.is_empty() { 652 | tx_clone_for_task 653 | .send(AppUpdate::EnglishTranslation(cleaned_translation)) 654 | .await 655 | .ok(); 656 | } else { 657 | tx_clone_for_task 658 | .send(AppUpdate::EnglishTranslation( 659 | "[No translation generated]".to_string(), 660 | )) 661 | .await 662 | .ok(); 663 | } 664 | }); 665 | } else { 666 | // Clear live japanese if segment was too short/empty 667 | tx.send(AppUpdate::LiveJapaneseUpdate("".to_string())) 668 | .await 669 | .ok(); 670 | } 671 | tx.send(AppUpdate::StatusUpdate("Listening...".to_string())) 672 | .await 673 | .ok(); 674 | } 675 | 676 | Ok(()) 677 | } 678 | 679 | #[tokio::main] 680 | async fn main() -> Result<()> { 681 | color_eyre::install()?; 682 | 683 | let (tx, rx) = mpsc::channel(32); // Channel for AppUpdates 684 | let is_listening_shared = Arc::new(AtomicBool::new(true)); // Initially listening 685 | 686 | // Clone tx and is_listening_shared for the audio processing task 687 | let tx_audio = tx.clone(); 688 | let is_listening_audio_task = is_listening_shared.clone(); 689 | tokio::spawn(async move { 690 | if let Err(e) = audio_processing_task(tx_audio, is_listening_audio_task).await { 691 | // Send error to UI if task fails 692 | // The tx channel might be closed if the main app loop has already exited. 693 | // We use a let _ to ignore the result of the send, as there's not much we can do 694 | // if sending fails here (the UI part is likely gone). 695 | let _ = tx 696 | .send(AppUpdate::Error(format!( 697 | "Audio processing task failed: {}", 698 | e 699 | ))) 700 | .await; 701 | } 702 | }); 703 | 704 | // Setup terminal 705 | let mut terminal = Terminal::new(CrosstermBackend::new(std::io::stdout()))?; 706 | crossterm::terminal::enable_raw_mode()?; 707 | crossterm::execute!( 708 | terminal.backend_mut(), 709 | crossterm::terminal::EnterAlternateScreen, 710 | crossterm::event::EnableMouseCapture // Though not used, good practice 711 | )?; 712 | terminal.clear()?; // Clear terminal before first draw 713 | 714 | let mut app = App::new(rx); // app needs to be mutable to call run 715 | let app_result = app.run(&mut terminal); // Pass a mutable reference to terminal 716 | 717 | // Restore terminal 718 | crossterm::execute!( 719 | terminal.backend_mut(), // Use terminal.backend_mut() for restore as well 720 | crossterm::terminal::LeaveAlternateScreen, 721 | crossterm::event::DisableMouseCapture 722 | )?; 723 | crossterm::terminal::disable_raw_mode()?; 724 | 725 | // The terminal is dropped here, which should restore the original screen. 726 | // Explicitly restoring is good practice though. 727 | 728 | if let Err(err) = app_result { 729 | // It's good to print the error to stderr if the application fails 730 | // before the terminal is fully restored, or if restoration itself fails. 731 | eprintln!("Error running app: {:?}", err); 732 | // Ensure color_eyre's hook can run by returning the error 733 | return Err(err); // No need for .into() if app.run returns color_eyre::Result 734 | } 735 | 736 | Ok(()) 737 | } 738 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 4 4 | 5 | [[package]] 6 | name = "accelerate-src" 7 | version = "0.3.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "415ed64958754dbe991900f3940677e6a7eefb4d7367afd70d642677b0c7d19d" 10 | 11 | [[package]] 12 | name = "addr2line" 13 | version = "0.24.2" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 16 | dependencies = [ 17 | "gimli", 18 | ] 19 | 20 | [[package]] 21 | name = "adler2" 22 | version = "2.0.0" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 25 | 26 | [[package]] 27 | name = "aes" 28 | version = "0.8.4" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" 31 | dependencies = [ 32 | "cfg-if", 33 | "cipher", 34 | "cpufeatures", 35 | ] 36 | 37 | [[package]] 38 | name = "ahash" 39 | version = "0.8.12" 40 | source = "registry+https://github.com/rust-lang/crates.io-index" 41 | checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" 42 | dependencies = [ 43 | "cfg-if", 44 | "getrandom 0.3.3", 45 | "once_cell", 46 | "version_check", 47 | "zerocopy", 48 | ] 49 | 50 | [[package]] 51 | name = "aho-corasick" 52 | version = "1.1.3" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 55 | dependencies = [ 56 | "memchr", 57 | ] 58 | 59 | [[package]] 60 | name = "allocator-api2" 61 | version = "0.2.21" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 64 | 65 | [[package]] 66 | name = "alsa" 67 | version = "0.9.1" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" 70 | dependencies = [ 71 | "alsa-sys", 72 | "bitflags 2.9.1", 73 | "cfg-if", 74 | "libc", 75 | ] 76 | 77 | [[package]] 78 | name = "alsa-sys" 79 | version = "0.3.1" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" 82 | dependencies = [ 83 | "libc", 84 | "pkg-config", 85 | ] 86 | 87 | [[package]] 88 | name = "android-tzdata" 89 | version = "0.1.1" 90 | source = "registry+https://github.com/rust-lang/crates.io-index" 91 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 92 | 93 | [[package]] 94 | name = "android_system_properties" 95 | version = "0.1.5" 96 | source = "registry+https://github.com/rust-lang/crates.io-index" 97 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 98 | dependencies = [ 99 | "libc", 100 | ] 101 | 102 | [[package]] 103 | name = "anyhow" 104 | version = "1.0.98" 105 | source = "registry+https://github.com/rust-lang/crates.io-index" 106 | checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" 107 | 108 | [[package]] 109 | name = "arbitrary" 110 | version = "1.4.1" 111 | source = "registry+https://github.com/rust-lang/crates.io-index" 112 | checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" 113 | dependencies = [ 114 | "derive_arbitrary", 115 | ] 116 | 117 | [[package]] 118 | name = "arrayvec" 119 | version = "0.7.6" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" 122 | 123 | [[package]] 124 | name = "arroy" 125 | version = "0.5.0" 126 | source = "registry+https://github.com/rust-lang/crates.io-index" 127 | checksum = "dfc5f272f38fa063bbff0a7ab5219404e221493de005e2b4078c62d626ef567e" 128 | dependencies = [ 129 | "bytemuck", 130 | "byteorder", 131 | "heed", 132 | "log", 133 | "memmap2", 134 | "nohash", 135 | "ordered-float", 136 | "rand 0.8.5", 137 | "rayon", 138 | "roaring", 139 | "tempfile", 140 | "thiserror 1.0.69", 141 | ] 142 | 143 | [[package]] 144 | name = "async-lock" 145 | version = "3.4.0" 146 | source = "registry+https://github.com/rust-lang/crates.io-index" 147 | checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" 148 | dependencies = [ 149 | "event-listener", 150 | "event-listener-strategy", 151 | "pin-project-lite", 152 | ] 153 | 154 | [[package]] 155 | name = "atom_syndication" 156 | version = "0.12.7" 157 | source = "registry+https://github.com/rust-lang/crates.io-index" 158 | checksum = "d2f68d23e2cb4fd958c705b91a6b4c80ceeaf27a9e11651272a8389d5ce1a4a3" 159 | dependencies = [ 160 | "chrono", 161 | "derive_builder", 162 | "diligent-date-parser", 163 | "never", 164 | "quick-xml", 165 | ] 166 | 167 | [[package]] 168 | name = "atty" 169 | version = "0.2.14" 170 | source = "registry+https://github.com/rust-lang/crates.io-index" 171 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 172 | dependencies = [ 173 | "hermit-abi 0.1.19", 174 | "libc", 175 | "winapi", 176 | ] 177 | 178 | [[package]] 179 | name = "autocfg" 180 | version = "1.4.0" 181 | source = "registry+https://github.com/rust-lang/crates.io-index" 182 | checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 183 | 184 | [[package]] 185 | name = "backtrace" 186 | version = "0.3.75" 187 | source = "registry+https://github.com/rust-lang/crates.io-index" 188 | checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" 189 | dependencies = [ 190 | "addr2line", 191 | "cfg-if", 192 | "libc", 193 | "miniz_oxide", 194 | "object", 195 | "rustc-demangle", 196 | "windows-targets 0.52.6", 197 | ] 198 | 199 | [[package]] 200 | name = "base64" 201 | version = "0.13.1" 202 | source = "registry+https://github.com/rust-lang/crates.io-index" 203 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 204 | 205 | [[package]] 206 | name = "base64" 207 | version = "0.21.7" 208 | source = "registry+https://github.com/rust-lang/crates.io-index" 209 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 210 | 211 | [[package]] 212 | name = "base64" 213 | version = "0.22.1" 214 | source = "registry+https://github.com/rust-lang/crates.io-index" 215 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 216 | 217 | [[package]] 218 | name = "bincode" 219 | version = "1.3.3" 220 | source = "registry+https://github.com/rust-lang/crates.io-index" 221 | checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" 222 | dependencies = [ 223 | "serde", 224 | ] 225 | 226 | [[package]] 227 | name = "bindgen" 228 | version = "0.70.1" 229 | source = "registry+https://github.com/rust-lang/crates.io-index" 230 | checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" 231 | dependencies = [ 232 | "bitflags 2.9.1", 233 | "cexpr", 234 | "clang-sys", 235 | "itertools 0.13.0", 236 | "proc-macro2", 237 | "quote", 238 | "regex", 239 | "rustc-hash", 240 | "shlex", 241 | "syn 2.0.101", 242 | ] 243 | 244 | [[package]] 245 | name = "bit-set" 246 | version = "0.5.3" 247 | source = "registry+https://github.com/rust-lang/crates.io-index" 248 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" 249 | dependencies = [ 250 | "bit-vec", 251 | ] 252 | 253 | [[package]] 254 | name = "bit-vec" 255 | version = "0.6.3" 256 | source = "registry+https://github.com/rust-lang/crates.io-index" 257 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" 258 | 259 | [[package]] 260 | name = "bit_field" 261 | version = "0.10.2" 262 | source = "registry+https://github.com/rust-lang/crates.io-index" 263 | checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" 264 | 265 | [[package]] 266 | name = "bitflags" 267 | version = "1.3.2" 268 | source = "registry+https://github.com/rust-lang/crates.io-index" 269 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 270 | 271 | [[package]] 272 | name = "bitflags" 273 | version = "2.9.1" 274 | source = "registry+https://github.com/rust-lang/crates.io-index" 275 | checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" 276 | dependencies = [ 277 | "serde", 278 | ] 279 | 280 | [[package]] 281 | name = "block" 282 | version = "0.1.6" 283 | source = "registry+https://github.com/rust-lang/crates.io-index" 284 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 285 | 286 | [[package]] 287 | name = "block-buffer" 288 | version = "0.10.4" 289 | source = "registry+https://github.com/rust-lang/crates.io-index" 290 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 291 | dependencies = [ 292 | "generic-array", 293 | ] 294 | 295 | [[package]] 296 | name = "block-padding" 297 | version = "0.3.3" 298 | source = "registry+https://github.com/rust-lang/crates.io-index" 299 | checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" 300 | dependencies = [ 301 | "generic-array", 302 | ] 303 | 304 | [[package]] 305 | name = "bumpalo" 306 | version = "3.17.0" 307 | source = "registry+https://github.com/rust-lang/crates.io-index" 308 | checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" 309 | 310 | [[package]] 311 | name = "bytecount" 312 | version = "0.6.8" 313 | source = "registry+https://github.com/rust-lang/crates.io-index" 314 | checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" 315 | 316 | [[package]] 317 | name = "bytemuck" 318 | version = "1.23.0" 319 | source = "registry+https://github.com/rust-lang/crates.io-index" 320 | checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" 321 | dependencies = [ 322 | "bytemuck_derive", 323 | ] 324 | 325 | [[package]] 326 | name = "bytemuck_derive" 327 | version = "1.9.3" 328 | source = "registry+https://github.com/rust-lang/crates.io-index" 329 | checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" 330 | dependencies = [ 331 | "proc-macro2", 332 | "quote", 333 | "syn 2.0.101", 334 | ] 335 | 336 | [[package]] 337 | name = "byteorder" 338 | version = "1.5.0" 339 | source = "registry+https://github.com/rust-lang/crates.io-index" 340 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 341 | 342 | [[package]] 343 | name = "bytes" 344 | version = "1.10.1" 345 | source = "registry+https://github.com/rust-lang/crates.io-index" 346 | checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 347 | 348 | [[package]] 349 | name = "candle-core" 350 | version = "0.8.4" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | checksum = "06ccf5ee3532e66868516d9b315f73aec9f34ea1a37ae98514534d458915dbf1" 353 | dependencies = [ 354 | "accelerate-src", 355 | "byteorder", 356 | "candle-metal-kernels", 357 | "gemm 0.17.1", 358 | "half", 359 | "libc", 360 | "memmap2", 361 | "metal 0.27.0", 362 | "num-traits", 363 | "num_cpus", 364 | "rand 0.9.1", 365 | "rand_distr", 366 | "rayon", 367 | "safetensors", 368 | "thiserror 1.0.69", 369 | "ug", 370 | "ug-metal", 371 | "yoke 0.7.5", 372 | "zip 1.1.4", 373 | ] 374 | 375 | [[package]] 376 | name = "candle-metal-kernels" 377 | version = "0.8.4" 378 | source = "registry+https://github.com/rust-lang/crates.io-index" 379 | checksum = "52c85c21827c28db94e7112e364abe7e0cf8d2b022c014edf08642be6b94f21e" 380 | dependencies = [ 381 | "metal 0.27.0", 382 | "once_cell", 383 | "thiserror 1.0.69", 384 | "tracing", 385 | ] 386 | 387 | [[package]] 388 | name = "candle-nn" 389 | version = "0.8.4" 390 | source = "registry+https://github.com/rust-lang/crates.io-index" 391 | checksum = "be1160c3b63f47d40d91110a3e1e1e566ae38edddbbf492a60b40ffc3bc1ff38" 392 | dependencies = [ 393 | "accelerate-src", 394 | "candle-core", 395 | "candle-metal-kernels", 396 | "half", 397 | "metal 0.27.0", 398 | "num-traits", 399 | "rayon", 400 | "safetensors", 401 | "serde", 402 | "thiserror 1.0.69", 403 | ] 404 | 405 | [[package]] 406 | name = "candle-transformers" 407 | version = "0.8.4" 408 | source = "registry+https://github.com/rust-lang/crates.io-index" 409 | checksum = "94a0900d49f8605e0e7e6693a1f560e6271279de98e5fa369e7abf3aac245020" 410 | dependencies = [ 411 | "accelerate-src", 412 | "byteorder", 413 | "candle-core", 414 | "candle-nn", 415 | "fancy-regex", 416 | "num-traits", 417 | "rand 0.9.1", 418 | "rayon", 419 | "serde", 420 | "serde_json", 421 | "serde_plain", 422 | "tracing", 423 | ] 424 | 425 | [[package]] 426 | name = "cassowary" 427 | version = "0.3.0" 428 | source = "registry+https://github.com/rust-lang/crates.io-index" 429 | checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" 430 | 431 | [[package]] 432 | name = "castaway" 433 | version = "0.2.3" 434 | source = "registry+https://github.com/rust-lang/crates.io-index" 435 | checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" 436 | dependencies = [ 437 | "rustversion", 438 | ] 439 | 440 | [[package]] 441 | name = "cbc" 442 | version = "0.1.2" 443 | source = "registry+https://github.com/rust-lang/crates.io-index" 444 | checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" 445 | dependencies = [ 446 | "cipher", 447 | ] 448 | 449 | [[package]] 450 | name = "cc" 451 | version = "1.2.22" 452 | source = "registry+https://github.com/rust-lang/crates.io-index" 453 | checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" 454 | dependencies = [ 455 | "jobserver", 456 | "libc", 457 | "shlex", 458 | ] 459 | 460 | [[package]] 461 | name = "cesu8" 462 | version = "1.1.0" 463 | source = "registry+https://github.com/rust-lang/crates.io-index" 464 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 465 | 466 | [[package]] 467 | name = "cexpr" 468 | version = "0.6.0" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 471 | dependencies = [ 472 | "nom", 473 | ] 474 | 475 | [[package]] 476 | name = "cfg-if" 477 | version = "1.0.0" 478 | source = "registry+https://github.com/rust-lang/crates.io-index" 479 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 480 | 481 | [[package]] 482 | name = "chrono" 483 | version = "0.4.41" 484 | source = "registry+https://github.com/rust-lang/crates.io-index" 485 | checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" 486 | dependencies = [ 487 | "android-tzdata", 488 | "iana-time-zone", 489 | "js-sys", 490 | "num-traits", 491 | "serde", 492 | "wasm-bindgen", 493 | "windows-link", 494 | ] 495 | 496 | [[package]] 497 | name = "cipher" 498 | version = "0.4.4" 499 | source = "registry+https://github.com/rust-lang/crates.io-index" 500 | checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" 501 | dependencies = [ 502 | "crypto-common", 503 | "inout", 504 | ] 505 | 506 | [[package]] 507 | name = "clang-sys" 508 | version = "1.8.1" 509 | source = "registry+https://github.com/rust-lang/crates.io-index" 510 | checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" 511 | dependencies = [ 512 | "glob", 513 | "libc", 514 | "libloading", 515 | ] 516 | 517 | [[package]] 518 | name = "clap" 519 | version = "3.2.25" 520 | source = "registry+https://github.com/rust-lang/crates.io-index" 521 | checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" 522 | dependencies = [ 523 | "atty", 524 | "bitflags 1.3.2", 525 | "clap_lex", 526 | "indexmap 1.9.3", 527 | "once_cell", 528 | "strsim 0.10.0", 529 | "termcolor", 530 | "textwrap", 531 | ] 532 | 533 | [[package]] 534 | name = "clap_lex" 535 | version = "0.2.4" 536 | source = "registry+https://github.com/rust-lang/crates.io-index" 537 | checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" 538 | dependencies = [ 539 | "os_str_bytes", 540 | ] 541 | 542 | [[package]] 543 | name = "claxon" 544 | version = "0.4.3" 545 | source = "registry+https://github.com/rust-lang/crates.io-index" 546 | checksum = "4bfbf56724aa9eca8afa4fcfadeb479e722935bb2a0900c2d37e0cc477af0688" 547 | 548 | [[package]] 549 | name = "color-eyre" 550 | version = "0.6.4" 551 | source = "registry+https://github.com/rust-lang/crates.io-index" 552 | checksum = "e6e1761c0e16f8883bbbb8ce5990867f4f06bf11a0253da6495a04ce4b6ef0ec" 553 | dependencies = [ 554 | "backtrace", 555 | "color-spantrace", 556 | "eyre", 557 | "indenter", 558 | "once_cell", 559 | "owo-colors", 560 | "tracing-error", 561 | ] 562 | 563 | [[package]] 564 | name = "color-spantrace" 565 | version = "0.2.2" 566 | source = "registry+https://github.com/rust-lang/crates.io-index" 567 | checksum = "2ddd8d5bfda1e11a501d0a7303f3bfed9aa632ebdb859be40d0fd70478ed70d5" 568 | dependencies = [ 569 | "once_cell", 570 | "owo-colors", 571 | "tracing-core", 572 | "tracing-error", 573 | ] 574 | 575 | [[package]] 576 | name = "color_quant" 577 | version = "1.1.0" 578 | source = "registry+https://github.com/rust-lang/crates.io-index" 579 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 580 | 581 | [[package]] 582 | name = "combine" 583 | version = "4.6.7" 584 | source = "registry+https://github.com/rust-lang/crates.io-index" 585 | checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 586 | dependencies = [ 587 | "bytes", 588 | "memchr", 589 | ] 590 | 591 | [[package]] 592 | name = "comfy-table" 593 | version = "7.1.4" 594 | source = "registry+https://github.com/rust-lang/crates.io-index" 595 | checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" 596 | dependencies = [ 597 | "crossterm 0.28.1", 598 | "unicode-segmentation", 599 | "unicode-width 0.2.0", 600 | ] 601 | 602 | [[package]] 603 | name = "compact_str" 604 | version = "0.8.1" 605 | source = "registry+https://github.com/rust-lang/crates.io-index" 606 | checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" 607 | dependencies = [ 608 | "castaway", 609 | "cfg-if", 610 | "itoa", 611 | "rustversion", 612 | "ryu", 613 | "static_assertions", 614 | ] 615 | 616 | [[package]] 617 | name = "concurrent-queue" 618 | version = "2.5.0" 619 | source = "registry+https://github.com/rust-lang/crates.io-index" 620 | checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 621 | dependencies = [ 622 | "crossbeam-utils", 623 | ] 624 | 625 | [[package]] 626 | name = "console" 627 | version = "0.15.11" 628 | source = "registry+https://github.com/rust-lang/crates.io-index" 629 | checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" 630 | dependencies = [ 631 | "encode_unicode", 632 | "libc", 633 | "once_cell", 634 | "unicode-width 0.2.0", 635 | "windows-sys 0.59.0", 636 | ] 637 | 638 | [[package]] 639 | name = "convert_case" 640 | version = "0.6.0" 641 | source = "registry+https://github.com/rust-lang/crates.io-index" 642 | checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" 643 | dependencies = [ 644 | "unicode-segmentation", 645 | ] 646 | 647 | [[package]] 648 | name = "convert_case" 649 | version = "0.7.1" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" 652 | dependencies = [ 653 | "unicode-segmentation", 654 | ] 655 | 656 | [[package]] 657 | name = "core-foundation" 658 | version = "0.9.4" 659 | source = "registry+https://github.com/rust-lang/crates.io-index" 660 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 661 | dependencies = [ 662 | "core-foundation-sys", 663 | "libc", 664 | ] 665 | 666 | [[package]] 667 | name = "core-foundation-sys" 668 | version = "0.8.7" 669 | source = "registry+https://github.com/rust-lang/crates.io-index" 670 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 671 | 672 | [[package]] 673 | name = "core-graphics-types" 674 | version = "0.1.3" 675 | source = "registry+https://github.com/rust-lang/crates.io-index" 676 | checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" 677 | dependencies = [ 678 | "bitflags 1.3.2", 679 | "core-foundation", 680 | "libc", 681 | ] 682 | 683 | [[package]] 684 | name = "coreaudio-rs" 685 | version = "0.11.3" 686 | source = "registry+https://github.com/rust-lang/crates.io-index" 687 | checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" 688 | dependencies = [ 689 | "bitflags 1.3.2", 690 | "core-foundation-sys", 691 | "coreaudio-sys", 692 | ] 693 | 694 | [[package]] 695 | name = "coreaudio-sys" 696 | version = "0.2.16" 697 | source = "registry+https://github.com/rust-lang/crates.io-index" 698 | checksum = "2ce857aa0b77d77287acc1ac3e37a05a8c95a2af3647d23b15f263bdaeb7562b" 699 | dependencies = [ 700 | "bindgen", 701 | ] 702 | 703 | [[package]] 704 | name = "cpal" 705 | version = "0.15.3" 706 | source = "registry+https://github.com/rust-lang/crates.io-index" 707 | checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" 708 | dependencies = [ 709 | "alsa", 710 | "core-foundation-sys", 711 | "coreaudio-rs", 712 | "dasp_sample", 713 | "jni", 714 | "js-sys", 715 | "libc", 716 | "mach2", 717 | "ndk", 718 | "ndk-context", 719 | "oboe", 720 | "wasm-bindgen", 721 | "wasm-bindgen-futures", 722 | "web-sys", 723 | "windows", 724 | ] 725 | 726 | [[package]] 727 | name = "cpufeatures" 728 | version = "0.2.17" 729 | source = "registry+https://github.com/rust-lang/crates.io-index" 730 | checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 731 | dependencies = [ 732 | "libc", 733 | ] 734 | 735 | [[package]] 736 | name = "crc32fast" 737 | version = "1.4.2" 738 | source = "registry+https://github.com/rust-lang/crates.io-index" 739 | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" 740 | dependencies = [ 741 | "cfg-if", 742 | ] 743 | 744 | [[package]] 745 | name = "crossbeam-channel" 746 | version = "0.5.15" 747 | source = "registry+https://github.com/rust-lang/crates.io-index" 748 | checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" 749 | dependencies = [ 750 | "crossbeam-utils", 751 | ] 752 | 753 | [[package]] 754 | name = "crossbeam-deque" 755 | version = "0.8.6" 756 | source = "registry+https://github.com/rust-lang/crates.io-index" 757 | checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" 758 | dependencies = [ 759 | "crossbeam-epoch", 760 | "crossbeam-utils", 761 | ] 762 | 763 | [[package]] 764 | name = "crossbeam-epoch" 765 | version = "0.9.18" 766 | source = "registry+https://github.com/rust-lang/crates.io-index" 767 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 768 | dependencies = [ 769 | "crossbeam-utils", 770 | ] 771 | 772 | [[package]] 773 | name = "crossbeam-queue" 774 | version = "0.3.12" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" 777 | dependencies = [ 778 | "crossbeam-utils", 779 | ] 780 | 781 | [[package]] 782 | name = "crossbeam-utils" 783 | version = "0.8.21" 784 | source = "registry+https://github.com/rust-lang/crates.io-index" 785 | checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 786 | 787 | [[package]] 788 | name = "crossterm" 789 | version = "0.28.1" 790 | source = "registry+https://github.com/rust-lang/crates.io-index" 791 | checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" 792 | dependencies = [ 793 | "bitflags 2.9.1", 794 | "crossterm_winapi", 795 | "mio", 796 | "parking_lot", 797 | "rustix 0.38.44", 798 | "signal-hook", 799 | "signal-hook-mio", 800 | "winapi", 801 | ] 802 | 803 | [[package]] 804 | name = "crossterm" 805 | version = "0.29.0" 806 | source = "registry+https://github.com/rust-lang/crates.io-index" 807 | checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" 808 | dependencies = [ 809 | "bitflags 2.9.1", 810 | "crossterm_winapi", 811 | "derive_more 2.0.1", 812 | "document-features", 813 | "mio", 814 | "parking_lot", 815 | "rustix 1.0.7", 816 | "signal-hook", 817 | "signal-hook-mio", 818 | "winapi", 819 | ] 820 | 821 | [[package]] 822 | name = "crossterm_winapi" 823 | version = "0.9.1" 824 | source = "registry+https://github.com/rust-lang/crates.io-index" 825 | checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" 826 | dependencies = [ 827 | "winapi", 828 | ] 829 | 830 | [[package]] 831 | name = "crunchy" 832 | version = "0.2.3" 833 | source = "registry+https://github.com/rust-lang/crates.io-index" 834 | checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" 835 | 836 | [[package]] 837 | name = "crypto-common" 838 | version = "0.1.6" 839 | source = "registry+https://github.com/rust-lang/crates.io-index" 840 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 841 | dependencies = [ 842 | "generic-array", 843 | "typenum", 844 | ] 845 | 846 | [[package]] 847 | name = "cssparser" 848 | version = "0.31.2" 849 | source = "registry+https://github.com/rust-lang/crates.io-index" 850 | checksum = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be" 851 | dependencies = [ 852 | "cssparser-macros", 853 | "dtoa-short", 854 | "itoa", 855 | "phf 0.11.3", 856 | "smallvec", 857 | ] 858 | 859 | [[package]] 860 | name = "cssparser-macros" 861 | version = "0.6.1" 862 | source = "registry+https://github.com/rust-lang/crates.io-index" 863 | checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" 864 | dependencies = [ 865 | "quote", 866 | "syn 2.0.101", 867 | ] 868 | 869 | [[package]] 870 | name = "darling" 871 | version = "0.20.11" 872 | source = "registry+https://github.com/rust-lang/crates.io-index" 873 | checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" 874 | dependencies = [ 875 | "darling_core", 876 | "darling_macro", 877 | ] 878 | 879 | [[package]] 880 | name = "darling_core" 881 | version = "0.20.11" 882 | source = "registry+https://github.com/rust-lang/crates.io-index" 883 | checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" 884 | dependencies = [ 885 | "fnv", 886 | "ident_case", 887 | "proc-macro2", 888 | "quote", 889 | "strsim 0.11.1", 890 | "syn 2.0.101", 891 | ] 892 | 893 | [[package]] 894 | name = "darling_macro" 895 | version = "0.20.11" 896 | source = "registry+https://github.com/rust-lang/crates.io-index" 897 | checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" 898 | dependencies = [ 899 | "darling_core", 900 | "quote", 901 | "syn 2.0.101", 902 | ] 903 | 904 | [[package]] 905 | name = "dasp" 906 | version = "0.11.0" 907 | source = "registry+https://github.com/rust-lang/crates.io-index" 908 | checksum = "7381b67da416b639690ac77c73b86a7b5e64a29e31d1f75fb3b1102301ef355a" 909 | dependencies = [ 910 | "dasp_envelope", 911 | "dasp_frame", 912 | "dasp_interpolate", 913 | "dasp_peak", 914 | "dasp_ring_buffer", 915 | "dasp_rms", 916 | "dasp_sample", 917 | "dasp_signal", 918 | "dasp_slice", 919 | "dasp_window", 920 | ] 921 | 922 | [[package]] 923 | name = "dasp_envelope" 924 | version = "0.11.0" 925 | source = "registry+https://github.com/rust-lang/crates.io-index" 926 | checksum = "8ec617ce7016f101a87fe85ed44180839744265fae73bb4aa43e7ece1b7668b6" 927 | dependencies = [ 928 | "dasp_frame", 929 | "dasp_peak", 930 | "dasp_ring_buffer", 931 | "dasp_rms", 932 | "dasp_sample", 933 | ] 934 | 935 | [[package]] 936 | name = "dasp_frame" 937 | version = "0.11.0" 938 | source = "registry+https://github.com/rust-lang/crates.io-index" 939 | checksum = "b2a3937f5fe2135702897535c8d4a5553f8b116f76c1529088797f2eee7c5cd6" 940 | dependencies = [ 941 | "dasp_sample", 942 | ] 943 | 944 | [[package]] 945 | name = "dasp_interpolate" 946 | version = "0.11.0" 947 | source = "registry+https://github.com/rust-lang/crates.io-index" 948 | checksum = "7fc975a6563bb7ca7ec0a6c784ead49983a21c24835b0bc96eea11ee407c7486" 949 | dependencies = [ 950 | "dasp_frame", 951 | "dasp_ring_buffer", 952 | "dasp_sample", 953 | ] 954 | 955 | [[package]] 956 | name = "dasp_peak" 957 | version = "0.11.0" 958 | source = "registry+https://github.com/rust-lang/crates.io-index" 959 | checksum = "5cf88559d79c21f3d8523d91250c397f9a15b5fc72fbb3f87fdb0a37b79915bf" 960 | dependencies = [ 961 | "dasp_frame", 962 | "dasp_sample", 963 | ] 964 | 965 | [[package]] 966 | name = "dasp_ring_buffer" 967 | version = "0.11.0" 968 | source = "registry+https://github.com/rust-lang/crates.io-index" 969 | checksum = "07d79e19b89618a543c4adec9c5a347fe378a19041699b3278e616e387511ea1" 970 | 971 | [[package]] 972 | name = "dasp_rms" 973 | version = "0.11.0" 974 | source = "registry+https://github.com/rust-lang/crates.io-index" 975 | checksum = "a6c5dcb30b7e5014486e2822537ea2beae50b19722ffe2ed7549ab03774575aa" 976 | dependencies = [ 977 | "dasp_frame", 978 | "dasp_ring_buffer", 979 | "dasp_sample", 980 | ] 981 | 982 | [[package]] 983 | name = "dasp_sample" 984 | version = "0.11.0" 985 | source = "registry+https://github.com/rust-lang/crates.io-index" 986 | checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" 987 | 988 | [[package]] 989 | name = "dasp_signal" 990 | version = "0.11.0" 991 | source = "registry+https://github.com/rust-lang/crates.io-index" 992 | checksum = "aa1ab7d01689c6ed4eae3d38fe1cea08cba761573fbd2d592528d55b421077e7" 993 | dependencies = [ 994 | "dasp_envelope", 995 | "dasp_frame", 996 | "dasp_interpolate", 997 | "dasp_peak", 998 | "dasp_ring_buffer", 999 | "dasp_rms", 1000 | "dasp_sample", 1001 | "dasp_window", 1002 | ] 1003 | 1004 | [[package]] 1005 | name = "dasp_slice" 1006 | version = "0.11.0" 1007 | source = "registry+https://github.com/rust-lang/crates.io-index" 1008 | checksum = "4e1c7335d58e7baedafa516cb361360ff38d6f4d3f9d9d5ee2a2fc8e27178fa1" 1009 | dependencies = [ 1010 | "dasp_frame", 1011 | "dasp_sample", 1012 | ] 1013 | 1014 | [[package]] 1015 | name = "dasp_window" 1016 | version = "0.11.1" 1017 | source = "registry+https://github.com/rust-lang/crates.io-index" 1018 | checksum = "99ded7b88821d2ce4e8b842c9f1c86ac911891ab89443cc1de750cae764c5076" 1019 | dependencies = [ 1020 | "dasp_sample", 1021 | ] 1022 | 1023 | [[package]] 1024 | name = "deranged" 1025 | version = "0.4.0" 1026 | source = "registry+https://github.com/rust-lang/crates.io-index" 1027 | checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" 1028 | dependencies = [ 1029 | "powerfmt", 1030 | ] 1031 | 1032 | [[package]] 1033 | name = "derive_arbitrary" 1034 | version = "1.4.1" 1035 | source = "registry+https://github.com/rust-lang/crates.io-index" 1036 | checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" 1037 | dependencies = [ 1038 | "proc-macro2", 1039 | "quote", 1040 | "syn 2.0.101", 1041 | ] 1042 | 1043 | [[package]] 1044 | name = "derive_builder" 1045 | version = "0.20.2" 1046 | source = "registry+https://github.com/rust-lang/crates.io-index" 1047 | checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" 1048 | dependencies = [ 1049 | "derive_builder_macro", 1050 | ] 1051 | 1052 | [[package]] 1053 | name = "derive_builder_core" 1054 | version = "0.20.2" 1055 | source = "registry+https://github.com/rust-lang/crates.io-index" 1056 | checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" 1057 | dependencies = [ 1058 | "darling", 1059 | "proc-macro2", 1060 | "quote", 1061 | "syn 2.0.101", 1062 | ] 1063 | 1064 | [[package]] 1065 | name = "derive_builder_macro" 1066 | version = "0.20.2" 1067 | source = "registry+https://github.com/rust-lang/crates.io-index" 1068 | checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" 1069 | dependencies = [ 1070 | "derive_builder_core", 1071 | "syn 2.0.101", 1072 | ] 1073 | 1074 | [[package]] 1075 | name = "derive_more" 1076 | version = "0.99.20" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" 1079 | dependencies = [ 1080 | "proc-macro2", 1081 | "quote", 1082 | "syn 2.0.101", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "derive_more" 1087 | version = "2.0.1" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" 1090 | dependencies = [ 1091 | "derive_more-impl", 1092 | ] 1093 | 1094 | [[package]] 1095 | name = "derive_more-impl" 1096 | version = "2.0.1" 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" 1098 | checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" 1099 | dependencies = [ 1100 | "convert_case 0.7.1", 1101 | "proc-macro2", 1102 | "quote", 1103 | "syn 2.0.101", 1104 | ] 1105 | 1106 | [[package]] 1107 | name = "digest" 1108 | version = "0.10.7" 1109 | source = "registry+https://github.com/rust-lang/crates.io-index" 1110 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 1111 | dependencies = [ 1112 | "block-buffer", 1113 | "crypto-common", 1114 | ] 1115 | 1116 | [[package]] 1117 | name = "diligent-date-parser" 1118 | version = "0.1.5" 1119 | source = "registry+https://github.com/rust-lang/crates.io-index" 1120 | checksum = "c8ede7d79366f419921e2e2f67889c12125726692a313bffb474bd5f37a581e9" 1121 | dependencies = [ 1122 | "chrono", 1123 | ] 1124 | 1125 | [[package]] 1126 | name = "dirs" 1127 | version = "5.0.1" 1128 | source = "registry+https://github.com/rust-lang/crates.io-index" 1129 | checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" 1130 | dependencies = [ 1131 | "dirs-sys", 1132 | ] 1133 | 1134 | [[package]] 1135 | name = "dirs-sys" 1136 | version = "0.4.1" 1137 | source = "registry+https://github.com/rust-lang/crates.io-index" 1138 | checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" 1139 | dependencies = [ 1140 | "libc", 1141 | "option-ext", 1142 | "redox_users", 1143 | "windows-sys 0.48.0", 1144 | ] 1145 | 1146 | [[package]] 1147 | name = "displaydoc" 1148 | version = "0.2.5" 1149 | source = "registry+https://github.com/rust-lang/crates.io-index" 1150 | checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 1151 | dependencies = [ 1152 | "proc-macro2", 1153 | "quote", 1154 | "syn 2.0.101", 1155 | ] 1156 | 1157 | [[package]] 1158 | name = "document-features" 1159 | version = "0.2.11" 1160 | source = "registry+https://github.com/rust-lang/crates.io-index" 1161 | checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" 1162 | dependencies = [ 1163 | "litrs", 1164 | ] 1165 | 1166 | [[package]] 1167 | name = "docx-rs" 1168 | version = "0.4.17" 1169 | source = "registry+https://github.com/rust-lang/crates.io-index" 1170 | checksum = "e593b51d4fe95d69d70fd40da4b314b029736302c986c3c760826e842fd27dc3" 1171 | dependencies = [ 1172 | "base64 0.13.1", 1173 | "image", 1174 | "serde", 1175 | "serde_json", 1176 | "thiserror 1.0.69", 1177 | "xml-rs", 1178 | "zip 0.6.6", 1179 | ] 1180 | 1181 | [[package]] 1182 | name = "doxygen-rs" 1183 | version = "0.4.2" 1184 | source = "registry+https://github.com/rust-lang/crates.io-index" 1185 | checksum = "415b6ec780d34dcf624666747194393603d0373b7141eef01d12ee58881507d9" 1186 | dependencies = [ 1187 | "phf 0.11.3", 1188 | ] 1189 | 1190 | [[package]] 1191 | name = "dtoa" 1192 | version = "1.0.10" 1193 | source = "registry+https://github.com/rust-lang/crates.io-index" 1194 | checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" 1195 | 1196 | [[package]] 1197 | name = "dtoa-short" 1198 | version = "0.3.5" 1199 | source = "registry+https://github.com/rust-lang/crates.io-index" 1200 | checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" 1201 | dependencies = [ 1202 | "dtoa", 1203 | ] 1204 | 1205 | [[package]] 1206 | name = "dyn-stack" 1207 | version = "0.10.0" 1208 | source = "registry+https://github.com/rust-lang/crates.io-index" 1209 | checksum = "56e53799688f5632f364f8fb387488dd05db9fe45db7011be066fc20e7027f8b" 1210 | dependencies = [ 1211 | "bytemuck", 1212 | "reborrow", 1213 | ] 1214 | 1215 | [[package]] 1216 | name = "dyn-stack" 1217 | version = "0.13.0" 1218 | source = "registry+https://github.com/rust-lang/crates.io-index" 1219 | checksum = "490bd48eb68fffcfed519b4edbfd82c69cbe741d175b84f0e0cbe8c57cbe0bdd" 1220 | dependencies = [ 1221 | "bytemuck", 1222 | ] 1223 | 1224 | [[package]] 1225 | name = "ego-tree" 1226 | version = "0.6.3" 1227 | source = "registry+https://github.com/rust-lang/crates.io-index" 1228 | checksum = "12a0bb14ac04a9fcf170d0bbbef949b44cc492f4452bd20c095636956f653642" 1229 | 1230 | [[package]] 1231 | name = "either" 1232 | version = "1.15.0" 1233 | source = "registry+https://github.com/rust-lang/crates.io-index" 1234 | checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 1235 | 1236 | [[package]] 1237 | name = "encode_unicode" 1238 | version = "1.0.0" 1239 | source = "registry+https://github.com/rust-lang/crates.io-index" 1240 | checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" 1241 | 1242 | [[package]] 1243 | name = "encoding_rs" 1244 | version = "0.8.35" 1245 | source = "registry+https://github.com/rust-lang/crates.io-index" 1246 | checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 1247 | dependencies = [ 1248 | "cfg-if", 1249 | ] 1250 | 1251 | [[package]] 1252 | name = "enum-as-inner" 1253 | version = "0.6.1" 1254 | source = "registry+https://github.com/rust-lang/crates.io-index" 1255 | checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" 1256 | dependencies = [ 1257 | "heck", 1258 | "proc-macro2", 1259 | "quote", 1260 | "syn 2.0.101", 1261 | ] 1262 | 1263 | [[package]] 1264 | name = "equivalent" 1265 | version = "1.0.2" 1266 | source = "registry+https://github.com/rust-lang/crates.io-index" 1267 | checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 1268 | 1269 | [[package]] 1270 | name = "errno" 1271 | version = "0.3.12" 1272 | source = "registry+https://github.com/rust-lang/crates.io-index" 1273 | checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" 1274 | dependencies = [ 1275 | "libc", 1276 | "windows-sys 0.59.0", 1277 | ] 1278 | 1279 | [[package]] 1280 | name = "esaxx-rs" 1281 | version = "0.1.10" 1282 | source = "registry+https://github.com/rust-lang/crates.io-index" 1283 | checksum = "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6" 1284 | dependencies = [ 1285 | "cc", 1286 | ] 1287 | 1288 | [[package]] 1289 | name = "event-listener" 1290 | version = "5.4.0" 1291 | source = "registry+https://github.com/rust-lang/crates.io-index" 1292 | checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" 1293 | dependencies = [ 1294 | "concurrent-queue", 1295 | "parking", 1296 | "pin-project-lite", 1297 | ] 1298 | 1299 | [[package]] 1300 | name = "event-listener-strategy" 1301 | version = "0.5.4" 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" 1303 | checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" 1304 | dependencies = [ 1305 | "event-listener", 1306 | "pin-project-lite", 1307 | ] 1308 | 1309 | [[package]] 1310 | name = "exr" 1311 | version = "1.73.0" 1312 | source = "registry+https://github.com/rust-lang/crates.io-index" 1313 | checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" 1314 | dependencies = [ 1315 | "bit_field", 1316 | "half", 1317 | "lebe", 1318 | "miniz_oxide", 1319 | "rayon-core", 1320 | "smallvec", 1321 | "zune-inflate", 1322 | ] 1323 | 1324 | [[package]] 1325 | name = "eyre" 1326 | version = "0.6.12" 1327 | source = "registry+https://github.com/rust-lang/crates.io-index" 1328 | checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" 1329 | dependencies = [ 1330 | "indenter", 1331 | "once_cell", 1332 | ] 1333 | 1334 | [[package]] 1335 | name = "fancy-regex" 1336 | version = "0.13.0" 1337 | source = "registry+https://github.com/rust-lang/crates.io-index" 1338 | checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2" 1339 | dependencies = [ 1340 | "bit-set", 1341 | "regex-automata", 1342 | "regex-syntax", 1343 | ] 1344 | 1345 | [[package]] 1346 | name = "fastrand" 1347 | version = "2.3.0" 1348 | source = "registry+https://github.com/rust-lang/crates.io-index" 1349 | checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 1350 | 1351 | [[package]] 1352 | name = "fdeflate" 1353 | version = "0.3.7" 1354 | source = "registry+https://github.com/rust-lang/crates.io-index" 1355 | checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" 1356 | dependencies = [ 1357 | "simd-adler32", 1358 | ] 1359 | 1360 | [[package]] 1361 | name = "filetime" 1362 | version = "0.2.25" 1363 | source = "registry+https://github.com/rust-lang/crates.io-index" 1364 | checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" 1365 | dependencies = [ 1366 | "cfg-if", 1367 | "libc", 1368 | "libredox", 1369 | "windows-sys 0.59.0", 1370 | ] 1371 | 1372 | [[package]] 1373 | name = "flate2" 1374 | version = "1.1.1" 1375 | source = "registry+https://github.com/rust-lang/crates.io-index" 1376 | checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" 1377 | dependencies = [ 1378 | "crc32fast", 1379 | "miniz_oxide", 1380 | ] 1381 | 1382 | [[package]] 1383 | name = "fnv" 1384 | version = "1.0.7" 1385 | source = "registry+https://github.com/rust-lang/crates.io-index" 1386 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 1387 | 1388 | [[package]] 1389 | name = "foldhash" 1390 | version = "0.1.5" 1391 | source = "registry+https://github.com/rust-lang/crates.io-index" 1392 | checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 1393 | 1394 | [[package]] 1395 | name = "foreign-types" 1396 | version = "0.3.2" 1397 | source = "registry+https://github.com/rust-lang/crates.io-index" 1398 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 1399 | dependencies = [ 1400 | "foreign-types-shared 0.1.1", 1401 | ] 1402 | 1403 | [[package]] 1404 | name = "foreign-types" 1405 | version = "0.5.0" 1406 | source = "registry+https://github.com/rust-lang/crates.io-index" 1407 | checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" 1408 | dependencies = [ 1409 | "foreign-types-macros", 1410 | "foreign-types-shared 0.3.1", 1411 | ] 1412 | 1413 | [[package]] 1414 | name = "foreign-types-macros" 1415 | version = "0.2.3" 1416 | source = "registry+https://github.com/rust-lang/crates.io-index" 1417 | checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" 1418 | dependencies = [ 1419 | "proc-macro2", 1420 | "quote", 1421 | "syn 2.0.101", 1422 | ] 1423 | 1424 | [[package]] 1425 | name = "foreign-types-shared" 1426 | version = "0.1.1" 1427 | source = "registry+https://github.com/rust-lang/crates.io-index" 1428 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 1429 | 1430 | [[package]] 1431 | name = "foreign-types-shared" 1432 | version = "0.3.1" 1433 | source = "registry+https://github.com/rust-lang/crates.io-index" 1434 | checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" 1435 | 1436 | [[package]] 1437 | name = "form_urlencoded" 1438 | version = "1.2.1" 1439 | source = "registry+https://github.com/rust-lang/crates.io-index" 1440 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 1441 | dependencies = [ 1442 | "percent-encoding", 1443 | ] 1444 | 1445 | [[package]] 1446 | name = "futf" 1447 | version = "0.1.5" 1448 | source = "registry+https://github.com/rust-lang/crates.io-index" 1449 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 1450 | dependencies = [ 1451 | "mac", 1452 | "new_debug_unreachable", 1453 | ] 1454 | 1455 | [[package]] 1456 | name = "futures" 1457 | version = "0.3.31" 1458 | source = "registry+https://github.com/rust-lang/crates.io-index" 1459 | checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" 1460 | dependencies = [ 1461 | "futures-channel", 1462 | "futures-core", 1463 | "futures-executor", 1464 | "futures-io", 1465 | "futures-sink", 1466 | "futures-task", 1467 | "futures-util", 1468 | ] 1469 | 1470 | [[package]] 1471 | name = "futures-channel" 1472 | version = "0.3.31" 1473 | source = "registry+https://github.com/rust-lang/crates.io-index" 1474 | checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 1475 | dependencies = [ 1476 | "futures-core", 1477 | "futures-sink", 1478 | ] 1479 | 1480 | [[package]] 1481 | name = "futures-core" 1482 | version = "0.3.31" 1483 | source = "registry+https://github.com/rust-lang/crates.io-index" 1484 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 1485 | 1486 | [[package]] 1487 | name = "futures-executor" 1488 | version = "0.3.31" 1489 | source = "registry+https://github.com/rust-lang/crates.io-index" 1490 | checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" 1491 | dependencies = [ 1492 | "futures-core", 1493 | "futures-task", 1494 | "futures-util", 1495 | ] 1496 | 1497 | [[package]] 1498 | name = "futures-io" 1499 | version = "0.3.31" 1500 | source = "registry+https://github.com/rust-lang/crates.io-index" 1501 | checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 1502 | 1503 | [[package]] 1504 | name = "futures-macro" 1505 | version = "0.3.31" 1506 | source = "registry+https://github.com/rust-lang/crates.io-index" 1507 | checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 1508 | dependencies = [ 1509 | "proc-macro2", 1510 | "quote", 1511 | "syn 2.0.101", 1512 | ] 1513 | 1514 | [[package]] 1515 | name = "futures-sink" 1516 | version = "0.3.31" 1517 | source = "registry+https://github.com/rust-lang/crates.io-index" 1518 | checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 1519 | 1520 | [[package]] 1521 | name = "futures-task" 1522 | version = "0.3.31" 1523 | source = "registry+https://github.com/rust-lang/crates.io-index" 1524 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 1525 | 1526 | [[package]] 1527 | name = "futures-util" 1528 | version = "0.3.31" 1529 | source = "registry+https://github.com/rust-lang/crates.io-index" 1530 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 1531 | dependencies = [ 1532 | "futures-channel", 1533 | "futures-core", 1534 | "futures-io", 1535 | "futures-macro", 1536 | "futures-sink", 1537 | "futures-task", 1538 | "memchr", 1539 | "pin-project-lite", 1540 | "pin-utils", 1541 | "slab", 1542 | ] 1543 | 1544 | [[package]] 1545 | name = "fxhash" 1546 | version = "0.2.1" 1547 | source = "registry+https://github.com/rust-lang/crates.io-index" 1548 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 1549 | dependencies = [ 1550 | "byteorder", 1551 | ] 1552 | 1553 | [[package]] 1554 | name = "gemm" 1555 | version = "0.17.1" 1556 | source = "registry+https://github.com/rust-lang/crates.io-index" 1557 | checksum = "6ab24cc62135b40090e31a76a9b2766a501979f3070fa27f689c27ec04377d32" 1558 | dependencies = [ 1559 | "dyn-stack 0.10.0", 1560 | "gemm-c32 0.17.1", 1561 | "gemm-c64 0.17.1", 1562 | "gemm-common 0.17.1", 1563 | "gemm-f16 0.17.1", 1564 | "gemm-f32 0.17.1", 1565 | "gemm-f64 0.17.1", 1566 | "num-complex", 1567 | "num-traits", 1568 | "paste", 1569 | "raw-cpuid 10.7.0", 1570 | "seq-macro", 1571 | ] 1572 | 1573 | [[package]] 1574 | name = "gemm" 1575 | version = "0.18.2" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | checksum = "ab96b703d31950f1aeddded248bc95543c9efc7ac9c4a21fda8703a83ee35451" 1578 | dependencies = [ 1579 | "dyn-stack 0.13.0", 1580 | "gemm-c32 0.18.2", 1581 | "gemm-c64 0.18.2", 1582 | "gemm-common 0.18.2", 1583 | "gemm-f16 0.18.2", 1584 | "gemm-f32 0.18.2", 1585 | "gemm-f64 0.18.2", 1586 | "num-complex", 1587 | "num-traits", 1588 | "paste", 1589 | "raw-cpuid 11.5.0", 1590 | "seq-macro", 1591 | ] 1592 | 1593 | [[package]] 1594 | name = "gemm-c32" 1595 | version = "0.17.1" 1596 | source = "registry+https://github.com/rust-lang/crates.io-index" 1597 | checksum = "b9c030d0b983d1e34a546b86e08f600c11696fde16199f971cd46c12e67512c0" 1598 | dependencies = [ 1599 | "dyn-stack 0.10.0", 1600 | "gemm-common 0.17.1", 1601 | "num-complex", 1602 | "num-traits", 1603 | "paste", 1604 | "raw-cpuid 10.7.0", 1605 | "seq-macro", 1606 | ] 1607 | 1608 | [[package]] 1609 | name = "gemm-c32" 1610 | version = "0.18.2" 1611 | source = "registry+https://github.com/rust-lang/crates.io-index" 1612 | checksum = "f6db9fd9f40421d00eea9dd0770045a5603b8d684654816637732463f4073847" 1613 | dependencies = [ 1614 | "dyn-stack 0.13.0", 1615 | "gemm-common 0.18.2", 1616 | "num-complex", 1617 | "num-traits", 1618 | "paste", 1619 | "raw-cpuid 11.5.0", 1620 | "seq-macro", 1621 | ] 1622 | 1623 | [[package]] 1624 | name = "gemm-c64" 1625 | version = "0.17.1" 1626 | source = "registry+https://github.com/rust-lang/crates.io-index" 1627 | checksum = "fbb5f2e79fefb9693d18e1066a557b4546cd334b226beadc68b11a8f9431852a" 1628 | dependencies = [ 1629 | "dyn-stack 0.10.0", 1630 | "gemm-common 0.17.1", 1631 | "num-complex", 1632 | "num-traits", 1633 | "paste", 1634 | "raw-cpuid 10.7.0", 1635 | "seq-macro", 1636 | ] 1637 | 1638 | [[package]] 1639 | name = "gemm-c64" 1640 | version = "0.18.2" 1641 | source = "registry+https://github.com/rust-lang/crates.io-index" 1642 | checksum = "dfcad8a3d35a43758330b635d02edad980c1e143dc2f21e6fd25f9e4eada8edf" 1643 | dependencies = [ 1644 | "dyn-stack 0.13.0", 1645 | "gemm-common 0.18.2", 1646 | "num-complex", 1647 | "num-traits", 1648 | "paste", 1649 | "raw-cpuid 11.5.0", 1650 | "seq-macro", 1651 | ] 1652 | 1653 | [[package]] 1654 | name = "gemm-common" 1655 | version = "0.17.1" 1656 | source = "registry+https://github.com/rust-lang/crates.io-index" 1657 | checksum = "a2e7ea062c987abcd8db95db917b4ffb4ecdfd0668471d8dc54734fdff2354e8" 1658 | dependencies = [ 1659 | "bytemuck", 1660 | "dyn-stack 0.10.0", 1661 | "half", 1662 | "num-complex", 1663 | "num-traits", 1664 | "once_cell", 1665 | "paste", 1666 | "pulp 0.18.22", 1667 | "raw-cpuid 10.7.0", 1668 | "rayon", 1669 | "seq-macro", 1670 | "sysctl 0.5.5", 1671 | ] 1672 | 1673 | [[package]] 1674 | name = "gemm-common" 1675 | version = "0.18.2" 1676 | source = "registry+https://github.com/rust-lang/crates.io-index" 1677 | checksum = "a352d4a69cbe938b9e2a9cb7a3a63b7e72f9349174a2752a558a8a563510d0f3" 1678 | dependencies = [ 1679 | "bytemuck", 1680 | "dyn-stack 0.13.0", 1681 | "half", 1682 | "libm", 1683 | "num-complex", 1684 | "num-traits", 1685 | "once_cell", 1686 | "paste", 1687 | "pulp 0.21.5", 1688 | "raw-cpuid 11.5.0", 1689 | "rayon", 1690 | "seq-macro", 1691 | "sysctl 0.6.0", 1692 | ] 1693 | 1694 | [[package]] 1695 | name = "gemm-f16" 1696 | version = "0.17.1" 1697 | source = "registry+https://github.com/rust-lang/crates.io-index" 1698 | checksum = "7ca4c06b9b11952071d317604acb332e924e817bd891bec8dfb494168c7cedd4" 1699 | dependencies = [ 1700 | "dyn-stack 0.10.0", 1701 | "gemm-common 0.17.1", 1702 | "gemm-f32 0.17.1", 1703 | "half", 1704 | "num-complex", 1705 | "num-traits", 1706 | "paste", 1707 | "raw-cpuid 10.7.0", 1708 | "rayon", 1709 | "seq-macro", 1710 | ] 1711 | 1712 | [[package]] 1713 | name = "gemm-f16" 1714 | version = "0.18.2" 1715 | source = "registry+https://github.com/rust-lang/crates.io-index" 1716 | checksum = "cff95ae3259432f3c3410eaa919033cd03791d81cebd18018393dc147952e109" 1717 | dependencies = [ 1718 | "dyn-stack 0.13.0", 1719 | "gemm-common 0.18.2", 1720 | "gemm-f32 0.18.2", 1721 | "half", 1722 | "num-complex", 1723 | "num-traits", 1724 | "paste", 1725 | "raw-cpuid 11.5.0", 1726 | "rayon", 1727 | "seq-macro", 1728 | ] 1729 | 1730 | [[package]] 1731 | name = "gemm-f32" 1732 | version = "0.17.1" 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" 1734 | checksum = "e9a69f51aaefbd9cf12d18faf273d3e982d9d711f60775645ed5c8047b4ae113" 1735 | dependencies = [ 1736 | "dyn-stack 0.10.0", 1737 | "gemm-common 0.17.1", 1738 | "num-complex", 1739 | "num-traits", 1740 | "paste", 1741 | "raw-cpuid 10.7.0", 1742 | "seq-macro", 1743 | ] 1744 | 1745 | [[package]] 1746 | name = "gemm-f32" 1747 | version = "0.18.2" 1748 | source = "registry+https://github.com/rust-lang/crates.io-index" 1749 | checksum = "bc8d3d4385393304f407392f754cd2dc4b315d05063f62cf09f47b58de276864" 1750 | dependencies = [ 1751 | "dyn-stack 0.13.0", 1752 | "gemm-common 0.18.2", 1753 | "num-complex", 1754 | "num-traits", 1755 | "paste", 1756 | "raw-cpuid 11.5.0", 1757 | "seq-macro", 1758 | ] 1759 | 1760 | [[package]] 1761 | name = "gemm-f64" 1762 | version = "0.17.1" 1763 | source = "registry+https://github.com/rust-lang/crates.io-index" 1764 | checksum = "aa397a48544fadf0b81ec8741e5c0fba0043008113f71f2034def1935645d2b0" 1765 | dependencies = [ 1766 | "dyn-stack 0.10.0", 1767 | "gemm-common 0.17.1", 1768 | "num-complex", 1769 | "num-traits", 1770 | "paste", 1771 | "raw-cpuid 10.7.0", 1772 | "seq-macro", 1773 | ] 1774 | 1775 | [[package]] 1776 | name = "gemm-f64" 1777 | version = "0.18.2" 1778 | source = "registry+https://github.com/rust-lang/crates.io-index" 1779 | checksum = "35b2a4f76ce4b8b16eadc11ccf2e083252d8237c1b589558a49b0183545015bd" 1780 | dependencies = [ 1781 | "dyn-stack 0.13.0", 1782 | "gemm-common 0.18.2", 1783 | "num-complex", 1784 | "num-traits", 1785 | "paste", 1786 | "raw-cpuid 11.5.0", 1787 | "seq-macro", 1788 | ] 1789 | 1790 | [[package]] 1791 | name = "generic-array" 1792 | version = "0.14.7" 1793 | source = "registry+https://github.com/rust-lang/crates.io-index" 1794 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 1795 | dependencies = [ 1796 | "typenum", 1797 | "version_check", 1798 | ] 1799 | 1800 | [[package]] 1801 | name = "getopts" 1802 | version = "0.2.21" 1803 | source = "registry+https://github.com/rust-lang/crates.io-index" 1804 | checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" 1805 | dependencies = [ 1806 | "unicode-width 0.1.14", 1807 | ] 1808 | 1809 | [[package]] 1810 | name = "getrandom" 1811 | version = "0.1.16" 1812 | source = "registry+https://github.com/rust-lang/crates.io-index" 1813 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 1814 | dependencies = [ 1815 | "cfg-if", 1816 | "libc", 1817 | "wasi 0.9.0+wasi-snapshot-preview1", 1818 | ] 1819 | 1820 | [[package]] 1821 | name = "getrandom" 1822 | version = "0.2.16" 1823 | source = "registry+https://github.com/rust-lang/crates.io-index" 1824 | checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" 1825 | dependencies = [ 1826 | "cfg-if", 1827 | "libc", 1828 | "wasi 0.11.0+wasi-snapshot-preview1", 1829 | ] 1830 | 1831 | [[package]] 1832 | name = "getrandom" 1833 | version = "0.3.3" 1834 | source = "registry+https://github.com/rust-lang/crates.io-index" 1835 | checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 1836 | dependencies = [ 1837 | "cfg-if", 1838 | "libc", 1839 | "r-efi", 1840 | "wasi 0.14.2+wasi-0.2.4", 1841 | ] 1842 | 1843 | [[package]] 1844 | name = "gif" 1845 | version = "0.13.1" 1846 | source = "registry+https://github.com/rust-lang/crates.io-index" 1847 | checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" 1848 | dependencies = [ 1849 | "color_quant", 1850 | "weezl", 1851 | ] 1852 | 1853 | [[package]] 1854 | name = "gimli" 1855 | version = "0.31.1" 1856 | source = "registry+https://github.com/rust-lang/crates.io-index" 1857 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 1858 | 1859 | [[package]] 1860 | name = "glob" 1861 | version = "0.3.2" 1862 | source = "registry+https://github.com/rust-lang/crates.io-index" 1863 | checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" 1864 | 1865 | [[package]] 1866 | name = "h2" 1867 | version = "0.3.26" 1868 | source = "registry+https://github.com/rust-lang/crates.io-index" 1869 | checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" 1870 | dependencies = [ 1871 | "bytes", 1872 | "fnv", 1873 | "futures-core", 1874 | "futures-sink", 1875 | "futures-util", 1876 | "http", 1877 | "indexmap 2.9.0", 1878 | "slab", 1879 | "tokio", 1880 | "tokio-util", 1881 | "tracing", 1882 | ] 1883 | 1884 | [[package]] 1885 | name = "half" 1886 | version = "2.6.0" 1887 | source = "registry+https://github.com/rust-lang/crates.io-index" 1888 | checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" 1889 | dependencies = [ 1890 | "bytemuck", 1891 | "cfg-if", 1892 | "crunchy", 1893 | "num-traits", 1894 | "rand 0.9.1", 1895 | "rand_distr", 1896 | ] 1897 | 1898 | [[package]] 1899 | name = "hashbrown" 1900 | version = "0.12.3" 1901 | source = "registry+https://github.com/rust-lang/crates.io-index" 1902 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1903 | 1904 | [[package]] 1905 | name = "hashbrown" 1906 | version = "0.14.5" 1907 | source = "registry+https://github.com/rust-lang/crates.io-index" 1908 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1909 | dependencies = [ 1910 | "ahash", 1911 | "allocator-api2", 1912 | ] 1913 | 1914 | [[package]] 1915 | name = "hashbrown" 1916 | version = "0.15.3" 1917 | source = "registry+https://github.com/rust-lang/crates.io-index" 1918 | checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" 1919 | dependencies = [ 1920 | "allocator-api2", 1921 | "equivalent", 1922 | "foldhash", 1923 | ] 1924 | 1925 | [[package]] 1926 | name = "hdrhistogram" 1927 | version = "7.5.4" 1928 | source = "registry+https://github.com/rust-lang/crates.io-index" 1929 | checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" 1930 | dependencies = [ 1931 | "base64 0.21.7", 1932 | "byteorder", 1933 | "crossbeam-channel", 1934 | "flate2", 1935 | "nom", 1936 | "num-traits", 1937 | ] 1938 | 1939 | [[package]] 1940 | name = "heck" 1941 | version = "0.5.0" 1942 | source = "registry+https://github.com/rust-lang/crates.io-index" 1943 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1944 | 1945 | [[package]] 1946 | name = "heed" 1947 | version = "0.20.5" 1948 | source = "registry+https://github.com/rust-lang/crates.io-index" 1949 | checksum = "7d4f449bab7320c56003d37732a917e18798e2f1709d80263face2b4f9436ddb" 1950 | dependencies = [ 1951 | "bitflags 2.9.1", 1952 | "byteorder", 1953 | "heed-traits", 1954 | "heed-types", 1955 | "libc", 1956 | "lmdb-master-sys", 1957 | "once_cell", 1958 | "page_size", 1959 | "serde", 1960 | "synchronoise", 1961 | "url", 1962 | ] 1963 | 1964 | [[package]] 1965 | name = "heed-traits" 1966 | version = "0.20.0" 1967 | source = "registry+https://github.com/rust-lang/crates.io-index" 1968 | checksum = "eb3130048d404c57ce5a1ac61a903696e8fcde7e8c2991e9fcfc1f27c3ef74ff" 1969 | 1970 | [[package]] 1971 | name = "heed-types" 1972 | version = "0.20.1" 1973 | source = "registry+https://github.com/rust-lang/crates.io-index" 1974 | checksum = "9d3f528b053a6d700b2734eabcd0fd49cb8230647aa72958467527b0b7917114" 1975 | dependencies = [ 1976 | "bincode", 1977 | "byteorder", 1978 | "heed-traits", 1979 | "serde", 1980 | "serde_json", 1981 | ] 1982 | 1983 | [[package]] 1984 | name = "hermit-abi" 1985 | version = "0.1.19" 1986 | source = "registry+https://github.com/rust-lang/crates.io-index" 1987 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 1988 | dependencies = [ 1989 | "libc", 1990 | ] 1991 | 1992 | [[package]] 1993 | name = "hermit-abi" 1994 | version = "0.3.9" 1995 | source = "registry+https://github.com/rust-lang/crates.io-index" 1996 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 1997 | 1998 | [[package]] 1999 | name = "hf-hub" 2000 | version = "0.3.2" 2001 | source = "registry+https://github.com/rust-lang/crates.io-index" 2002 | checksum = "2b780635574b3d92f036890d8373433d6f9fc7abb320ee42a5c25897fc8ed732" 2003 | dependencies = [ 2004 | "dirs", 2005 | "indicatif", 2006 | "log", 2007 | "native-tls", 2008 | "rand 0.8.5", 2009 | "serde", 2010 | "serde_json", 2011 | "thiserror 1.0.69", 2012 | "ureq", 2013 | ] 2014 | 2015 | [[package]] 2016 | name = "hound" 2017 | version = "3.5.1" 2018 | source = "registry+https://github.com/rust-lang/crates.io-index" 2019 | checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" 2020 | 2021 | [[package]] 2022 | name = "html5ever" 2023 | version = "0.25.2" 2024 | source = "registry+https://github.com/rust-lang/crates.io-index" 2025 | checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" 2026 | dependencies = [ 2027 | "log", 2028 | "mac", 2029 | "markup5ever 0.10.1", 2030 | "proc-macro2", 2031 | "quote", 2032 | "syn 1.0.109", 2033 | ] 2034 | 2035 | [[package]] 2036 | name = "html5ever" 2037 | version = "0.27.0" 2038 | source = "registry+https://github.com/rust-lang/crates.io-index" 2039 | checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4" 2040 | dependencies = [ 2041 | "log", 2042 | "mac", 2043 | "markup5ever 0.12.1", 2044 | "proc-macro2", 2045 | "quote", 2046 | "syn 2.0.101", 2047 | ] 2048 | 2049 | [[package]] 2050 | name = "http" 2051 | version = "0.2.12" 2052 | source = "registry+https://github.com/rust-lang/crates.io-index" 2053 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 2054 | dependencies = [ 2055 | "bytes", 2056 | "fnv", 2057 | "itoa", 2058 | ] 2059 | 2060 | [[package]] 2061 | name = "http-body" 2062 | version = "0.4.6" 2063 | source = "registry+https://github.com/rust-lang/crates.io-index" 2064 | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 2065 | dependencies = [ 2066 | "bytes", 2067 | "http", 2068 | "pin-project-lite", 2069 | ] 2070 | 2071 | [[package]] 2072 | name = "httparse" 2073 | version = "1.10.1" 2074 | source = "registry+https://github.com/rust-lang/crates.io-index" 2075 | checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 2076 | 2077 | [[package]] 2078 | name = "httpdate" 2079 | version = "1.0.3" 2080 | source = "registry+https://github.com/rust-lang/crates.io-index" 2081 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 2082 | 2083 | [[package]] 2084 | name = "hyper" 2085 | version = "0.14.32" 2086 | source = "registry+https://github.com/rust-lang/crates.io-index" 2087 | checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" 2088 | dependencies = [ 2089 | "bytes", 2090 | "futures-channel", 2091 | "futures-core", 2092 | "futures-util", 2093 | "h2", 2094 | "http", 2095 | "http-body", 2096 | "httparse", 2097 | "httpdate", 2098 | "itoa", 2099 | "pin-project-lite", 2100 | "socket2", 2101 | "tokio", 2102 | "tower-service", 2103 | "tracing", 2104 | "want", 2105 | ] 2106 | 2107 | [[package]] 2108 | name = "hyper-tls" 2109 | version = "0.5.0" 2110 | source = "registry+https://github.com/rust-lang/crates.io-index" 2111 | checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" 2112 | dependencies = [ 2113 | "bytes", 2114 | "hyper", 2115 | "native-tls", 2116 | "tokio", 2117 | "tokio-native-tls", 2118 | ] 2119 | 2120 | [[package]] 2121 | name = "iana-time-zone" 2122 | version = "0.1.63" 2123 | source = "registry+https://github.com/rust-lang/crates.io-index" 2124 | checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" 2125 | dependencies = [ 2126 | "android_system_properties", 2127 | "core-foundation-sys", 2128 | "iana-time-zone-haiku", 2129 | "js-sys", 2130 | "log", 2131 | "wasm-bindgen", 2132 | "windows-core 0.61.1", 2133 | ] 2134 | 2135 | [[package]] 2136 | name = "iana-time-zone-haiku" 2137 | version = "0.1.2" 2138 | source = "registry+https://github.com/rust-lang/crates.io-index" 2139 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 2140 | dependencies = [ 2141 | "cc", 2142 | ] 2143 | 2144 | [[package]] 2145 | name = "icu_collections" 2146 | version = "2.0.0" 2147 | source = "registry+https://github.com/rust-lang/crates.io-index" 2148 | checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" 2149 | dependencies = [ 2150 | "displaydoc", 2151 | "potential_utf", 2152 | "yoke 0.8.0", 2153 | "zerofrom", 2154 | "zerovec", 2155 | ] 2156 | 2157 | [[package]] 2158 | name = "icu_locale_core" 2159 | version = "2.0.0" 2160 | source = "registry+https://github.com/rust-lang/crates.io-index" 2161 | checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" 2162 | dependencies = [ 2163 | "displaydoc", 2164 | "litemap", 2165 | "tinystr", 2166 | "writeable", 2167 | "zerovec", 2168 | ] 2169 | 2170 | [[package]] 2171 | name = "icu_normalizer" 2172 | version = "2.0.0" 2173 | source = "registry+https://github.com/rust-lang/crates.io-index" 2174 | checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" 2175 | dependencies = [ 2176 | "displaydoc", 2177 | "icu_collections", 2178 | "icu_normalizer_data", 2179 | "icu_properties", 2180 | "icu_provider", 2181 | "smallvec", 2182 | "zerovec", 2183 | ] 2184 | 2185 | [[package]] 2186 | name = "icu_normalizer_data" 2187 | version = "2.0.0" 2188 | source = "registry+https://github.com/rust-lang/crates.io-index" 2189 | checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" 2190 | 2191 | [[package]] 2192 | name = "icu_properties" 2193 | version = "2.0.0" 2194 | source = "registry+https://github.com/rust-lang/crates.io-index" 2195 | checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" 2196 | dependencies = [ 2197 | "displaydoc", 2198 | "icu_collections", 2199 | "icu_locale_core", 2200 | "icu_properties_data", 2201 | "icu_provider", 2202 | "potential_utf", 2203 | "zerotrie", 2204 | "zerovec", 2205 | ] 2206 | 2207 | [[package]] 2208 | name = "icu_properties_data" 2209 | version = "2.0.0" 2210 | source = "registry+https://github.com/rust-lang/crates.io-index" 2211 | checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" 2212 | 2213 | [[package]] 2214 | name = "icu_provider" 2215 | version = "2.0.0" 2216 | source = "registry+https://github.com/rust-lang/crates.io-index" 2217 | checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" 2218 | dependencies = [ 2219 | "displaydoc", 2220 | "icu_locale_core", 2221 | "stable_deref_trait", 2222 | "tinystr", 2223 | "writeable", 2224 | "yoke 0.8.0", 2225 | "zerofrom", 2226 | "zerotrie", 2227 | "zerovec", 2228 | ] 2229 | 2230 | [[package]] 2231 | name = "ident_case" 2232 | version = "1.0.1" 2233 | source = "registry+https://github.com/rust-lang/crates.io-index" 2234 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 2235 | 2236 | [[package]] 2237 | name = "idna" 2238 | version = "1.0.3" 2239 | source = "registry+https://github.com/rust-lang/crates.io-index" 2240 | checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 2241 | dependencies = [ 2242 | "idna_adapter", 2243 | "smallvec", 2244 | "utf8_iter", 2245 | ] 2246 | 2247 | [[package]] 2248 | name = "idna_adapter" 2249 | version = "1.2.1" 2250 | source = "registry+https://github.com/rust-lang/crates.io-index" 2251 | checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 2252 | dependencies = [ 2253 | "icu_normalizer", 2254 | "icu_properties", 2255 | ] 2256 | 2257 | [[package]] 2258 | name = "image" 2259 | version = "0.24.9" 2260 | source = "registry+https://github.com/rust-lang/crates.io-index" 2261 | checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" 2262 | dependencies = [ 2263 | "bytemuck", 2264 | "byteorder", 2265 | "color_quant", 2266 | "exr", 2267 | "gif", 2268 | "jpeg-decoder", 2269 | "num-traits", 2270 | "png", 2271 | "qoi", 2272 | "tiff", 2273 | ] 2274 | 2275 | [[package]] 2276 | name = "indenter" 2277 | version = "0.3.3" 2278 | source = "registry+https://github.com/rust-lang/crates.io-index" 2279 | checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" 2280 | 2281 | [[package]] 2282 | name = "indexmap" 2283 | version = "1.9.3" 2284 | source = "registry+https://github.com/rust-lang/crates.io-index" 2285 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 2286 | dependencies = [ 2287 | "autocfg", 2288 | "hashbrown 0.12.3", 2289 | ] 2290 | 2291 | [[package]] 2292 | name = "indexmap" 2293 | version = "2.9.0" 2294 | source = "registry+https://github.com/rust-lang/crates.io-index" 2295 | checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" 2296 | dependencies = [ 2297 | "equivalent", 2298 | "hashbrown 0.15.3", 2299 | ] 2300 | 2301 | [[package]] 2302 | name = "indicatif" 2303 | version = "0.17.11" 2304 | source = "registry+https://github.com/rust-lang/crates.io-index" 2305 | checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" 2306 | dependencies = [ 2307 | "console", 2308 | "number_prefix", 2309 | "portable-atomic", 2310 | "unicode-width 0.2.0", 2311 | "web-time", 2312 | ] 2313 | 2314 | [[package]] 2315 | name = "indoc" 2316 | version = "2.0.6" 2317 | source = "registry+https://github.com/rust-lang/crates.io-index" 2318 | checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" 2319 | 2320 | [[package]] 2321 | name = "inout" 2322 | version = "0.1.4" 2323 | source = "registry+https://github.com/rust-lang/crates.io-index" 2324 | checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" 2325 | dependencies = [ 2326 | "block-padding", 2327 | "generic-array", 2328 | ] 2329 | 2330 | [[package]] 2331 | name = "instability" 2332 | version = "0.3.7" 2333 | source = "registry+https://github.com/rust-lang/crates.io-index" 2334 | checksum = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" 2335 | dependencies = [ 2336 | "darling", 2337 | "indoc", 2338 | "proc-macro2", 2339 | "quote", 2340 | "syn 2.0.101", 2341 | ] 2342 | 2343 | [[package]] 2344 | name = "ipnet" 2345 | version = "2.11.0" 2346 | source = "registry+https://github.com/rust-lang/crates.io-index" 2347 | checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" 2348 | 2349 | [[package]] 2350 | name = "itertools" 2351 | version = "0.11.0" 2352 | source = "registry+https://github.com/rust-lang/crates.io-index" 2353 | checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" 2354 | dependencies = [ 2355 | "either", 2356 | ] 2357 | 2358 | [[package]] 2359 | name = "itertools" 2360 | version = "0.13.0" 2361 | source = "registry+https://github.com/rust-lang/crates.io-index" 2362 | checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" 2363 | dependencies = [ 2364 | "either", 2365 | ] 2366 | 2367 | [[package]] 2368 | name = "itoa" 2369 | version = "1.0.15" 2370 | source = "registry+https://github.com/rust-lang/crates.io-index" 2371 | checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 2372 | 2373 | [[package]] 2374 | name = "jni" 2375 | version = "0.21.1" 2376 | source = "registry+https://github.com/rust-lang/crates.io-index" 2377 | checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 2378 | dependencies = [ 2379 | "cesu8", 2380 | "cfg-if", 2381 | "combine", 2382 | "jni-sys", 2383 | "log", 2384 | "thiserror 1.0.69", 2385 | "walkdir", 2386 | "windows-sys 0.45.0", 2387 | ] 2388 | 2389 | [[package]] 2390 | name = "jni-sys" 2391 | version = "0.3.0" 2392 | source = "registry+https://github.com/rust-lang/crates.io-index" 2393 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 2394 | 2395 | [[package]] 2396 | name = "jobserver" 2397 | version = "0.1.33" 2398 | source = "registry+https://github.com/rust-lang/crates.io-index" 2399 | checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" 2400 | dependencies = [ 2401 | "getrandom 0.3.3", 2402 | "libc", 2403 | ] 2404 | 2405 | [[package]] 2406 | name = "jpeg-decoder" 2407 | version = "0.3.1" 2408 | source = "registry+https://github.com/rust-lang/crates.io-index" 2409 | checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" 2410 | dependencies = [ 2411 | "rayon", 2412 | ] 2413 | 2414 | [[package]] 2415 | name = "js-sys" 2416 | version = "0.3.77" 2417 | source = "registry+https://github.com/rust-lang/crates.io-index" 2418 | checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 2419 | dependencies = [ 2420 | "once_cell", 2421 | "wasm-bindgen", 2422 | ] 2423 | 2424 | [[package]] 2425 | name = "kalosm" 2426 | version = "0.4.0" 2427 | source = "registry+https://github.com/rust-lang/crates.io-index" 2428 | checksum = "6a7e688c99f19a48d5697f0d374327d94d9ae672813abcd86302c5a3de132a2e" 2429 | dependencies = [ 2430 | "comfy-table", 2431 | "futures-util", 2432 | "hdrhistogram", 2433 | "kalosm-common", 2434 | "kalosm-language", 2435 | "kalosm-model-types", 2436 | "kalosm-sound", 2437 | "kalosm-streams", 2438 | "kalosm-vision", 2439 | "serde", 2440 | ] 2441 | 2442 | [[package]] 2443 | name = "kalosm-common" 2444 | version = "0.4.0" 2445 | source = "registry+https://github.com/rust-lang/crates.io-index" 2446 | checksum = "de2ac5de83e059366d74ab199a7b25a181c05109e4752186569ba1cf1ea8e68d" 2447 | dependencies = [ 2448 | "candle-core", 2449 | "candle-nn", 2450 | "dirs", 2451 | "hf-hub", 2452 | "httpdate", 2453 | "kalosm-model-types", 2454 | "metal 0.29.0", 2455 | "reqwest", 2456 | "thiserror 2.0.12", 2457 | "tokio", 2458 | "tracing", 2459 | ] 2460 | 2461 | [[package]] 2462 | name = "kalosm-language" 2463 | version = "0.4.1" 2464 | source = "registry+https://github.com/rust-lang/crates.io-index" 2465 | checksum = "50d21c030794701dc507542044f7ceb57b9db6a797312c7f0118b7c93555cecb" 2466 | dependencies = [ 2467 | "anyhow", 2468 | "arroy", 2469 | "chrono", 2470 | "convert_case 0.6.0", 2471 | "docx-rs", 2472 | "ego-tree", 2473 | "futures-util", 2474 | "half", 2475 | "heed", 2476 | "kalosm-language-model", 2477 | "kalosm-llama", 2478 | "kalosm-sample", 2479 | "kalosm-streams", 2480 | "lopdf", 2481 | "pulldown-cmark", 2482 | "rand 0.8.5", 2483 | "rbert", 2484 | "readability", 2485 | "reqwest", 2486 | "roaring", 2487 | "rss", 2488 | "scraper", 2489 | "serde", 2490 | "serde_json", 2491 | "slab", 2492 | "srx", 2493 | "tempfile", 2494 | "thiserror 2.0.12", 2495 | "tokio", 2496 | "tokio-util", 2497 | "tracing", 2498 | "url", 2499 | "whatlang", 2500 | ] 2501 | 2502 | [[package]] 2503 | name = "kalosm-language-model" 2504 | version = "0.4.1" 2505 | source = "registry+https://github.com/rust-lang/crates.io-index" 2506 | checksum = "5f63bb2f31b947cb4b2fe285d91e51de1e2d41e0312c4fb0dae7da94374756fb" 2507 | dependencies = [ 2508 | "anyhow", 2509 | "async-lock", 2510 | "futures-channel", 2511 | "futures-util", 2512 | "kalosm-model-types", 2513 | "kalosm-sample", 2514 | "llm-samplers", 2515 | "lru", 2516 | "rand 0.8.5", 2517 | "serde", 2518 | "thiserror 2.0.12", 2519 | "tracing", 2520 | ] 2521 | 2522 | [[package]] 2523 | name = "kalosm-llama" 2524 | version = "0.4.1" 2525 | source = "registry+https://github.com/rust-lang/crates.io-index" 2526 | checksum = "9e7dcfe602184b5455241eceaacf152060f9795e38fdc3c6dd3a4eeed09a3c3b" 2527 | dependencies = [ 2528 | "candle-core", 2529 | "candle-nn", 2530 | "candle-transformers", 2531 | "half", 2532 | "kalosm-common", 2533 | "kalosm-language-model", 2534 | "kalosm-model-types", 2535 | "kalosm-sample", 2536 | "llm-samplers", 2537 | "minijinja", 2538 | "minijinja-contrib", 2539 | "rand 0.8.5", 2540 | "rayon", 2541 | "safetensors", 2542 | "serde", 2543 | "serde_json", 2544 | "thiserror 2.0.12", 2545 | "tokenizers", 2546 | "tokio", 2547 | "tracing", 2548 | ] 2549 | 2550 | [[package]] 2551 | name = "kalosm-model-types" 2552 | version = "0.4.0" 2553 | source = "registry+https://github.com/rust-lang/crates.io-index" 2554 | checksum = "2b6ea4f7cc50877612c89f3c0f7b5286d08724562234ce2329f6c53415436e74" 2555 | dependencies = [ 2556 | "indicatif", 2557 | ] 2558 | 2559 | [[package]] 2560 | name = "kalosm-ocr" 2561 | version = "0.4.0" 2562 | source = "registry+https://github.com/rust-lang/crates.io-index" 2563 | checksum = "cf35f9dae90143d553b613f58b6ec154db0ac33d893b602533c16933ef7f3eee" 2564 | dependencies = [ 2565 | "candle-core", 2566 | "candle-nn", 2567 | "candle-transformers", 2568 | "hf-hub", 2569 | "image", 2570 | "kalosm-common", 2571 | "kalosm-model-types", 2572 | "serde", 2573 | "serde_json", 2574 | "thiserror 2.0.12", 2575 | "tokenizers", 2576 | "tracing", 2577 | ] 2578 | 2579 | [[package]] 2580 | name = "kalosm-parse-macro" 2581 | version = "0.4.1" 2582 | source = "registry+https://github.com/rust-lang/crates.io-index" 2583 | checksum = "fe55d47e86fb552391f1f65a7977260559a892b0f5d5cc0325153fc4ba488ec3" 2584 | dependencies = [ 2585 | "proc-macro2", 2586 | "quote", 2587 | "syn 2.0.101", 2588 | ] 2589 | 2590 | [[package]] 2591 | name = "kalosm-sample" 2592 | version = "0.4.1" 2593 | source = "registry+https://github.com/rust-lang/crates.io-index" 2594 | checksum = "b4a80f6c025f7911cd9cff799f80b591b1115497c21edb797db043302751bb3e" 2595 | dependencies = [ 2596 | "kalosm-parse-macro", 2597 | "regex-automata", 2598 | ] 2599 | 2600 | [[package]] 2601 | name = "kalosm-sound" 2602 | version = "0.4.0" 2603 | source = "registry+https://github.com/rust-lang/crates.io-index" 2604 | checksum = "092ff07207d3efc1575e7e46d806e78394bb61f98edb0c237b410c6beb4ef7da" 2605 | dependencies = [ 2606 | "byteorder", 2607 | "candle-core", 2608 | "candle-nn", 2609 | "candle-transformers", 2610 | "cpal", 2611 | "dasp", 2612 | "futures-channel", 2613 | "futures-core", 2614 | "futures-util", 2615 | "hound", 2616 | "nnnoiseless", 2617 | "ort", 2618 | "ort-sys", 2619 | "rand 0.8.5", 2620 | "rodio", 2621 | "rwhisper", 2622 | "serde_json", 2623 | "tokio", 2624 | "tracing", 2625 | "voice_activity_detector", 2626 | ] 2627 | 2628 | [[package]] 2629 | name = "kalosm-streams" 2630 | version = "0.4.0" 2631 | source = "registry+https://github.com/rust-lang/crates.io-index" 2632 | checksum = "f7ff10dbf8960f211ee1ae532196edca9479b21ef1490c5bbd1b300e15398a64" 2633 | dependencies = [ 2634 | "futures-channel", 2635 | "futures-util", 2636 | "pin-project-lite", 2637 | ] 2638 | 2639 | [[package]] 2640 | name = "kalosm-vision" 2641 | version = "0.4.0" 2642 | source = "registry+https://github.com/rust-lang/crates.io-index" 2643 | checksum = "e48a0f1624ad1242333f80f331dcb697cf744173729e95f5234ca33ceb3ddc2c" 2644 | dependencies = [ 2645 | "image", 2646 | "kalosm-ocr", 2647 | "rwuerstchen", 2648 | "segment-anything-rs", 2649 | ] 2650 | 2651 | [[package]] 2652 | name = "lazy_static" 2653 | version = "1.5.0" 2654 | source = "registry+https://github.com/rust-lang/crates.io-index" 2655 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 2656 | 2657 | [[package]] 2658 | name = "lebe" 2659 | version = "0.5.2" 2660 | source = "registry+https://github.com/rust-lang/crates.io-index" 2661 | checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" 2662 | 2663 | [[package]] 2664 | name = "lewton" 2665 | version = "0.10.2" 2666 | source = "registry+https://github.com/rust-lang/crates.io-index" 2667 | checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" 2668 | dependencies = [ 2669 | "byteorder", 2670 | "ogg", 2671 | "tinyvec", 2672 | ] 2673 | 2674 | [[package]] 2675 | name = "libc" 2676 | version = "0.2.172" 2677 | source = "registry+https://github.com/rust-lang/crates.io-index" 2678 | checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" 2679 | 2680 | [[package]] 2681 | name = "libloading" 2682 | version = "0.8.7" 2683 | source = "registry+https://github.com/rust-lang/crates.io-index" 2684 | checksum = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c" 2685 | dependencies = [ 2686 | "cfg-if", 2687 | "windows-targets 0.53.0", 2688 | ] 2689 | 2690 | [[package]] 2691 | name = "libm" 2692 | version = "0.2.15" 2693 | source = "registry+https://github.com/rust-lang/crates.io-index" 2694 | checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" 2695 | 2696 | [[package]] 2697 | name = "libredox" 2698 | version = "0.1.3" 2699 | source = "registry+https://github.com/rust-lang/crates.io-index" 2700 | checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" 2701 | dependencies = [ 2702 | "bitflags 2.9.1", 2703 | "libc", 2704 | "redox_syscall", 2705 | ] 2706 | 2707 | [[package]] 2708 | name = "linux-raw-sys" 2709 | version = "0.4.15" 2710 | source = "registry+https://github.com/rust-lang/crates.io-index" 2711 | checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" 2712 | 2713 | [[package]] 2714 | name = "linux-raw-sys" 2715 | version = "0.9.4" 2716 | source = "registry+https://github.com/rust-lang/crates.io-index" 2717 | checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" 2718 | 2719 | [[package]] 2720 | name = "litemap" 2721 | version = "0.8.0" 2722 | source = "registry+https://github.com/rust-lang/crates.io-index" 2723 | checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" 2724 | 2725 | [[package]] 2726 | name = "litrs" 2727 | version = "0.4.1" 2728 | source = "registry+https://github.com/rust-lang/crates.io-index" 2729 | checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" 2730 | 2731 | [[package]] 2732 | name = "llm-samplers" 2733 | version = "0.0.7" 2734 | source = "registry+https://github.com/rust-lang/crates.io-index" 2735 | checksum = "7e85df656cd89e7702cb56171d75aa77c7bec828af7d2054d9987c34411cf896" 2736 | dependencies = [ 2737 | "anyhow", 2738 | "num-traits", 2739 | "rand 0.8.5", 2740 | "thiserror 1.0.69", 2741 | ] 2742 | 2743 | [[package]] 2744 | name = "lmdb-master-sys" 2745 | version = "0.2.5" 2746 | source = "registry+https://github.com/rust-lang/crates.io-index" 2747 | checksum = "864808e0b19fb6dd3b70ba94ee671b82fce17554cf80aeb0a155c65bb08027df" 2748 | dependencies = [ 2749 | "cc", 2750 | "doxygen-rs", 2751 | "libc", 2752 | ] 2753 | 2754 | [[package]] 2755 | name = "lock_api" 2756 | version = "0.4.12" 2757 | source = "registry+https://github.com/rust-lang/crates.io-index" 2758 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 2759 | dependencies = [ 2760 | "autocfg", 2761 | "scopeguard", 2762 | ] 2763 | 2764 | [[package]] 2765 | name = "log" 2766 | version = "0.4.27" 2767 | source = "registry+https://github.com/rust-lang/crates.io-index" 2768 | checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 2769 | 2770 | [[package]] 2771 | name = "lopdf" 2772 | version = "0.35.0" 2773 | source = "registry+https://github.com/rust-lang/crates.io-index" 2774 | checksum = "5c7c1d3350d071cb86987a6bcb205c7019a0eb70dcad92b454fec722cca8d68b" 2775 | dependencies = [ 2776 | "aes", 2777 | "cbc", 2778 | "chrono", 2779 | "encoding_rs", 2780 | "flate2", 2781 | "indexmap 2.9.0", 2782 | "itoa", 2783 | "log", 2784 | "md-5", 2785 | "nom", 2786 | "nom_locate", 2787 | "rangemap", 2788 | "rayon", 2789 | "thiserror 2.0.12", 2790 | "time 0.3.41", 2791 | "tokio", 2792 | "weezl", 2793 | ] 2794 | 2795 | [[package]] 2796 | name = "lru" 2797 | version = "0.12.5" 2798 | source = "registry+https://github.com/rust-lang/crates.io-index" 2799 | checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" 2800 | dependencies = [ 2801 | "hashbrown 0.15.3", 2802 | ] 2803 | 2804 | [[package]] 2805 | name = "mac" 2806 | version = "0.1.1" 2807 | source = "registry+https://github.com/rust-lang/crates.io-index" 2808 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 2809 | 2810 | [[package]] 2811 | name = "mach2" 2812 | version = "0.4.2" 2813 | source = "registry+https://github.com/rust-lang/crates.io-index" 2814 | checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" 2815 | dependencies = [ 2816 | "libc", 2817 | ] 2818 | 2819 | [[package]] 2820 | name = "macro_rules_attribute" 2821 | version = "0.2.0" 2822 | source = "registry+https://github.com/rust-lang/crates.io-index" 2823 | checksum = "8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13" 2824 | dependencies = [ 2825 | "macro_rules_attribute-proc_macro", 2826 | "paste", 2827 | ] 2828 | 2829 | [[package]] 2830 | name = "macro_rules_attribute-proc_macro" 2831 | version = "0.2.0" 2832 | source = "registry+https://github.com/rust-lang/crates.io-index" 2833 | checksum = "b8dd856d451cc0da70e2ef2ce95a18e39a93b7558bedf10201ad28503f918568" 2834 | 2835 | [[package]] 2836 | name = "malloc_buf" 2837 | version = "0.0.6" 2838 | source = "registry+https://github.com/rust-lang/crates.io-index" 2839 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 2840 | dependencies = [ 2841 | "libc", 2842 | ] 2843 | 2844 | [[package]] 2845 | name = "markup5ever" 2846 | version = "0.10.1" 2847 | source = "registry+https://github.com/rust-lang/crates.io-index" 2848 | checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" 2849 | dependencies = [ 2850 | "log", 2851 | "phf 0.8.0", 2852 | "phf_codegen 0.8.0", 2853 | "string_cache", 2854 | "string_cache_codegen", 2855 | "tendril", 2856 | ] 2857 | 2858 | [[package]] 2859 | name = "markup5ever" 2860 | version = "0.12.1" 2861 | source = "registry+https://github.com/rust-lang/crates.io-index" 2862 | checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45" 2863 | dependencies = [ 2864 | "log", 2865 | "phf 0.11.3", 2866 | "phf_codegen 0.11.3", 2867 | "string_cache", 2868 | "string_cache_codegen", 2869 | "tendril", 2870 | ] 2871 | 2872 | [[package]] 2873 | name = "markup5ever_rcdom" 2874 | version = "0.1.0" 2875 | source = "registry+https://github.com/rust-lang/crates.io-index" 2876 | checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b" 2877 | dependencies = [ 2878 | "html5ever 0.25.2", 2879 | "markup5ever 0.10.1", 2880 | "tendril", 2881 | "xml5ever", 2882 | ] 2883 | 2884 | [[package]] 2885 | name = "matrixmultiply" 2886 | version = "0.3.10" 2887 | source = "registry+https://github.com/rust-lang/crates.io-index" 2888 | checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" 2889 | dependencies = [ 2890 | "autocfg", 2891 | "rawpointer", 2892 | ] 2893 | 2894 | [[package]] 2895 | name = "md-5" 2896 | version = "0.10.6" 2897 | source = "registry+https://github.com/rust-lang/crates.io-index" 2898 | checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" 2899 | dependencies = [ 2900 | "cfg-if", 2901 | "digest", 2902 | ] 2903 | 2904 | [[package]] 2905 | name = "memchr" 2906 | version = "2.7.4" 2907 | source = "registry+https://github.com/rust-lang/crates.io-index" 2908 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 2909 | 2910 | [[package]] 2911 | name = "memmap2" 2912 | version = "0.9.5" 2913 | source = "registry+https://github.com/rust-lang/crates.io-index" 2914 | checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" 2915 | dependencies = [ 2916 | "libc", 2917 | "stable_deref_trait", 2918 | ] 2919 | 2920 | [[package]] 2921 | name = "memo-map" 2922 | version = "0.3.3" 2923 | source = "registry+https://github.com/rust-lang/crates.io-index" 2924 | checksum = "38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b" 2925 | 2926 | [[package]] 2927 | name = "metal" 2928 | version = "0.27.0" 2929 | source = "registry+https://github.com/rust-lang/crates.io-index" 2930 | checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" 2931 | dependencies = [ 2932 | "bitflags 2.9.1", 2933 | "block", 2934 | "core-graphics-types", 2935 | "foreign-types 0.5.0", 2936 | "log", 2937 | "objc", 2938 | "paste", 2939 | ] 2940 | 2941 | [[package]] 2942 | name = "metal" 2943 | version = "0.29.0" 2944 | source = "registry+https://github.com/rust-lang/crates.io-index" 2945 | checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" 2946 | dependencies = [ 2947 | "bitflags 2.9.1", 2948 | "block", 2949 | "core-graphics-types", 2950 | "foreign-types 0.5.0", 2951 | "log", 2952 | "objc", 2953 | "paste", 2954 | ] 2955 | 2956 | [[package]] 2957 | name = "mime" 2958 | version = "0.3.17" 2959 | source = "registry+https://github.com/rust-lang/crates.io-index" 2960 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 2961 | 2962 | [[package]] 2963 | name = "minijinja" 2964 | version = "2.10.2" 2965 | source = "registry+https://github.com/rust-lang/crates.io-index" 2966 | checksum = "dd72e8b4e42274540edabec853f607c015c73436159b06c39c7af85a20433155" 2967 | dependencies = [ 2968 | "memo-map", 2969 | "self_cell", 2970 | "serde", 2971 | "serde_json", 2972 | ] 2973 | 2974 | [[package]] 2975 | name = "minijinja-contrib" 2976 | version = "2.10.2" 2977 | source = "registry+https://github.com/rust-lang/crates.io-index" 2978 | checksum = "457f85f9c4c5b17d11fcf9bbe7c0dbba64843c5ee040005956f1a510b6679fe2" 2979 | dependencies = [ 2980 | "minijinja", 2981 | "serde", 2982 | ] 2983 | 2984 | [[package]] 2985 | name = "minimal-lexical" 2986 | version = "0.2.1" 2987 | source = "registry+https://github.com/rust-lang/crates.io-index" 2988 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 2989 | 2990 | [[package]] 2991 | name = "miniz_oxide" 2992 | version = "0.8.8" 2993 | source = "registry+https://github.com/rust-lang/crates.io-index" 2994 | checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" 2995 | dependencies = [ 2996 | "adler2", 2997 | "simd-adler32", 2998 | ] 2999 | 3000 | [[package]] 3001 | name = "mio" 3002 | version = "1.0.3" 3003 | source = "registry+https://github.com/rust-lang/crates.io-index" 3004 | checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" 3005 | dependencies = [ 3006 | "libc", 3007 | "log", 3008 | "wasi 0.11.0+wasi-snapshot-preview1", 3009 | "windows-sys 0.52.0", 3010 | ] 3011 | 3012 | [[package]] 3013 | name = "monostate" 3014 | version = "0.1.14" 3015 | source = "registry+https://github.com/rust-lang/crates.io-index" 3016 | checksum = "aafe1be9d0c75642e3e50fedc7ecadf1ef1cbce6eb66462153fc44245343fbee" 3017 | dependencies = [ 3018 | "monostate-impl", 3019 | "serde", 3020 | ] 3021 | 3022 | [[package]] 3023 | name = "monostate-impl" 3024 | version = "0.1.14" 3025 | source = "registry+https://github.com/rust-lang/crates.io-index" 3026 | checksum = "c402a4092d5e204f32c9e155431046831fa712637043c58cb73bc6bc6c9663b5" 3027 | dependencies = [ 3028 | "proc-macro2", 3029 | "quote", 3030 | "syn 2.0.101", 3031 | ] 3032 | 3033 | [[package]] 3034 | name = "native-tls" 3035 | version = "0.2.14" 3036 | source = "registry+https://github.com/rust-lang/crates.io-index" 3037 | checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" 3038 | dependencies = [ 3039 | "libc", 3040 | "log", 3041 | "openssl", 3042 | "openssl-probe", 3043 | "openssl-sys", 3044 | "schannel", 3045 | "security-framework", 3046 | "security-framework-sys", 3047 | "tempfile", 3048 | ] 3049 | 3050 | [[package]] 3051 | name = "ndarray" 3052 | version = "0.15.6" 3053 | source = "registry+https://github.com/rust-lang/crates.io-index" 3054 | checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" 3055 | dependencies = [ 3056 | "matrixmultiply", 3057 | "num-complex", 3058 | "num-integer", 3059 | "num-traits", 3060 | "rawpointer", 3061 | ] 3062 | 3063 | [[package]] 3064 | name = "ndk" 3065 | version = "0.8.0" 3066 | source = "registry+https://github.com/rust-lang/crates.io-index" 3067 | checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" 3068 | dependencies = [ 3069 | "bitflags 2.9.1", 3070 | "jni-sys", 3071 | "log", 3072 | "ndk-sys", 3073 | "num_enum", 3074 | "thiserror 1.0.69", 3075 | ] 3076 | 3077 | [[package]] 3078 | name = "ndk-context" 3079 | version = "0.1.1" 3080 | source = "registry+https://github.com/rust-lang/crates.io-index" 3081 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 3082 | 3083 | [[package]] 3084 | name = "ndk-sys" 3085 | version = "0.5.0+25.2.9519653" 3086 | source = "registry+https://github.com/rust-lang/crates.io-index" 3087 | checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" 3088 | dependencies = [ 3089 | "jni-sys", 3090 | ] 3091 | 3092 | [[package]] 3093 | name = "never" 3094 | version = "0.1.0" 3095 | source = "registry+https://github.com/rust-lang/crates.io-index" 3096 | checksum = "c96aba5aa877601bb3f6dd6a63a969e1f82e60646e81e71b14496995e9853c91" 3097 | 3098 | [[package]] 3099 | name = "new_debug_unreachable" 3100 | version = "1.0.6" 3101 | source = "registry+https://github.com/rust-lang/crates.io-index" 3102 | checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" 3103 | 3104 | [[package]] 3105 | name = "nnnoiseless" 3106 | version = "0.5.1" 3107 | source = "registry+https://github.com/rust-lang/crates.io-index" 3108 | checksum = "23d377ce2fb579ed5c14cfa0d39e70849030fdf673d6d1a764cadb2dfbb02a50" 3109 | dependencies = [ 3110 | "anyhow", 3111 | "clap", 3112 | "dasp", 3113 | "dasp_interpolate", 3114 | "dasp_ring_buffer", 3115 | "hound", 3116 | "once_cell", 3117 | "rustfft", 3118 | ] 3119 | 3120 | [[package]] 3121 | name = "nohash" 3122 | version = "0.2.0" 3123 | source = "registry+https://github.com/rust-lang/crates.io-index" 3124 | checksum = "a0f889fb66f7acdf83442c35775764b51fed3c606ab9cee51500dbde2cf528ca" 3125 | 3126 | [[package]] 3127 | name = "nom" 3128 | version = "7.1.3" 3129 | source = "registry+https://github.com/rust-lang/crates.io-index" 3130 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 3131 | dependencies = [ 3132 | "memchr", 3133 | "minimal-lexical", 3134 | ] 3135 | 3136 | [[package]] 3137 | name = "nom_locate" 3138 | version = "4.2.0" 3139 | source = "registry+https://github.com/rust-lang/crates.io-index" 3140 | checksum = "1e3c83c053b0713da60c5b8de47fe8e494fe3ece5267b2f23090a07a053ba8f3" 3141 | dependencies = [ 3142 | "bytecount", 3143 | "memchr", 3144 | "nom", 3145 | ] 3146 | 3147 | [[package]] 3148 | name = "num" 3149 | version = "0.4.3" 3150 | source = "registry+https://github.com/rust-lang/crates.io-index" 3151 | checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" 3152 | dependencies = [ 3153 | "num-bigint", 3154 | "num-complex", 3155 | "num-integer", 3156 | "num-iter", 3157 | "num-rational", 3158 | "num-traits", 3159 | ] 3160 | 3161 | [[package]] 3162 | name = "num-bigint" 3163 | version = "0.4.6" 3164 | source = "registry+https://github.com/rust-lang/crates.io-index" 3165 | checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" 3166 | dependencies = [ 3167 | "num-integer", 3168 | "num-traits", 3169 | ] 3170 | 3171 | [[package]] 3172 | name = "num-complex" 3173 | version = "0.4.6" 3174 | source = "registry+https://github.com/rust-lang/crates.io-index" 3175 | checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" 3176 | dependencies = [ 3177 | "bytemuck", 3178 | "num-traits", 3179 | ] 3180 | 3181 | [[package]] 3182 | name = "num-conv" 3183 | version = "0.1.0" 3184 | source = "registry+https://github.com/rust-lang/crates.io-index" 3185 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 3186 | 3187 | [[package]] 3188 | name = "num-derive" 3189 | version = "0.4.2" 3190 | source = "registry+https://github.com/rust-lang/crates.io-index" 3191 | checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" 3192 | dependencies = [ 3193 | "proc-macro2", 3194 | "quote", 3195 | "syn 2.0.101", 3196 | ] 3197 | 3198 | [[package]] 3199 | name = "num-integer" 3200 | version = "0.1.46" 3201 | source = "registry+https://github.com/rust-lang/crates.io-index" 3202 | checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" 3203 | dependencies = [ 3204 | "num-traits", 3205 | ] 3206 | 3207 | [[package]] 3208 | name = "num-iter" 3209 | version = "0.1.45" 3210 | source = "registry+https://github.com/rust-lang/crates.io-index" 3211 | checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" 3212 | dependencies = [ 3213 | "autocfg", 3214 | "num-integer", 3215 | "num-traits", 3216 | ] 3217 | 3218 | [[package]] 3219 | name = "num-rational" 3220 | version = "0.4.2" 3221 | source = "registry+https://github.com/rust-lang/crates.io-index" 3222 | checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" 3223 | dependencies = [ 3224 | "num-bigint", 3225 | "num-integer", 3226 | "num-traits", 3227 | ] 3228 | 3229 | [[package]] 3230 | name = "num-traits" 3231 | version = "0.2.19" 3232 | source = "registry+https://github.com/rust-lang/crates.io-index" 3233 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 3234 | dependencies = [ 3235 | "autocfg", 3236 | "libm", 3237 | ] 3238 | 3239 | [[package]] 3240 | name = "num_cpus" 3241 | version = "1.16.0" 3242 | source = "registry+https://github.com/rust-lang/crates.io-index" 3243 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 3244 | dependencies = [ 3245 | "hermit-abi 0.3.9", 3246 | "libc", 3247 | ] 3248 | 3249 | [[package]] 3250 | name = "num_enum" 3251 | version = "0.7.3" 3252 | source = "registry+https://github.com/rust-lang/crates.io-index" 3253 | checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" 3254 | dependencies = [ 3255 | "num_enum_derive", 3256 | ] 3257 | 3258 | [[package]] 3259 | name = "num_enum_derive" 3260 | version = "0.7.3" 3261 | source = "registry+https://github.com/rust-lang/crates.io-index" 3262 | checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" 3263 | dependencies = [ 3264 | "proc-macro-crate", 3265 | "proc-macro2", 3266 | "quote", 3267 | "syn 2.0.101", 3268 | ] 3269 | 3270 | [[package]] 3271 | name = "number_prefix" 3272 | version = "0.4.0" 3273 | source = "registry+https://github.com/rust-lang/crates.io-index" 3274 | checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" 3275 | 3276 | [[package]] 3277 | name = "objc" 3278 | version = "0.2.7" 3279 | source = "registry+https://github.com/rust-lang/crates.io-index" 3280 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 3281 | dependencies = [ 3282 | "malloc_buf", 3283 | "objc_exception", 3284 | ] 3285 | 3286 | [[package]] 3287 | name = "objc_exception" 3288 | version = "0.1.2" 3289 | source = "registry+https://github.com/rust-lang/crates.io-index" 3290 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 3291 | dependencies = [ 3292 | "cc", 3293 | ] 3294 | 3295 | [[package]] 3296 | name = "object" 3297 | version = "0.36.7" 3298 | source = "registry+https://github.com/rust-lang/crates.io-index" 3299 | checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 3300 | dependencies = [ 3301 | "memchr", 3302 | ] 3303 | 3304 | [[package]] 3305 | name = "oboe" 3306 | version = "0.6.1" 3307 | source = "registry+https://github.com/rust-lang/crates.io-index" 3308 | checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" 3309 | dependencies = [ 3310 | "jni", 3311 | "ndk", 3312 | "ndk-context", 3313 | "num-derive", 3314 | "num-traits", 3315 | "oboe-sys", 3316 | ] 3317 | 3318 | [[package]] 3319 | name = "oboe-sys" 3320 | version = "0.6.1" 3321 | source = "registry+https://github.com/rust-lang/crates.io-index" 3322 | checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" 3323 | dependencies = [ 3324 | "cc", 3325 | ] 3326 | 3327 | [[package]] 3328 | name = "ogg" 3329 | version = "0.8.0" 3330 | source = "registry+https://github.com/rust-lang/crates.io-index" 3331 | checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" 3332 | dependencies = [ 3333 | "byteorder", 3334 | ] 3335 | 3336 | [[package]] 3337 | name = "once_cell" 3338 | version = "1.21.3" 3339 | source = "registry+https://github.com/rust-lang/crates.io-index" 3340 | checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 3341 | 3342 | [[package]] 3343 | name = "onig" 3344 | version = "6.4.0" 3345 | source = "registry+https://github.com/rust-lang/crates.io-index" 3346 | checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" 3347 | dependencies = [ 3348 | "bitflags 1.3.2", 3349 | "libc", 3350 | "once_cell", 3351 | "onig_sys", 3352 | ] 3353 | 3354 | [[package]] 3355 | name = "onig_sys" 3356 | version = "69.8.1" 3357 | source = "registry+https://github.com/rust-lang/crates.io-index" 3358 | checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7" 3359 | dependencies = [ 3360 | "cc", 3361 | "pkg-config", 3362 | ] 3363 | 3364 | [[package]] 3365 | name = "openssl" 3366 | version = "0.10.72" 3367 | source = "registry+https://github.com/rust-lang/crates.io-index" 3368 | checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" 3369 | dependencies = [ 3370 | "bitflags 2.9.1", 3371 | "cfg-if", 3372 | "foreign-types 0.3.2", 3373 | "libc", 3374 | "once_cell", 3375 | "openssl-macros", 3376 | "openssl-sys", 3377 | ] 3378 | 3379 | [[package]] 3380 | name = "openssl-macros" 3381 | version = "0.1.1" 3382 | source = "registry+https://github.com/rust-lang/crates.io-index" 3383 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 3384 | dependencies = [ 3385 | "proc-macro2", 3386 | "quote", 3387 | "syn 2.0.101", 3388 | ] 3389 | 3390 | [[package]] 3391 | name = "openssl-probe" 3392 | version = "0.1.6" 3393 | source = "registry+https://github.com/rust-lang/crates.io-index" 3394 | checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" 3395 | 3396 | [[package]] 3397 | name = "openssl-sys" 3398 | version = "0.9.108" 3399 | source = "registry+https://github.com/rust-lang/crates.io-index" 3400 | checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" 3401 | dependencies = [ 3402 | "cc", 3403 | "libc", 3404 | "pkg-config", 3405 | "vcpkg", 3406 | ] 3407 | 3408 | [[package]] 3409 | name = "option-ext" 3410 | version = "0.2.0" 3411 | source = "registry+https://github.com/rust-lang/crates.io-index" 3412 | checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 3413 | 3414 | [[package]] 3415 | name = "ordered-float" 3416 | version = "4.6.0" 3417 | source = "registry+https://github.com/rust-lang/crates.io-index" 3418 | checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" 3419 | dependencies = [ 3420 | "num-traits", 3421 | ] 3422 | 3423 | [[package]] 3424 | name = "ort" 3425 | version = "2.0.0-rc.4" 3426 | source = "registry+https://github.com/rust-lang/crates.io-index" 3427 | checksum = "86d83095ae3c1258738d70ae7a06195c94d966a8e546f0d3609dc90885fb61f5" 3428 | dependencies = [ 3429 | "half", 3430 | "js-sys", 3431 | "ndarray", 3432 | "ort-sys", 3433 | "thiserror 1.0.69", 3434 | "tracing", 3435 | "web-sys", 3436 | ] 3437 | 3438 | [[package]] 3439 | name = "ort-sys" 3440 | version = "2.0.0-rc.4" 3441 | source = "registry+https://github.com/rust-lang/crates.io-index" 3442 | checksum = "0f2f6427193c808010b126bef45ebd33f8dee43770223a1200f84d3734d6c656" 3443 | dependencies = [ 3444 | "flate2", 3445 | "pkg-config", 3446 | "sha2", 3447 | "tar", 3448 | "ureq", 3449 | ] 3450 | 3451 | [[package]] 3452 | name = "os_str_bytes" 3453 | version = "6.6.1" 3454 | source = "registry+https://github.com/rust-lang/crates.io-index" 3455 | checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" 3456 | 3457 | [[package]] 3458 | name = "owo-colors" 3459 | version = "4.2.1" 3460 | source = "registry+https://github.com/rust-lang/crates.io-index" 3461 | checksum = "26995317201fa17f3656c36716aed4a7c81743a9634ac4c99c0eeda495db0cec" 3462 | 3463 | [[package]] 3464 | name = "page_size" 3465 | version = "0.6.0" 3466 | source = "registry+https://github.com/rust-lang/crates.io-index" 3467 | checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" 3468 | dependencies = [ 3469 | "libc", 3470 | "winapi", 3471 | ] 3472 | 3473 | [[package]] 3474 | name = "parking" 3475 | version = "2.2.1" 3476 | source = "registry+https://github.com/rust-lang/crates.io-index" 3477 | checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 3478 | 3479 | [[package]] 3480 | name = "parking_lot" 3481 | version = "0.12.3" 3482 | source = "registry+https://github.com/rust-lang/crates.io-index" 3483 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 3484 | dependencies = [ 3485 | "lock_api", 3486 | "parking_lot_core", 3487 | ] 3488 | 3489 | [[package]] 3490 | name = "parking_lot_core" 3491 | version = "0.9.10" 3492 | source = "registry+https://github.com/rust-lang/crates.io-index" 3493 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 3494 | dependencies = [ 3495 | "cfg-if", 3496 | "libc", 3497 | "redox_syscall", 3498 | "smallvec", 3499 | "windows-targets 0.52.6", 3500 | ] 3501 | 3502 | [[package]] 3503 | name = "paste" 3504 | version = "1.0.15" 3505 | source = "registry+https://github.com/rust-lang/crates.io-index" 3506 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 3507 | 3508 | [[package]] 3509 | name = "percent-encoding" 3510 | version = "2.3.1" 3511 | source = "registry+https://github.com/rust-lang/crates.io-index" 3512 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 3513 | 3514 | [[package]] 3515 | name = "phf" 3516 | version = "0.8.0" 3517 | source = "registry+https://github.com/rust-lang/crates.io-index" 3518 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 3519 | dependencies = [ 3520 | "phf_shared 0.8.0", 3521 | ] 3522 | 3523 | [[package]] 3524 | name = "phf" 3525 | version = "0.10.1" 3526 | source = "registry+https://github.com/rust-lang/crates.io-index" 3527 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" 3528 | dependencies = [ 3529 | "phf_shared 0.10.0", 3530 | ] 3531 | 3532 | [[package]] 3533 | name = "phf" 3534 | version = "0.11.3" 3535 | source = "registry+https://github.com/rust-lang/crates.io-index" 3536 | checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" 3537 | dependencies = [ 3538 | "phf_macros", 3539 | "phf_shared 0.11.3", 3540 | ] 3541 | 3542 | [[package]] 3543 | name = "phf_codegen" 3544 | version = "0.8.0" 3545 | source = "registry+https://github.com/rust-lang/crates.io-index" 3546 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 3547 | dependencies = [ 3548 | "phf_generator 0.8.0", 3549 | "phf_shared 0.8.0", 3550 | ] 3551 | 3552 | [[package]] 3553 | name = "phf_codegen" 3554 | version = "0.10.0" 3555 | source = "registry+https://github.com/rust-lang/crates.io-index" 3556 | checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" 3557 | dependencies = [ 3558 | "phf_generator 0.10.0", 3559 | "phf_shared 0.10.0", 3560 | ] 3561 | 3562 | [[package]] 3563 | name = "phf_codegen" 3564 | version = "0.11.3" 3565 | source = "registry+https://github.com/rust-lang/crates.io-index" 3566 | checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" 3567 | dependencies = [ 3568 | "phf_generator 0.11.3", 3569 | "phf_shared 0.11.3", 3570 | ] 3571 | 3572 | [[package]] 3573 | name = "phf_generator" 3574 | version = "0.8.0" 3575 | source = "registry+https://github.com/rust-lang/crates.io-index" 3576 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 3577 | dependencies = [ 3578 | "phf_shared 0.8.0", 3579 | "rand 0.7.3", 3580 | ] 3581 | 3582 | [[package]] 3583 | name = "phf_generator" 3584 | version = "0.10.0" 3585 | source = "registry+https://github.com/rust-lang/crates.io-index" 3586 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 3587 | dependencies = [ 3588 | "phf_shared 0.10.0", 3589 | "rand 0.8.5", 3590 | ] 3591 | 3592 | [[package]] 3593 | name = "phf_generator" 3594 | version = "0.11.3" 3595 | source = "registry+https://github.com/rust-lang/crates.io-index" 3596 | checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" 3597 | dependencies = [ 3598 | "phf_shared 0.11.3", 3599 | "rand 0.8.5", 3600 | ] 3601 | 3602 | [[package]] 3603 | name = "phf_macros" 3604 | version = "0.11.3" 3605 | source = "registry+https://github.com/rust-lang/crates.io-index" 3606 | checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" 3607 | dependencies = [ 3608 | "phf_generator 0.11.3", 3609 | "phf_shared 0.11.3", 3610 | "proc-macro2", 3611 | "quote", 3612 | "syn 2.0.101", 3613 | ] 3614 | 3615 | [[package]] 3616 | name = "phf_shared" 3617 | version = "0.8.0" 3618 | source = "registry+https://github.com/rust-lang/crates.io-index" 3619 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 3620 | dependencies = [ 3621 | "siphasher 0.3.11", 3622 | ] 3623 | 3624 | [[package]] 3625 | name = "phf_shared" 3626 | version = "0.10.0" 3627 | source = "registry+https://github.com/rust-lang/crates.io-index" 3628 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 3629 | dependencies = [ 3630 | "siphasher 0.3.11", 3631 | ] 3632 | 3633 | [[package]] 3634 | name = "phf_shared" 3635 | version = "0.11.3" 3636 | source = "registry+https://github.com/rust-lang/crates.io-index" 3637 | checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" 3638 | dependencies = [ 3639 | "siphasher 1.0.1", 3640 | ] 3641 | 3642 | [[package]] 3643 | name = "pin-project" 3644 | version = "1.1.10" 3645 | source = "registry+https://github.com/rust-lang/crates.io-index" 3646 | checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 3647 | dependencies = [ 3648 | "pin-project-internal", 3649 | ] 3650 | 3651 | [[package]] 3652 | name = "pin-project-internal" 3653 | version = "1.1.10" 3654 | source = "registry+https://github.com/rust-lang/crates.io-index" 3655 | checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 3656 | dependencies = [ 3657 | "proc-macro2", 3658 | "quote", 3659 | "syn 2.0.101", 3660 | ] 3661 | 3662 | [[package]] 3663 | name = "pin-project-lite" 3664 | version = "0.2.16" 3665 | source = "registry+https://github.com/rust-lang/crates.io-index" 3666 | checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 3667 | 3668 | [[package]] 3669 | name = "pin-utils" 3670 | version = "0.1.0" 3671 | source = "registry+https://github.com/rust-lang/crates.io-index" 3672 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 3673 | 3674 | [[package]] 3675 | name = "pkg-config" 3676 | version = "0.3.32" 3677 | source = "registry+https://github.com/rust-lang/crates.io-index" 3678 | checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 3679 | 3680 | [[package]] 3681 | name = "png" 3682 | version = "0.17.16" 3683 | source = "registry+https://github.com/rust-lang/crates.io-index" 3684 | checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" 3685 | dependencies = [ 3686 | "bitflags 1.3.2", 3687 | "crc32fast", 3688 | "fdeflate", 3689 | "flate2", 3690 | "miniz_oxide", 3691 | ] 3692 | 3693 | [[package]] 3694 | name = "portable-atomic" 3695 | version = "1.11.0" 3696 | source = "registry+https://github.com/rust-lang/crates.io-index" 3697 | checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" 3698 | 3699 | [[package]] 3700 | name = "potential_utf" 3701 | version = "0.1.2" 3702 | source = "registry+https://github.com/rust-lang/crates.io-index" 3703 | checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" 3704 | dependencies = [ 3705 | "zerovec", 3706 | ] 3707 | 3708 | [[package]] 3709 | name = "powerfmt" 3710 | version = "0.2.0" 3711 | source = "registry+https://github.com/rust-lang/crates.io-index" 3712 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 3713 | 3714 | [[package]] 3715 | name = "ppv-lite86" 3716 | version = "0.2.21" 3717 | source = "registry+https://github.com/rust-lang/crates.io-index" 3718 | checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 3719 | dependencies = [ 3720 | "zerocopy", 3721 | ] 3722 | 3723 | [[package]] 3724 | name = "precomputed-hash" 3725 | version = "0.1.1" 3726 | source = "registry+https://github.com/rust-lang/crates.io-index" 3727 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 3728 | 3729 | [[package]] 3730 | name = "primal-check" 3731 | version = "0.3.4" 3732 | source = "registry+https://github.com/rust-lang/crates.io-index" 3733 | checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08" 3734 | dependencies = [ 3735 | "num-integer", 3736 | ] 3737 | 3738 | [[package]] 3739 | name = "proc-macro-crate" 3740 | version = "3.3.0" 3741 | source = "registry+https://github.com/rust-lang/crates.io-index" 3742 | checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" 3743 | dependencies = [ 3744 | "toml_edit", 3745 | ] 3746 | 3747 | [[package]] 3748 | name = "proc-macro2" 3749 | version = "1.0.95" 3750 | source = "registry+https://github.com/rust-lang/crates.io-index" 3751 | checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" 3752 | dependencies = [ 3753 | "unicode-ident", 3754 | ] 3755 | 3756 | [[package]] 3757 | name = "pulldown-cmark" 3758 | version = "0.9.6" 3759 | source = "registry+https://github.com/rust-lang/crates.io-index" 3760 | checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" 3761 | dependencies = [ 3762 | "bitflags 2.9.1", 3763 | "getopts", 3764 | "memchr", 3765 | "unicase", 3766 | ] 3767 | 3768 | [[package]] 3769 | name = "pulp" 3770 | version = "0.18.22" 3771 | source = "registry+https://github.com/rust-lang/crates.io-index" 3772 | checksum = "a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6" 3773 | dependencies = [ 3774 | "bytemuck", 3775 | "libm", 3776 | "num-complex", 3777 | "reborrow", 3778 | ] 3779 | 3780 | [[package]] 3781 | name = "pulp" 3782 | version = "0.21.5" 3783 | source = "registry+https://github.com/rust-lang/crates.io-index" 3784 | checksum = "96b86df24f0a7ddd5e4b95c94fc9ed8a98f1ca94d3b01bdce2824097e7835907" 3785 | dependencies = [ 3786 | "bytemuck", 3787 | "cfg-if", 3788 | "libm", 3789 | "num-complex", 3790 | "reborrow", 3791 | "version_check", 3792 | ] 3793 | 3794 | [[package]] 3795 | name = "qoi" 3796 | version = "0.4.1" 3797 | source = "registry+https://github.com/rust-lang/crates.io-index" 3798 | checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" 3799 | dependencies = [ 3800 | "bytemuck", 3801 | ] 3802 | 3803 | [[package]] 3804 | name = "quick-xml" 3805 | version = "0.37.5" 3806 | source = "registry+https://github.com/rust-lang/crates.io-index" 3807 | checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" 3808 | dependencies = [ 3809 | "encoding_rs", 3810 | "memchr", 3811 | ] 3812 | 3813 | [[package]] 3814 | name = "quote" 3815 | version = "1.0.40" 3816 | source = "registry+https://github.com/rust-lang/crates.io-index" 3817 | checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 3818 | dependencies = [ 3819 | "proc-macro2", 3820 | ] 3821 | 3822 | [[package]] 3823 | name = "r-efi" 3824 | version = "5.2.0" 3825 | source = "registry+https://github.com/rust-lang/crates.io-index" 3826 | checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" 3827 | 3828 | [[package]] 3829 | name = "rand" 3830 | version = "0.7.3" 3831 | source = "registry+https://github.com/rust-lang/crates.io-index" 3832 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 3833 | dependencies = [ 3834 | "getrandom 0.1.16", 3835 | "libc", 3836 | "rand_chacha 0.2.2", 3837 | "rand_core 0.5.1", 3838 | "rand_hc", 3839 | "rand_pcg", 3840 | ] 3841 | 3842 | [[package]] 3843 | name = "rand" 3844 | version = "0.8.5" 3845 | source = "registry+https://github.com/rust-lang/crates.io-index" 3846 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 3847 | dependencies = [ 3848 | "libc", 3849 | "rand_chacha 0.3.1", 3850 | "rand_core 0.6.4", 3851 | ] 3852 | 3853 | [[package]] 3854 | name = "rand" 3855 | version = "0.9.1" 3856 | source = "registry+https://github.com/rust-lang/crates.io-index" 3857 | checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" 3858 | dependencies = [ 3859 | "rand_chacha 0.9.0", 3860 | "rand_core 0.9.3", 3861 | ] 3862 | 3863 | [[package]] 3864 | name = "rand_chacha" 3865 | version = "0.2.2" 3866 | source = "registry+https://github.com/rust-lang/crates.io-index" 3867 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 3868 | dependencies = [ 3869 | "ppv-lite86", 3870 | "rand_core 0.5.1", 3871 | ] 3872 | 3873 | [[package]] 3874 | name = "rand_chacha" 3875 | version = "0.3.1" 3876 | source = "registry+https://github.com/rust-lang/crates.io-index" 3877 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 3878 | dependencies = [ 3879 | "ppv-lite86", 3880 | "rand_core 0.6.4", 3881 | ] 3882 | 3883 | [[package]] 3884 | name = "rand_chacha" 3885 | version = "0.9.0" 3886 | source = "registry+https://github.com/rust-lang/crates.io-index" 3887 | checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 3888 | dependencies = [ 3889 | "ppv-lite86", 3890 | "rand_core 0.9.3", 3891 | ] 3892 | 3893 | [[package]] 3894 | name = "rand_core" 3895 | version = "0.5.1" 3896 | source = "registry+https://github.com/rust-lang/crates.io-index" 3897 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 3898 | dependencies = [ 3899 | "getrandom 0.1.16", 3900 | ] 3901 | 3902 | [[package]] 3903 | name = "rand_core" 3904 | version = "0.6.4" 3905 | source = "registry+https://github.com/rust-lang/crates.io-index" 3906 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 3907 | dependencies = [ 3908 | "getrandom 0.2.16", 3909 | ] 3910 | 3911 | [[package]] 3912 | name = "rand_core" 3913 | version = "0.9.3" 3914 | source = "registry+https://github.com/rust-lang/crates.io-index" 3915 | checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" 3916 | dependencies = [ 3917 | "getrandom 0.3.3", 3918 | ] 3919 | 3920 | [[package]] 3921 | name = "rand_distr" 3922 | version = "0.5.1" 3923 | source = "registry+https://github.com/rust-lang/crates.io-index" 3924 | checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" 3925 | dependencies = [ 3926 | "num-traits", 3927 | "rand 0.9.1", 3928 | ] 3929 | 3930 | [[package]] 3931 | name = "rand_hc" 3932 | version = "0.2.0" 3933 | source = "registry+https://github.com/rust-lang/crates.io-index" 3934 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 3935 | dependencies = [ 3936 | "rand_core 0.5.1", 3937 | ] 3938 | 3939 | [[package]] 3940 | name = "rand_pcg" 3941 | version = "0.2.1" 3942 | source = "registry+https://github.com/rust-lang/crates.io-index" 3943 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 3944 | dependencies = [ 3945 | "rand_core 0.5.1", 3946 | ] 3947 | 3948 | [[package]] 3949 | name = "rangemap" 3950 | version = "1.5.1" 3951 | source = "registry+https://github.com/rust-lang/crates.io-index" 3952 | checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" 3953 | 3954 | [[package]] 3955 | name = "ratatui" 3956 | version = "0.29.0" 3957 | source = "registry+https://github.com/rust-lang/crates.io-index" 3958 | checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" 3959 | dependencies = [ 3960 | "bitflags 2.9.1", 3961 | "cassowary", 3962 | "compact_str", 3963 | "crossterm 0.28.1", 3964 | "indoc", 3965 | "instability", 3966 | "itertools 0.13.0", 3967 | "lru", 3968 | "paste", 3969 | "strum", 3970 | "unicode-segmentation", 3971 | "unicode-truncate", 3972 | "unicode-width 0.2.0", 3973 | ] 3974 | 3975 | [[package]] 3976 | name = "raw-cpuid" 3977 | version = "10.7.0" 3978 | source = "registry+https://github.com/rust-lang/crates.io-index" 3979 | checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" 3980 | dependencies = [ 3981 | "bitflags 1.3.2", 3982 | ] 3983 | 3984 | [[package]] 3985 | name = "raw-cpuid" 3986 | version = "11.5.0" 3987 | source = "registry+https://github.com/rust-lang/crates.io-index" 3988 | checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" 3989 | dependencies = [ 3990 | "bitflags 2.9.1", 3991 | ] 3992 | 3993 | [[package]] 3994 | name = "rawpointer" 3995 | version = "0.2.1" 3996 | source = "registry+https://github.com/rust-lang/crates.io-index" 3997 | checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" 3998 | 3999 | [[package]] 4000 | name = "rayon" 4001 | version = "1.10.0" 4002 | source = "registry+https://github.com/rust-lang/crates.io-index" 4003 | checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" 4004 | dependencies = [ 4005 | "either", 4006 | "rayon-core", 4007 | ] 4008 | 4009 | [[package]] 4010 | name = "rayon-cond" 4011 | version = "0.3.0" 4012 | source = "registry+https://github.com/rust-lang/crates.io-index" 4013 | checksum = "059f538b55efd2309c9794130bc149c6a553db90e9d99c2030785c82f0bd7df9" 4014 | dependencies = [ 4015 | "either", 4016 | "itertools 0.11.0", 4017 | "rayon", 4018 | ] 4019 | 4020 | [[package]] 4021 | name = "rayon-core" 4022 | version = "1.12.1" 4023 | source = "registry+https://github.com/rust-lang/crates.io-index" 4024 | checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" 4025 | dependencies = [ 4026 | "crossbeam-deque", 4027 | "crossbeam-utils", 4028 | ] 4029 | 4030 | [[package]] 4031 | name = "rbert" 4032 | version = "0.4.0" 4033 | source = "registry+https://github.com/rust-lang/crates.io-index" 4034 | checksum = "737d017c82188d8aac84ccda22a767127c7363461078f831c09e2aa79ee6d7be" 4035 | dependencies = [ 4036 | "candle-core", 4037 | "candle-nn", 4038 | "candle-transformers", 4039 | "kalosm-common", 4040 | "kalosm-language-model", 4041 | "kalosm-model-types", 4042 | "metal 0.27.0", 4043 | "serde", 4044 | "serde_json", 4045 | "thiserror 2.0.12", 4046 | "tokenizers", 4047 | "tokio", 4048 | "tracing", 4049 | ] 4050 | 4051 | [[package]] 4052 | name = "readability" 4053 | version = "0.2.0" 4054 | source = "registry+https://github.com/rust-lang/crates.io-index" 4055 | checksum = "e7843b159286299dd2b90f06d904ae1a8017a650d88d716c85dd6f123947f399" 4056 | dependencies = [ 4057 | "html5ever 0.25.2", 4058 | "lazy_static", 4059 | "markup5ever_rcdom", 4060 | "regex", 4061 | "url", 4062 | ] 4063 | 4064 | [[package]] 4065 | name = "reborrow" 4066 | version = "0.5.5" 4067 | source = "registry+https://github.com/rust-lang/crates.io-index" 4068 | checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" 4069 | 4070 | [[package]] 4071 | name = "redox_syscall" 4072 | version = "0.5.12" 4073 | source = "registry+https://github.com/rust-lang/crates.io-index" 4074 | checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" 4075 | dependencies = [ 4076 | "bitflags 2.9.1", 4077 | ] 4078 | 4079 | [[package]] 4080 | name = "redox_users" 4081 | version = "0.4.6" 4082 | source = "registry+https://github.com/rust-lang/crates.io-index" 4083 | checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" 4084 | dependencies = [ 4085 | "getrandom 0.2.16", 4086 | "libredox", 4087 | "thiserror 1.0.69", 4088 | ] 4089 | 4090 | [[package]] 4091 | name = "regex" 4092 | version = "1.11.1" 4093 | source = "registry+https://github.com/rust-lang/crates.io-index" 4094 | checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 4095 | dependencies = [ 4096 | "aho-corasick", 4097 | "memchr", 4098 | "regex-automata", 4099 | "regex-syntax", 4100 | ] 4101 | 4102 | [[package]] 4103 | name = "regex-automata" 4104 | version = "0.4.9" 4105 | source = "registry+https://github.com/rust-lang/crates.io-index" 4106 | checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 4107 | dependencies = [ 4108 | "aho-corasick", 4109 | "memchr", 4110 | "regex-syntax", 4111 | ] 4112 | 4113 | [[package]] 4114 | name = "regex-syntax" 4115 | version = "0.8.5" 4116 | source = "registry+https://github.com/rust-lang/crates.io-index" 4117 | checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 4118 | 4119 | [[package]] 4120 | name = "reqwest" 4121 | version = "0.11.27" 4122 | source = "registry+https://github.com/rust-lang/crates.io-index" 4123 | checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" 4124 | dependencies = [ 4125 | "base64 0.21.7", 4126 | "bytes", 4127 | "encoding_rs", 4128 | "futures-core", 4129 | "futures-util", 4130 | "h2", 4131 | "http", 4132 | "http-body", 4133 | "hyper", 4134 | "hyper-tls", 4135 | "ipnet", 4136 | "js-sys", 4137 | "log", 4138 | "mime", 4139 | "native-tls", 4140 | "once_cell", 4141 | "percent-encoding", 4142 | "pin-project-lite", 4143 | "rustls-pemfile", 4144 | "serde", 4145 | "serde_json", 4146 | "serde_urlencoded", 4147 | "sync_wrapper", 4148 | "system-configuration", 4149 | "tokio", 4150 | "tokio-native-tls", 4151 | "tokio-util", 4152 | "tower-service", 4153 | "url", 4154 | "wasm-bindgen", 4155 | "wasm-bindgen-futures", 4156 | "wasm-streams", 4157 | "web-sys", 4158 | "winreg", 4159 | ] 4160 | 4161 | [[package]] 4162 | name = "ring" 4163 | version = "0.17.14" 4164 | source = "registry+https://github.com/rust-lang/crates.io-index" 4165 | checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 4166 | dependencies = [ 4167 | "cc", 4168 | "cfg-if", 4169 | "getrandom 0.2.16", 4170 | "libc", 4171 | "untrusted", 4172 | "windows-sys 0.52.0", 4173 | ] 4174 | 4175 | [[package]] 4176 | name = "roaring" 4177 | version = "0.10.12" 4178 | source = "registry+https://github.com/rust-lang/crates.io-index" 4179 | checksum = "19e8d2cfa184d94d0726d650a9f4a1be7f9b76ac9fdb954219878dc00c1c1e7b" 4180 | dependencies = [ 4181 | "bytemuck", 4182 | "byteorder", 4183 | ] 4184 | 4185 | [[package]] 4186 | name = "rodio" 4187 | version = "0.20.1" 4188 | source = "registry+https://github.com/rust-lang/crates.io-index" 4189 | checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" 4190 | dependencies = [ 4191 | "claxon", 4192 | "cpal", 4193 | "hound", 4194 | "lewton", 4195 | "symphonia", 4196 | ] 4197 | 4198 | [[package]] 4199 | name = "rss" 4200 | version = "2.0.12" 4201 | source = "registry+https://github.com/rust-lang/crates.io-index" 4202 | checksum = "b2107738f003660f0a91f56fd3e3bd3ab5d918b2ddaf1e1ec2136fb1c46f71bf" 4203 | dependencies = [ 4204 | "atom_syndication", 4205 | "derive_builder", 4206 | "never", 4207 | "quick-xml", 4208 | ] 4209 | 4210 | [[package]] 4211 | name = "rustc-demangle" 4212 | version = "0.1.24" 4213 | source = "registry+https://github.com/rust-lang/crates.io-index" 4214 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 4215 | 4216 | [[package]] 4217 | name = "rustc-hash" 4218 | version = "1.1.0" 4219 | source = "registry+https://github.com/rust-lang/crates.io-index" 4220 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 4221 | 4222 | [[package]] 4223 | name = "rustfft" 4224 | version = "6.3.0" 4225 | source = "registry+https://github.com/rust-lang/crates.io-index" 4226 | checksum = "f266ff9b0cfc79de11fd5af76a2bc672fe3ace10c96fa06456740fa70cb1ed49" 4227 | dependencies = [ 4228 | "num-complex", 4229 | "num-integer", 4230 | "num-traits", 4231 | "primal-check", 4232 | "strength_reduce", 4233 | "transpose", 4234 | "version_check", 4235 | ] 4236 | 4237 | [[package]] 4238 | name = "rustix" 4239 | version = "0.38.44" 4240 | source = "registry+https://github.com/rust-lang/crates.io-index" 4241 | checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" 4242 | dependencies = [ 4243 | "bitflags 2.9.1", 4244 | "errno", 4245 | "libc", 4246 | "linux-raw-sys 0.4.15", 4247 | "windows-sys 0.59.0", 4248 | ] 4249 | 4250 | [[package]] 4251 | name = "rustix" 4252 | version = "1.0.7" 4253 | source = "registry+https://github.com/rust-lang/crates.io-index" 4254 | checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" 4255 | dependencies = [ 4256 | "bitflags 2.9.1", 4257 | "errno", 4258 | "libc", 4259 | "linux-raw-sys 0.9.4", 4260 | "windows-sys 0.59.0", 4261 | ] 4262 | 4263 | [[package]] 4264 | name = "rustls" 4265 | version = "0.23.27" 4266 | source = "registry+https://github.com/rust-lang/crates.io-index" 4267 | checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" 4268 | dependencies = [ 4269 | "log", 4270 | "once_cell", 4271 | "ring", 4272 | "rustls-pki-types", 4273 | "rustls-webpki", 4274 | "subtle", 4275 | "zeroize", 4276 | ] 4277 | 4278 | [[package]] 4279 | name = "rustls-pemfile" 4280 | version = "1.0.4" 4281 | source = "registry+https://github.com/rust-lang/crates.io-index" 4282 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 4283 | dependencies = [ 4284 | "base64 0.21.7", 4285 | ] 4286 | 4287 | [[package]] 4288 | name = "rustls-pki-types" 4289 | version = "1.12.0" 4290 | source = "registry+https://github.com/rust-lang/crates.io-index" 4291 | checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" 4292 | dependencies = [ 4293 | "zeroize", 4294 | ] 4295 | 4296 | [[package]] 4297 | name = "rustls-webpki" 4298 | version = "0.103.3" 4299 | source = "registry+https://github.com/rust-lang/crates.io-index" 4300 | checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" 4301 | dependencies = [ 4302 | "ring", 4303 | "rustls-pki-types", 4304 | "untrusted", 4305 | ] 4306 | 4307 | [[package]] 4308 | name = "rustversion" 4309 | version = "1.0.20" 4310 | source = "registry+https://github.com/rust-lang/crates.io-index" 4311 | checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" 4312 | 4313 | [[package]] 4314 | name = "rwhisper" 4315 | version = "0.4.1" 4316 | source = "registry+https://github.com/rust-lang/crates.io-index" 4317 | checksum = "620a8fbb386e92c5a2b0115736e40052410924c0bebed43e3a04bdcae73dcb85" 4318 | dependencies = [ 4319 | "accelerate-src", 4320 | "byteorder", 4321 | "candle-core", 4322 | "candle-nn", 4323 | "candle-transformers", 4324 | "cpal", 4325 | "flate2", 4326 | "futures-channel", 4327 | "futures-util", 4328 | "hf-hub", 4329 | "hound", 4330 | "kalosm-common", 4331 | "kalosm-language-model", 4332 | "kalosm-model-types", 4333 | "rand 0.8.5", 4334 | "rayon", 4335 | "rodio", 4336 | "serde_json", 4337 | "thiserror 2.0.12", 4338 | "tokenizers", 4339 | "tracing", 4340 | ] 4341 | 4342 | [[package]] 4343 | name = "rwuerstchen" 4344 | version = "0.4.0" 4345 | source = "registry+https://github.com/rust-lang/crates.io-index" 4346 | checksum = "246789b33db35e7c811b9221f345fd7cc545fce92ac2aab8ece6e540141fa193" 4347 | dependencies = [ 4348 | "candle-core", 4349 | "candle-nn", 4350 | "candle-transformers", 4351 | "futures-channel", 4352 | "futures-util", 4353 | "hf-hub", 4354 | "image", 4355 | "kalosm-common", 4356 | "kalosm-language-model", 4357 | "kalosm-model-types", 4358 | "tokenizers", 4359 | "tracing", 4360 | ] 4361 | 4362 | [[package]] 4363 | name = "ryu" 4364 | version = "1.0.20" 4365 | source = "registry+https://github.com/rust-lang/crates.io-index" 4366 | checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 4367 | 4368 | [[package]] 4369 | name = "safetensors" 4370 | version = "0.4.5" 4371 | source = "registry+https://github.com/rust-lang/crates.io-index" 4372 | checksum = "44560c11236a6130a46ce36c836a62936dc81ebf8c36a37947423571be0e55b6" 4373 | dependencies = [ 4374 | "serde", 4375 | "serde_json", 4376 | ] 4377 | 4378 | [[package]] 4379 | name = "same-file" 4380 | version = "1.0.6" 4381 | source = "registry+https://github.com/rust-lang/crates.io-index" 4382 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 4383 | dependencies = [ 4384 | "winapi-util", 4385 | ] 4386 | 4387 | [[package]] 4388 | name = "schannel" 4389 | version = "0.1.27" 4390 | source = "registry+https://github.com/rust-lang/crates.io-index" 4391 | checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" 4392 | dependencies = [ 4393 | "windows-sys 0.59.0", 4394 | ] 4395 | 4396 | [[package]] 4397 | name = "scopeguard" 4398 | version = "1.2.0" 4399 | source = "registry+https://github.com/rust-lang/crates.io-index" 4400 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 4401 | 4402 | [[package]] 4403 | name = "scraper" 4404 | version = "0.19.1" 4405 | source = "registry+https://github.com/rust-lang/crates.io-index" 4406 | checksum = "761fb705fdf625482d2ed91d3f0559dcfeab2798fe2771c69560a774865d0802" 4407 | dependencies = [ 4408 | "ahash", 4409 | "cssparser", 4410 | "ego-tree", 4411 | "getopts", 4412 | "html5ever 0.27.0", 4413 | "once_cell", 4414 | "selectors", 4415 | "tendril", 4416 | ] 4417 | 4418 | [[package]] 4419 | name = "security-framework" 4420 | version = "2.11.1" 4421 | source = "registry+https://github.com/rust-lang/crates.io-index" 4422 | checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 4423 | dependencies = [ 4424 | "bitflags 2.9.1", 4425 | "core-foundation", 4426 | "core-foundation-sys", 4427 | "libc", 4428 | "security-framework-sys", 4429 | ] 4430 | 4431 | [[package]] 4432 | name = "security-framework-sys" 4433 | version = "2.14.0" 4434 | source = "registry+https://github.com/rust-lang/crates.io-index" 4435 | checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" 4436 | dependencies = [ 4437 | "core-foundation-sys", 4438 | "libc", 4439 | ] 4440 | 4441 | [[package]] 4442 | name = "segment-anything-rs" 4443 | version = "0.4.0" 4444 | source = "registry+https://github.com/rust-lang/crates.io-index" 4445 | checksum = "21a46fcc4b1d18932c97a95d94dbc95515b804837006a0554973c9742a01238e" 4446 | dependencies = [ 4447 | "candle-core", 4448 | "candle-nn", 4449 | "candle-transformers", 4450 | "hf-hub", 4451 | "image", 4452 | "thiserror 2.0.12", 4453 | "tracing", 4454 | ] 4455 | 4456 | [[package]] 4457 | name = "selectors" 4458 | version = "0.25.0" 4459 | source = "registry+https://github.com/rust-lang/crates.io-index" 4460 | checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06" 4461 | dependencies = [ 4462 | "bitflags 2.9.1", 4463 | "cssparser", 4464 | "derive_more 0.99.20", 4465 | "fxhash", 4466 | "log", 4467 | "new_debug_unreachable", 4468 | "phf 0.10.1", 4469 | "phf_codegen 0.10.0", 4470 | "precomputed-hash", 4471 | "servo_arc", 4472 | "smallvec", 4473 | ] 4474 | 4475 | [[package]] 4476 | name = "self_cell" 4477 | version = "1.2.0" 4478 | source = "registry+https://github.com/rust-lang/crates.io-index" 4479 | checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" 4480 | 4481 | [[package]] 4482 | name = "seq-macro" 4483 | version = "0.3.6" 4484 | source = "registry+https://github.com/rust-lang/crates.io-index" 4485 | checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" 4486 | 4487 | [[package]] 4488 | name = "serde" 4489 | version = "1.0.219" 4490 | source = "registry+https://github.com/rust-lang/crates.io-index" 4491 | checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 4492 | dependencies = [ 4493 | "serde_derive", 4494 | ] 4495 | 4496 | [[package]] 4497 | name = "serde-xml-rs" 4498 | version = "0.4.1" 4499 | source = "registry+https://github.com/rust-lang/crates.io-index" 4500 | checksum = "f0bf1ba0696ccf0872866277143ff1fd14d22eec235d2b23702f95e6660f7dfa" 4501 | dependencies = [ 4502 | "log", 4503 | "serde", 4504 | "thiserror 1.0.69", 4505 | "xml-rs", 4506 | ] 4507 | 4508 | [[package]] 4509 | name = "serde_derive" 4510 | version = "1.0.219" 4511 | source = "registry+https://github.com/rust-lang/crates.io-index" 4512 | checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 4513 | dependencies = [ 4514 | "proc-macro2", 4515 | "quote", 4516 | "syn 2.0.101", 4517 | ] 4518 | 4519 | [[package]] 4520 | name = "serde_json" 4521 | version = "1.0.140" 4522 | source = "registry+https://github.com/rust-lang/crates.io-index" 4523 | checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" 4524 | dependencies = [ 4525 | "itoa", 4526 | "memchr", 4527 | "ryu", 4528 | "serde", 4529 | ] 4530 | 4531 | [[package]] 4532 | name = "serde_plain" 4533 | version = "1.0.2" 4534 | source = "registry+https://github.com/rust-lang/crates.io-index" 4535 | checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50" 4536 | dependencies = [ 4537 | "serde", 4538 | ] 4539 | 4540 | [[package]] 4541 | name = "serde_regex" 4542 | version = "1.1.0" 4543 | source = "registry+https://github.com/rust-lang/crates.io-index" 4544 | checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf" 4545 | dependencies = [ 4546 | "regex", 4547 | "serde", 4548 | ] 4549 | 4550 | [[package]] 4551 | name = "serde_urlencoded" 4552 | version = "0.7.1" 4553 | source = "registry+https://github.com/rust-lang/crates.io-index" 4554 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 4555 | dependencies = [ 4556 | "form_urlencoded", 4557 | "itoa", 4558 | "ryu", 4559 | "serde", 4560 | ] 4561 | 4562 | [[package]] 4563 | name = "servo_arc" 4564 | version = "0.3.0" 4565 | source = "registry+https://github.com/rust-lang/crates.io-index" 4566 | checksum = "d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44" 4567 | dependencies = [ 4568 | "stable_deref_trait", 4569 | ] 4570 | 4571 | [[package]] 4572 | name = "sha2" 4573 | version = "0.10.9" 4574 | source = "registry+https://github.com/rust-lang/crates.io-index" 4575 | checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 4576 | dependencies = [ 4577 | "cfg-if", 4578 | "cpufeatures", 4579 | "digest", 4580 | ] 4581 | 4582 | [[package]] 4583 | name = "sharded-slab" 4584 | version = "0.1.7" 4585 | source = "registry+https://github.com/rust-lang/crates.io-index" 4586 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 4587 | dependencies = [ 4588 | "lazy_static", 4589 | ] 4590 | 4591 | [[package]] 4592 | name = "shlex" 4593 | version = "1.3.0" 4594 | source = "registry+https://github.com/rust-lang/crates.io-index" 4595 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 4596 | 4597 | [[package]] 4598 | name = "signal-hook" 4599 | version = "0.3.18" 4600 | source = "registry+https://github.com/rust-lang/crates.io-index" 4601 | checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" 4602 | dependencies = [ 4603 | "libc", 4604 | "signal-hook-registry", 4605 | ] 4606 | 4607 | [[package]] 4608 | name = "signal-hook-mio" 4609 | version = "0.2.4" 4610 | source = "registry+https://github.com/rust-lang/crates.io-index" 4611 | checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" 4612 | dependencies = [ 4613 | "libc", 4614 | "mio", 4615 | "signal-hook", 4616 | ] 4617 | 4618 | [[package]] 4619 | name = "signal-hook-registry" 4620 | version = "1.4.5" 4621 | source = "registry+https://github.com/rust-lang/crates.io-index" 4622 | checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" 4623 | dependencies = [ 4624 | "libc", 4625 | ] 4626 | 4627 | [[package]] 4628 | name = "simd-adler32" 4629 | version = "0.3.7" 4630 | source = "registry+https://github.com/rust-lang/crates.io-index" 4631 | checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 4632 | 4633 | [[package]] 4634 | name = "siphasher" 4635 | version = "0.3.11" 4636 | source = "registry+https://github.com/rust-lang/crates.io-index" 4637 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 4638 | 4639 | [[package]] 4640 | name = "siphasher" 4641 | version = "1.0.1" 4642 | source = "registry+https://github.com/rust-lang/crates.io-index" 4643 | checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" 4644 | 4645 | [[package]] 4646 | name = "slab" 4647 | version = "0.4.9" 4648 | source = "registry+https://github.com/rust-lang/crates.io-index" 4649 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 4650 | dependencies = [ 4651 | "autocfg", 4652 | "serde", 4653 | ] 4654 | 4655 | [[package]] 4656 | name = "smallvec" 4657 | version = "1.15.0" 4658 | source = "registry+https://github.com/rust-lang/crates.io-index" 4659 | checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" 4660 | 4661 | [[package]] 4662 | name = "socket2" 4663 | version = "0.5.9" 4664 | source = "registry+https://github.com/rust-lang/crates.io-index" 4665 | checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" 4666 | dependencies = [ 4667 | "libc", 4668 | "windows-sys 0.52.0", 4669 | ] 4670 | 4671 | [[package]] 4672 | name = "socks" 4673 | version = "0.3.4" 4674 | source = "registry+https://github.com/rust-lang/crates.io-index" 4675 | checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" 4676 | dependencies = [ 4677 | "byteorder", 4678 | "libc", 4679 | "winapi", 4680 | ] 4681 | 4682 | [[package]] 4683 | name = "spm_precompiled" 4684 | version = "0.1.4" 4685 | source = "registry+https://github.com/rust-lang/crates.io-index" 4686 | checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326" 4687 | dependencies = [ 4688 | "base64 0.13.1", 4689 | "nom", 4690 | "serde", 4691 | "unicode-segmentation", 4692 | ] 4693 | 4694 | [[package]] 4695 | name = "srx" 4696 | version = "0.1.4" 4697 | source = "registry+https://github.com/rust-lang/crates.io-index" 4698 | checksum = "310140d03a2064947271c5105bfff8c406f2f0bafbdaa947b34a088683cc2905" 4699 | dependencies = [ 4700 | "regex", 4701 | "serde", 4702 | "serde-xml-rs", 4703 | "serde_regex", 4704 | "thiserror 1.0.69", 4705 | ] 4706 | 4707 | [[package]] 4708 | name = "stable_deref_trait" 4709 | version = "1.2.0" 4710 | source = "registry+https://github.com/rust-lang/crates.io-index" 4711 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 4712 | 4713 | [[package]] 4714 | name = "static_assertions" 4715 | version = "1.1.0" 4716 | source = "registry+https://github.com/rust-lang/crates.io-index" 4717 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 4718 | 4719 | [[package]] 4720 | name = "strength_reduce" 4721 | version = "0.2.4" 4722 | source = "registry+https://github.com/rust-lang/crates.io-index" 4723 | checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" 4724 | 4725 | [[package]] 4726 | name = "string_cache" 4727 | version = "0.8.9" 4728 | source = "registry+https://github.com/rust-lang/crates.io-index" 4729 | checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" 4730 | dependencies = [ 4731 | "new_debug_unreachable", 4732 | "parking_lot", 4733 | "phf_shared 0.11.3", 4734 | "precomputed-hash", 4735 | "serde", 4736 | ] 4737 | 4738 | [[package]] 4739 | name = "string_cache_codegen" 4740 | version = "0.5.4" 4741 | source = "registry+https://github.com/rust-lang/crates.io-index" 4742 | checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" 4743 | dependencies = [ 4744 | "phf_generator 0.11.3", 4745 | "phf_shared 0.11.3", 4746 | "proc-macro2", 4747 | "quote", 4748 | ] 4749 | 4750 | [[package]] 4751 | name = "strsim" 4752 | version = "0.10.0" 4753 | source = "registry+https://github.com/rust-lang/crates.io-index" 4754 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 4755 | 4756 | [[package]] 4757 | name = "strsim" 4758 | version = "0.11.1" 4759 | source = "registry+https://github.com/rust-lang/crates.io-index" 4760 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 4761 | 4762 | [[package]] 4763 | name = "strum" 4764 | version = "0.26.3" 4765 | source = "registry+https://github.com/rust-lang/crates.io-index" 4766 | checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" 4767 | dependencies = [ 4768 | "strum_macros", 4769 | ] 4770 | 4771 | [[package]] 4772 | name = "strum_macros" 4773 | version = "0.26.4" 4774 | source = "registry+https://github.com/rust-lang/crates.io-index" 4775 | checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" 4776 | dependencies = [ 4777 | "heck", 4778 | "proc-macro2", 4779 | "quote", 4780 | "rustversion", 4781 | "syn 2.0.101", 4782 | ] 4783 | 4784 | [[package]] 4785 | name = "subtle" 4786 | version = "2.6.1" 4787 | source = "registry+https://github.com/rust-lang/crates.io-index" 4788 | checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 4789 | 4790 | [[package]] 4791 | name = "symphonia" 4792 | version = "0.5.4" 4793 | source = "registry+https://github.com/rust-lang/crates.io-index" 4794 | checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9" 4795 | dependencies = [ 4796 | "lazy_static", 4797 | "symphonia-bundle-mp3", 4798 | "symphonia-core", 4799 | "symphonia-metadata", 4800 | ] 4801 | 4802 | [[package]] 4803 | name = "symphonia-bundle-mp3" 4804 | version = "0.5.4" 4805 | source = "registry+https://github.com/rust-lang/crates.io-index" 4806 | checksum = "c01c2aae70f0f1fb096b6f0ff112a930b1fb3626178fba3ae68b09dce71706d4" 4807 | dependencies = [ 4808 | "lazy_static", 4809 | "log", 4810 | "symphonia-core", 4811 | "symphonia-metadata", 4812 | ] 4813 | 4814 | [[package]] 4815 | name = "symphonia-core" 4816 | version = "0.5.4" 4817 | source = "registry+https://github.com/rust-lang/crates.io-index" 4818 | checksum = "798306779e3dc7d5231bd5691f5a813496dc79d3f56bf82e25789f2094e022c3" 4819 | dependencies = [ 4820 | "arrayvec", 4821 | "bitflags 1.3.2", 4822 | "bytemuck", 4823 | "lazy_static", 4824 | "log", 4825 | ] 4826 | 4827 | [[package]] 4828 | name = "symphonia-metadata" 4829 | version = "0.5.4" 4830 | source = "registry+https://github.com/rust-lang/crates.io-index" 4831 | checksum = "bc622b9841a10089c5b18e99eb904f4341615d5aa55bbf4eedde1be721a4023c" 4832 | dependencies = [ 4833 | "encoding_rs", 4834 | "lazy_static", 4835 | "log", 4836 | "symphonia-core", 4837 | ] 4838 | 4839 | [[package]] 4840 | name = "syn" 4841 | version = "1.0.109" 4842 | source = "registry+https://github.com/rust-lang/crates.io-index" 4843 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 4844 | dependencies = [ 4845 | "proc-macro2", 4846 | "quote", 4847 | "unicode-ident", 4848 | ] 4849 | 4850 | [[package]] 4851 | name = "syn" 4852 | version = "2.0.101" 4853 | source = "registry+https://github.com/rust-lang/crates.io-index" 4854 | checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" 4855 | dependencies = [ 4856 | "proc-macro2", 4857 | "quote", 4858 | "unicode-ident", 4859 | ] 4860 | 4861 | [[package]] 4862 | name = "sync_wrapper" 4863 | version = "0.1.2" 4864 | source = "registry+https://github.com/rust-lang/crates.io-index" 4865 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 4866 | 4867 | [[package]] 4868 | name = "synchronoise" 4869 | version = "1.0.1" 4870 | source = "registry+https://github.com/rust-lang/crates.io-index" 4871 | checksum = "3dbc01390fc626ce8d1cffe3376ded2b72a11bb70e1c75f404a210e4daa4def2" 4872 | dependencies = [ 4873 | "crossbeam-queue", 4874 | ] 4875 | 4876 | [[package]] 4877 | name = "synstructure" 4878 | version = "0.13.2" 4879 | source = "registry+https://github.com/rust-lang/crates.io-index" 4880 | checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 4881 | dependencies = [ 4882 | "proc-macro2", 4883 | "quote", 4884 | "syn 2.0.101", 4885 | ] 4886 | 4887 | [[package]] 4888 | name = "sysctl" 4889 | version = "0.5.5" 4890 | source = "registry+https://github.com/rust-lang/crates.io-index" 4891 | checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" 4892 | dependencies = [ 4893 | "bitflags 2.9.1", 4894 | "byteorder", 4895 | "enum-as-inner", 4896 | "libc", 4897 | "thiserror 1.0.69", 4898 | "walkdir", 4899 | ] 4900 | 4901 | [[package]] 4902 | name = "sysctl" 4903 | version = "0.6.0" 4904 | source = "registry+https://github.com/rust-lang/crates.io-index" 4905 | checksum = "01198a2debb237c62b6826ec7081082d951f46dbb64b0e8c7649a452230d1dfc" 4906 | dependencies = [ 4907 | "bitflags 2.9.1", 4908 | "byteorder", 4909 | "enum-as-inner", 4910 | "libc", 4911 | "thiserror 1.0.69", 4912 | "walkdir", 4913 | ] 4914 | 4915 | [[package]] 4916 | name = "system-configuration" 4917 | version = "0.5.1" 4918 | source = "registry+https://github.com/rust-lang/crates.io-index" 4919 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 4920 | dependencies = [ 4921 | "bitflags 1.3.2", 4922 | "core-foundation", 4923 | "system-configuration-sys", 4924 | ] 4925 | 4926 | [[package]] 4927 | name = "system-configuration-sys" 4928 | version = "0.5.0" 4929 | source = "registry+https://github.com/rust-lang/crates.io-index" 4930 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 4931 | dependencies = [ 4932 | "core-foundation-sys", 4933 | "libc", 4934 | ] 4935 | 4936 | [[package]] 4937 | name = "tar" 4938 | version = "0.4.44" 4939 | source = "registry+https://github.com/rust-lang/crates.io-index" 4940 | checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" 4941 | dependencies = [ 4942 | "filetime", 4943 | "libc", 4944 | "xattr", 4945 | ] 4946 | 4947 | [[package]] 4948 | name = "tempfile" 4949 | version = "3.20.0" 4950 | source = "registry+https://github.com/rust-lang/crates.io-index" 4951 | checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" 4952 | dependencies = [ 4953 | "fastrand", 4954 | "getrandom 0.3.3", 4955 | "once_cell", 4956 | "rustix 1.0.7", 4957 | "windows-sys 0.59.0", 4958 | ] 4959 | 4960 | [[package]] 4961 | name = "tendril" 4962 | version = "0.4.3" 4963 | source = "registry+https://github.com/rust-lang/crates.io-index" 4964 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 4965 | dependencies = [ 4966 | "futf", 4967 | "mac", 4968 | "utf-8", 4969 | ] 4970 | 4971 | [[package]] 4972 | name = "termcolor" 4973 | version = "1.4.1" 4974 | source = "registry+https://github.com/rust-lang/crates.io-index" 4975 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 4976 | dependencies = [ 4977 | "winapi-util", 4978 | ] 4979 | 4980 | [[package]] 4981 | name = "textwrap" 4982 | version = "0.16.2" 4983 | source = "registry+https://github.com/rust-lang/crates.io-index" 4984 | checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" 4985 | 4986 | [[package]] 4987 | name = "thiserror" 4988 | version = "1.0.69" 4989 | source = "registry+https://github.com/rust-lang/crates.io-index" 4990 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 4991 | dependencies = [ 4992 | "thiserror-impl 1.0.69", 4993 | ] 4994 | 4995 | [[package]] 4996 | name = "thiserror" 4997 | version = "2.0.12" 4998 | source = "registry+https://github.com/rust-lang/crates.io-index" 4999 | checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" 5000 | dependencies = [ 5001 | "thiserror-impl 2.0.12", 5002 | ] 5003 | 5004 | [[package]] 5005 | name = "thiserror-impl" 5006 | version = "1.0.69" 5007 | source = "registry+https://github.com/rust-lang/crates.io-index" 5008 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 5009 | dependencies = [ 5010 | "proc-macro2", 5011 | "quote", 5012 | "syn 2.0.101", 5013 | ] 5014 | 5015 | [[package]] 5016 | name = "thiserror-impl" 5017 | version = "2.0.12" 5018 | source = "registry+https://github.com/rust-lang/crates.io-index" 5019 | checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" 5020 | dependencies = [ 5021 | "proc-macro2", 5022 | "quote", 5023 | "syn 2.0.101", 5024 | ] 5025 | 5026 | [[package]] 5027 | name = "thread_local" 5028 | version = "1.1.8" 5029 | source = "registry+https://github.com/rust-lang/crates.io-index" 5030 | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 5031 | dependencies = [ 5032 | "cfg-if", 5033 | "once_cell", 5034 | ] 5035 | 5036 | [[package]] 5037 | name = "tiff" 5038 | version = "0.9.1" 5039 | source = "registry+https://github.com/rust-lang/crates.io-index" 5040 | checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" 5041 | dependencies = [ 5042 | "flate2", 5043 | "jpeg-decoder", 5044 | "weezl", 5045 | ] 5046 | 5047 | [[package]] 5048 | name = "time" 5049 | version = "0.1.45" 5050 | source = "registry+https://github.com/rust-lang/crates.io-index" 5051 | checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" 5052 | dependencies = [ 5053 | "libc", 5054 | "wasi 0.10.0+wasi-snapshot-preview1", 5055 | "winapi", 5056 | ] 5057 | 5058 | [[package]] 5059 | name = "time" 5060 | version = "0.3.41" 5061 | source = "registry+https://github.com/rust-lang/crates.io-index" 5062 | checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" 5063 | dependencies = [ 5064 | "deranged", 5065 | "itoa", 5066 | "num-conv", 5067 | "powerfmt", 5068 | "serde", 5069 | "time-core", 5070 | "time-macros", 5071 | ] 5072 | 5073 | [[package]] 5074 | name = "time-core" 5075 | version = "0.1.4" 5076 | source = "registry+https://github.com/rust-lang/crates.io-index" 5077 | checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" 5078 | 5079 | [[package]] 5080 | name = "time-macros" 5081 | version = "0.2.22" 5082 | source = "registry+https://github.com/rust-lang/crates.io-index" 5083 | checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" 5084 | dependencies = [ 5085 | "num-conv", 5086 | "time-core", 5087 | ] 5088 | 5089 | [[package]] 5090 | name = "tinystr" 5091 | version = "0.8.1" 5092 | source = "registry+https://github.com/rust-lang/crates.io-index" 5093 | checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" 5094 | dependencies = [ 5095 | "displaydoc", 5096 | "zerovec", 5097 | ] 5098 | 5099 | [[package]] 5100 | name = "tinyvec" 5101 | version = "1.9.0" 5102 | source = "registry+https://github.com/rust-lang/crates.io-index" 5103 | checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" 5104 | dependencies = [ 5105 | "tinyvec_macros", 5106 | ] 5107 | 5108 | [[package]] 5109 | name = "tinyvec_macros" 5110 | version = "0.1.1" 5111 | source = "registry+https://github.com/rust-lang/crates.io-index" 5112 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 5113 | 5114 | [[package]] 5115 | name = "tokenizers" 5116 | version = "0.21.1" 5117 | source = "registry+https://github.com/rust-lang/crates.io-index" 5118 | checksum = "3169b3195f925496c895caee7978a335d49218488ef22375267fba5a46a40bd7" 5119 | dependencies = [ 5120 | "aho-corasick", 5121 | "derive_builder", 5122 | "esaxx-rs", 5123 | "getrandom 0.2.16", 5124 | "indicatif", 5125 | "itertools 0.13.0", 5126 | "lazy_static", 5127 | "log", 5128 | "macro_rules_attribute", 5129 | "monostate", 5130 | "onig", 5131 | "paste", 5132 | "rand 0.8.5", 5133 | "rayon", 5134 | "rayon-cond", 5135 | "regex", 5136 | "regex-syntax", 5137 | "serde", 5138 | "serde_json", 5139 | "spm_precompiled", 5140 | "thiserror 2.0.12", 5141 | "unicode-normalization-alignments", 5142 | "unicode-segmentation", 5143 | "unicode_categories", 5144 | ] 5145 | 5146 | [[package]] 5147 | name = "tokio" 5148 | version = "1.45.0" 5149 | source = "registry+https://github.com/rust-lang/crates.io-index" 5150 | checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" 5151 | dependencies = [ 5152 | "backtrace", 5153 | "bytes", 5154 | "libc", 5155 | "mio", 5156 | "pin-project-lite", 5157 | "socket2", 5158 | "tokio-macros", 5159 | "windows-sys 0.52.0", 5160 | ] 5161 | 5162 | [[package]] 5163 | name = "tokio-macros" 5164 | version = "2.5.0" 5165 | source = "registry+https://github.com/rust-lang/crates.io-index" 5166 | checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 5167 | dependencies = [ 5168 | "proc-macro2", 5169 | "quote", 5170 | "syn 2.0.101", 5171 | ] 5172 | 5173 | [[package]] 5174 | name = "tokio-native-tls" 5175 | version = "0.3.1" 5176 | source = "registry+https://github.com/rust-lang/crates.io-index" 5177 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 5178 | dependencies = [ 5179 | "native-tls", 5180 | "tokio", 5181 | ] 5182 | 5183 | [[package]] 5184 | name = "tokio-util" 5185 | version = "0.7.15" 5186 | source = "registry+https://github.com/rust-lang/crates.io-index" 5187 | checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" 5188 | dependencies = [ 5189 | "bytes", 5190 | "futures-core", 5191 | "futures-sink", 5192 | "futures-util", 5193 | "hashbrown 0.15.3", 5194 | "pin-project-lite", 5195 | "tokio", 5196 | ] 5197 | 5198 | [[package]] 5199 | name = "toml_datetime" 5200 | version = "0.6.9" 5201 | source = "registry+https://github.com/rust-lang/crates.io-index" 5202 | checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" 5203 | 5204 | [[package]] 5205 | name = "toml_edit" 5206 | version = "0.22.26" 5207 | source = "registry+https://github.com/rust-lang/crates.io-index" 5208 | checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" 5209 | dependencies = [ 5210 | "indexmap 2.9.0", 5211 | "toml_datetime", 5212 | "winnow", 5213 | ] 5214 | 5215 | [[package]] 5216 | name = "tower-service" 5217 | version = "0.3.3" 5218 | source = "registry+https://github.com/rust-lang/crates.io-index" 5219 | checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 5220 | 5221 | [[package]] 5222 | name = "tracing" 5223 | version = "0.1.41" 5224 | source = "registry+https://github.com/rust-lang/crates.io-index" 5225 | checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 5226 | dependencies = [ 5227 | "pin-project-lite", 5228 | "tracing-attributes", 5229 | "tracing-core", 5230 | ] 5231 | 5232 | [[package]] 5233 | name = "tracing-attributes" 5234 | version = "0.1.28" 5235 | source = "registry+https://github.com/rust-lang/crates.io-index" 5236 | checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" 5237 | dependencies = [ 5238 | "proc-macro2", 5239 | "quote", 5240 | "syn 2.0.101", 5241 | ] 5242 | 5243 | [[package]] 5244 | name = "tracing-core" 5245 | version = "0.1.33" 5246 | source = "registry+https://github.com/rust-lang/crates.io-index" 5247 | checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 5248 | dependencies = [ 5249 | "once_cell", 5250 | "valuable", 5251 | ] 5252 | 5253 | [[package]] 5254 | name = "tracing-error" 5255 | version = "0.2.1" 5256 | source = "registry+https://github.com/rust-lang/crates.io-index" 5257 | checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db" 5258 | dependencies = [ 5259 | "tracing", 5260 | "tracing-subscriber", 5261 | ] 5262 | 5263 | [[package]] 5264 | name = "tracing-subscriber" 5265 | version = "0.3.19" 5266 | source = "registry+https://github.com/rust-lang/crates.io-index" 5267 | checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" 5268 | dependencies = [ 5269 | "sharded-slab", 5270 | "thread_local", 5271 | "tracing-core", 5272 | ] 5273 | 5274 | [[package]] 5275 | name = "transpose" 5276 | version = "0.2.3" 5277 | source = "registry+https://github.com/rust-lang/crates.io-index" 5278 | checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e" 5279 | dependencies = [ 5280 | "num-integer", 5281 | "strength_reduce", 5282 | ] 5283 | 5284 | [[package]] 5285 | name = "transvibe" 5286 | version = "0.1.0" 5287 | dependencies = [ 5288 | "anyhow", 5289 | "color-eyre", 5290 | "crossterm 0.29.0", 5291 | "futures-util", 5292 | "kalosm", 5293 | "ratatui", 5294 | "tokio", 5295 | ] 5296 | 5297 | [[package]] 5298 | name = "try-lock" 5299 | version = "0.2.5" 5300 | source = "registry+https://github.com/rust-lang/crates.io-index" 5301 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 5302 | 5303 | [[package]] 5304 | name = "typed-builder" 5305 | version = "0.18.2" 5306 | source = "registry+https://github.com/rust-lang/crates.io-index" 5307 | checksum = "77739c880e00693faef3d65ea3aad725f196da38b22fdc7ea6ded6e1ce4d3add" 5308 | dependencies = [ 5309 | "typed-builder-macro", 5310 | ] 5311 | 5312 | [[package]] 5313 | name = "typed-builder-macro" 5314 | version = "0.18.2" 5315 | source = "registry+https://github.com/rust-lang/crates.io-index" 5316 | checksum = "1f718dfaf347dcb5b983bfc87608144b0bad87970aebcbea5ce44d2a30c08e63" 5317 | dependencies = [ 5318 | "proc-macro2", 5319 | "quote", 5320 | "syn 2.0.101", 5321 | ] 5322 | 5323 | [[package]] 5324 | name = "typenum" 5325 | version = "1.18.0" 5326 | source = "registry+https://github.com/rust-lang/crates.io-index" 5327 | checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" 5328 | 5329 | [[package]] 5330 | name = "ug" 5331 | version = "0.1.0" 5332 | source = "registry+https://github.com/rust-lang/crates.io-index" 5333 | checksum = "03719c61a91b51541f076dfdba45caacf750b230cefaa4b32d6f5411c3f7f437" 5334 | dependencies = [ 5335 | "gemm 0.18.2", 5336 | "half", 5337 | "libloading", 5338 | "memmap2", 5339 | "num", 5340 | "num-traits", 5341 | "num_cpus", 5342 | "rayon", 5343 | "safetensors", 5344 | "serde", 5345 | "thiserror 1.0.69", 5346 | "tracing", 5347 | "yoke 0.7.5", 5348 | ] 5349 | 5350 | [[package]] 5351 | name = "ug-metal" 5352 | version = "0.1.0" 5353 | source = "registry+https://github.com/rust-lang/crates.io-index" 5354 | checksum = "a02ddc17bf32f7dcaaf016b6735f7198082b82f122df7b3ca15d8ead5911ccef" 5355 | dependencies = [ 5356 | "half", 5357 | "metal 0.29.0", 5358 | "objc", 5359 | "serde", 5360 | "thiserror 1.0.69", 5361 | "ug", 5362 | ] 5363 | 5364 | [[package]] 5365 | name = "unicase" 5366 | version = "2.8.1" 5367 | source = "registry+https://github.com/rust-lang/crates.io-index" 5368 | checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" 5369 | 5370 | [[package]] 5371 | name = "unicode-ident" 5372 | version = "1.0.18" 5373 | source = "registry+https://github.com/rust-lang/crates.io-index" 5374 | checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 5375 | 5376 | [[package]] 5377 | name = "unicode-normalization-alignments" 5378 | version = "0.1.12" 5379 | source = "registry+https://github.com/rust-lang/crates.io-index" 5380 | checksum = "43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de" 5381 | dependencies = [ 5382 | "smallvec", 5383 | ] 5384 | 5385 | [[package]] 5386 | name = "unicode-segmentation" 5387 | version = "1.12.0" 5388 | source = "registry+https://github.com/rust-lang/crates.io-index" 5389 | checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 5390 | 5391 | [[package]] 5392 | name = "unicode-truncate" 5393 | version = "1.1.0" 5394 | source = "registry+https://github.com/rust-lang/crates.io-index" 5395 | checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" 5396 | dependencies = [ 5397 | "itertools 0.13.0", 5398 | "unicode-segmentation", 5399 | "unicode-width 0.1.14", 5400 | ] 5401 | 5402 | [[package]] 5403 | name = "unicode-width" 5404 | version = "0.1.14" 5405 | source = "registry+https://github.com/rust-lang/crates.io-index" 5406 | checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" 5407 | 5408 | [[package]] 5409 | name = "unicode-width" 5410 | version = "0.2.0" 5411 | source = "registry+https://github.com/rust-lang/crates.io-index" 5412 | checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" 5413 | 5414 | [[package]] 5415 | name = "unicode_categories" 5416 | version = "0.1.1" 5417 | source = "registry+https://github.com/rust-lang/crates.io-index" 5418 | checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" 5419 | 5420 | [[package]] 5421 | name = "untrusted" 5422 | version = "0.9.0" 5423 | source = "registry+https://github.com/rust-lang/crates.io-index" 5424 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 5425 | 5426 | [[package]] 5427 | name = "ureq" 5428 | version = "2.12.1" 5429 | source = "registry+https://github.com/rust-lang/crates.io-index" 5430 | checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" 5431 | dependencies = [ 5432 | "base64 0.22.1", 5433 | "flate2", 5434 | "log", 5435 | "native-tls", 5436 | "once_cell", 5437 | "rustls", 5438 | "rustls-pki-types", 5439 | "serde", 5440 | "serde_json", 5441 | "socks", 5442 | "url", 5443 | "webpki-roots 0.26.11", 5444 | ] 5445 | 5446 | [[package]] 5447 | name = "url" 5448 | version = "2.5.4" 5449 | source = "registry+https://github.com/rust-lang/crates.io-index" 5450 | checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" 5451 | dependencies = [ 5452 | "form_urlencoded", 5453 | "idna", 5454 | "percent-encoding", 5455 | ] 5456 | 5457 | [[package]] 5458 | name = "utf-8" 5459 | version = "0.7.6" 5460 | source = "registry+https://github.com/rust-lang/crates.io-index" 5461 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 5462 | 5463 | [[package]] 5464 | name = "utf8_iter" 5465 | version = "1.0.4" 5466 | source = "registry+https://github.com/rust-lang/crates.io-index" 5467 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 5468 | 5469 | [[package]] 5470 | name = "valuable" 5471 | version = "0.1.1" 5472 | source = "registry+https://github.com/rust-lang/crates.io-index" 5473 | checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 5474 | 5475 | [[package]] 5476 | name = "vcpkg" 5477 | version = "0.2.15" 5478 | source = "registry+https://github.com/rust-lang/crates.io-index" 5479 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 5480 | 5481 | [[package]] 5482 | name = "version_check" 5483 | version = "0.9.5" 5484 | source = "registry+https://github.com/rust-lang/crates.io-index" 5485 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 5486 | 5487 | [[package]] 5488 | name = "voice_activity_detector" 5489 | version = "0.1.1" 5490 | source = "registry+https://github.com/rust-lang/crates.io-index" 5491 | checksum = "83c59bade37f522e92ce257d0b3c889c8739b4dec00aac79ea4775cfd9afd10d" 5492 | dependencies = [ 5493 | "futures", 5494 | "ndarray", 5495 | "ort", 5496 | "pin-project", 5497 | "thiserror 1.0.69", 5498 | "typed-builder", 5499 | ] 5500 | 5501 | [[package]] 5502 | name = "walkdir" 5503 | version = "2.5.0" 5504 | source = "registry+https://github.com/rust-lang/crates.io-index" 5505 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 5506 | dependencies = [ 5507 | "same-file", 5508 | "winapi-util", 5509 | ] 5510 | 5511 | [[package]] 5512 | name = "want" 5513 | version = "0.3.1" 5514 | source = "registry+https://github.com/rust-lang/crates.io-index" 5515 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 5516 | dependencies = [ 5517 | "try-lock", 5518 | ] 5519 | 5520 | [[package]] 5521 | name = "wasi" 5522 | version = "0.9.0+wasi-snapshot-preview1" 5523 | source = "registry+https://github.com/rust-lang/crates.io-index" 5524 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 5525 | 5526 | [[package]] 5527 | name = "wasi" 5528 | version = "0.10.0+wasi-snapshot-preview1" 5529 | source = "registry+https://github.com/rust-lang/crates.io-index" 5530 | checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" 5531 | 5532 | [[package]] 5533 | name = "wasi" 5534 | version = "0.11.0+wasi-snapshot-preview1" 5535 | source = "registry+https://github.com/rust-lang/crates.io-index" 5536 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 5537 | 5538 | [[package]] 5539 | name = "wasi" 5540 | version = "0.14.2+wasi-0.2.4" 5541 | source = "registry+https://github.com/rust-lang/crates.io-index" 5542 | checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 5543 | dependencies = [ 5544 | "wit-bindgen-rt", 5545 | ] 5546 | 5547 | [[package]] 5548 | name = "wasm-bindgen" 5549 | version = "0.2.100" 5550 | source = "registry+https://github.com/rust-lang/crates.io-index" 5551 | checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 5552 | dependencies = [ 5553 | "cfg-if", 5554 | "once_cell", 5555 | "rustversion", 5556 | "wasm-bindgen-macro", 5557 | ] 5558 | 5559 | [[package]] 5560 | name = "wasm-bindgen-backend" 5561 | version = "0.2.100" 5562 | source = "registry+https://github.com/rust-lang/crates.io-index" 5563 | checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 5564 | dependencies = [ 5565 | "bumpalo", 5566 | "log", 5567 | "proc-macro2", 5568 | "quote", 5569 | "syn 2.0.101", 5570 | "wasm-bindgen-shared", 5571 | ] 5572 | 5573 | [[package]] 5574 | name = "wasm-bindgen-futures" 5575 | version = "0.4.50" 5576 | source = "registry+https://github.com/rust-lang/crates.io-index" 5577 | checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" 5578 | dependencies = [ 5579 | "cfg-if", 5580 | "js-sys", 5581 | "once_cell", 5582 | "wasm-bindgen", 5583 | "web-sys", 5584 | ] 5585 | 5586 | [[package]] 5587 | name = "wasm-bindgen-macro" 5588 | version = "0.2.100" 5589 | source = "registry+https://github.com/rust-lang/crates.io-index" 5590 | checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 5591 | dependencies = [ 5592 | "quote", 5593 | "wasm-bindgen-macro-support", 5594 | ] 5595 | 5596 | [[package]] 5597 | name = "wasm-bindgen-macro-support" 5598 | version = "0.2.100" 5599 | source = "registry+https://github.com/rust-lang/crates.io-index" 5600 | checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 5601 | dependencies = [ 5602 | "proc-macro2", 5603 | "quote", 5604 | "syn 2.0.101", 5605 | "wasm-bindgen-backend", 5606 | "wasm-bindgen-shared", 5607 | ] 5608 | 5609 | [[package]] 5610 | name = "wasm-bindgen-shared" 5611 | version = "0.2.100" 5612 | source = "registry+https://github.com/rust-lang/crates.io-index" 5613 | checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 5614 | dependencies = [ 5615 | "unicode-ident", 5616 | ] 5617 | 5618 | [[package]] 5619 | name = "wasm-streams" 5620 | version = "0.4.2" 5621 | source = "registry+https://github.com/rust-lang/crates.io-index" 5622 | checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" 5623 | dependencies = [ 5624 | "futures-util", 5625 | "js-sys", 5626 | "wasm-bindgen", 5627 | "wasm-bindgen-futures", 5628 | "web-sys", 5629 | ] 5630 | 5631 | [[package]] 5632 | name = "web-sys" 5633 | version = "0.3.77" 5634 | source = "registry+https://github.com/rust-lang/crates.io-index" 5635 | checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 5636 | dependencies = [ 5637 | "js-sys", 5638 | "wasm-bindgen", 5639 | ] 5640 | 5641 | [[package]] 5642 | name = "web-time" 5643 | version = "1.1.0" 5644 | source = "registry+https://github.com/rust-lang/crates.io-index" 5645 | checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 5646 | dependencies = [ 5647 | "js-sys", 5648 | "wasm-bindgen", 5649 | ] 5650 | 5651 | [[package]] 5652 | name = "webpki-roots" 5653 | version = "0.26.11" 5654 | source = "registry+https://github.com/rust-lang/crates.io-index" 5655 | checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" 5656 | dependencies = [ 5657 | "webpki-roots 1.0.0", 5658 | ] 5659 | 5660 | [[package]] 5661 | name = "webpki-roots" 5662 | version = "1.0.0" 5663 | source = "registry+https://github.com/rust-lang/crates.io-index" 5664 | checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" 5665 | dependencies = [ 5666 | "rustls-pki-types", 5667 | ] 5668 | 5669 | [[package]] 5670 | name = "weezl" 5671 | version = "0.1.8" 5672 | source = "registry+https://github.com/rust-lang/crates.io-index" 5673 | checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" 5674 | 5675 | [[package]] 5676 | name = "whatlang" 5677 | version = "0.16.4" 5678 | source = "registry+https://github.com/rust-lang/crates.io-index" 5679 | checksum = "471d1c1645d361eb782a1650b1786a8fb58dd625e681a04c09f5ff7c8764a7b0" 5680 | dependencies = [ 5681 | "hashbrown 0.14.5", 5682 | "once_cell", 5683 | ] 5684 | 5685 | [[package]] 5686 | name = "winapi" 5687 | version = "0.3.9" 5688 | source = "registry+https://github.com/rust-lang/crates.io-index" 5689 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 5690 | dependencies = [ 5691 | "winapi-i686-pc-windows-gnu", 5692 | "winapi-x86_64-pc-windows-gnu", 5693 | ] 5694 | 5695 | [[package]] 5696 | name = "winapi-i686-pc-windows-gnu" 5697 | version = "0.4.0" 5698 | source = "registry+https://github.com/rust-lang/crates.io-index" 5699 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 5700 | 5701 | [[package]] 5702 | name = "winapi-util" 5703 | version = "0.1.9" 5704 | source = "registry+https://github.com/rust-lang/crates.io-index" 5705 | checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 5706 | dependencies = [ 5707 | "windows-sys 0.59.0", 5708 | ] 5709 | 5710 | [[package]] 5711 | name = "winapi-x86_64-pc-windows-gnu" 5712 | version = "0.4.0" 5713 | source = "registry+https://github.com/rust-lang/crates.io-index" 5714 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 5715 | 5716 | [[package]] 5717 | name = "windows" 5718 | version = "0.54.0" 5719 | source = "registry+https://github.com/rust-lang/crates.io-index" 5720 | checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" 5721 | dependencies = [ 5722 | "windows-core 0.54.0", 5723 | "windows-targets 0.52.6", 5724 | ] 5725 | 5726 | [[package]] 5727 | name = "windows-core" 5728 | version = "0.54.0" 5729 | source = "registry+https://github.com/rust-lang/crates.io-index" 5730 | checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" 5731 | dependencies = [ 5732 | "windows-result 0.1.2", 5733 | "windows-targets 0.52.6", 5734 | ] 5735 | 5736 | [[package]] 5737 | name = "windows-core" 5738 | version = "0.61.1" 5739 | source = "registry+https://github.com/rust-lang/crates.io-index" 5740 | checksum = "46ec44dc15085cea82cf9c78f85a9114c463a369786585ad2882d1ff0b0acf40" 5741 | dependencies = [ 5742 | "windows-implement", 5743 | "windows-interface", 5744 | "windows-link", 5745 | "windows-result 0.3.3", 5746 | "windows-strings", 5747 | ] 5748 | 5749 | [[package]] 5750 | name = "windows-implement" 5751 | version = "0.60.0" 5752 | source = "registry+https://github.com/rust-lang/crates.io-index" 5753 | checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" 5754 | dependencies = [ 5755 | "proc-macro2", 5756 | "quote", 5757 | "syn 2.0.101", 5758 | ] 5759 | 5760 | [[package]] 5761 | name = "windows-interface" 5762 | version = "0.59.1" 5763 | source = "registry+https://github.com/rust-lang/crates.io-index" 5764 | checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" 5765 | dependencies = [ 5766 | "proc-macro2", 5767 | "quote", 5768 | "syn 2.0.101", 5769 | ] 5770 | 5771 | [[package]] 5772 | name = "windows-link" 5773 | version = "0.1.1" 5774 | source = "registry+https://github.com/rust-lang/crates.io-index" 5775 | checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" 5776 | 5777 | [[package]] 5778 | name = "windows-result" 5779 | version = "0.1.2" 5780 | source = "registry+https://github.com/rust-lang/crates.io-index" 5781 | checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" 5782 | dependencies = [ 5783 | "windows-targets 0.52.6", 5784 | ] 5785 | 5786 | [[package]] 5787 | name = "windows-result" 5788 | version = "0.3.3" 5789 | source = "registry+https://github.com/rust-lang/crates.io-index" 5790 | checksum = "4b895b5356fc36103d0f64dd1e94dfa7ac5633f1c9dd6e80fe9ec4adef69e09d" 5791 | dependencies = [ 5792 | "windows-link", 5793 | ] 5794 | 5795 | [[package]] 5796 | name = "windows-strings" 5797 | version = "0.4.1" 5798 | source = "registry+https://github.com/rust-lang/crates.io-index" 5799 | checksum = "2a7ab927b2637c19b3dbe0965e75d8f2d30bdd697a1516191cad2ec4df8fb28a" 5800 | dependencies = [ 5801 | "windows-link", 5802 | ] 5803 | 5804 | [[package]] 5805 | name = "windows-sys" 5806 | version = "0.45.0" 5807 | source = "registry+https://github.com/rust-lang/crates.io-index" 5808 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 5809 | dependencies = [ 5810 | "windows-targets 0.42.2", 5811 | ] 5812 | 5813 | [[package]] 5814 | name = "windows-sys" 5815 | version = "0.48.0" 5816 | source = "registry+https://github.com/rust-lang/crates.io-index" 5817 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 5818 | dependencies = [ 5819 | "windows-targets 0.48.5", 5820 | ] 5821 | 5822 | [[package]] 5823 | name = "windows-sys" 5824 | version = "0.52.0" 5825 | source = "registry+https://github.com/rust-lang/crates.io-index" 5826 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 5827 | dependencies = [ 5828 | "windows-targets 0.52.6", 5829 | ] 5830 | 5831 | [[package]] 5832 | name = "windows-sys" 5833 | version = "0.59.0" 5834 | source = "registry+https://github.com/rust-lang/crates.io-index" 5835 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 5836 | dependencies = [ 5837 | "windows-targets 0.52.6", 5838 | ] 5839 | 5840 | [[package]] 5841 | name = "windows-targets" 5842 | version = "0.42.2" 5843 | source = "registry+https://github.com/rust-lang/crates.io-index" 5844 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 5845 | dependencies = [ 5846 | "windows_aarch64_gnullvm 0.42.2", 5847 | "windows_aarch64_msvc 0.42.2", 5848 | "windows_i686_gnu 0.42.2", 5849 | "windows_i686_msvc 0.42.2", 5850 | "windows_x86_64_gnu 0.42.2", 5851 | "windows_x86_64_gnullvm 0.42.2", 5852 | "windows_x86_64_msvc 0.42.2", 5853 | ] 5854 | 5855 | [[package]] 5856 | name = "windows-targets" 5857 | version = "0.48.5" 5858 | source = "registry+https://github.com/rust-lang/crates.io-index" 5859 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 5860 | dependencies = [ 5861 | "windows_aarch64_gnullvm 0.48.5", 5862 | "windows_aarch64_msvc 0.48.5", 5863 | "windows_i686_gnu 0.48.5", 5864 | "windows_i686_msvc 0.48.5", 5865 | "windows_x86_64_gnu 0.48.5", 5866 | "windows_x86_64_gnullvm 0.48.5", 5867 | "windows_x86_64_msvc 0.48.5", 5868 | ] 5869 | 5870 | [[package]] 5871 | name = "windows-targets" 5872 | version = "0.52.6" 5873 | source = "registry+https://github.com/rust-lang/crates.io-index" 5874 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 5875 | dependencies = [ 5876 | "windows_aarch64_gnullvm 0.52.6", 5877 | "windows_aarch64_msvc 0.52.6", 5878 | "windows_i686_gnu 0.52.6", 5879 | "windows_i686_gnullvm 0.52.6", 5880 | "windows_i686_msvc 0.52.6", 5881 | "windows_x86_64_gnu 0.52.6", 5882 | "windows_x86_64_gnullvm 0.52.6", 5883 | "windows_x86_64_msvc 0.52.6", 5884 | ] 5885 | 5886 | [[package]] 5887 | name = "windows-targets" 5888 | version = "0.53.0" 5889 | source = "registry+https://github.com/rust-lang/crates.io-index" 5890 | checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" 5891 | dependencies = [ 5892 | "windows_aarch64_gnullvm 0.53.0", 5893 | "windows_aarch64_msvc 0.53.0", 5894 | "windows_i686_gnu 0.53.0", 5895 | "windows_i686_gnullvm 0.53.0", 5896 | "windows_i686_msvc 0.53.0", 5897 | "windows_x86_64_gnu 0.53.0", 5898 | "windows_x86_64_gnullvm 0.53.0", 5899 | "windows_x86_64_msvc 0.53.0", 5900 | ] 5901 | 5902 | [[package]] 5903 | name = "windows_aarch64_gnullvm" 5904 | version = "0.42.2" 5905 | source = "registry+https://github.com/rust-lang/crates.io-index" 5906 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 5907 | 5908 | [[package]] 5909 | name = "windows_aarch64_gnullvm" 5910 | version = "0.48.5" 5911 | source = "registry+https://github.com/rust-lang/crates.io-index" 5912 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 5913 | 5914 | [[package]] 5915 | name = "windows_aarch64_gnullvm" 5916 | version = "0.52.6" 5917 | source = "registry+https://github.com/rust-lang/crates.io-index" 5918 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 5919 | 5920 | [[package]] 5921 | name = "windows_aarch64_gnullvm" 5922 | version = "0.53.0" 5923 | source = "registry+https://github.com/rust-lang/crates.io-index" 5924 | checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" 5925 | 5926 | [[package]] 5927 | name = "windows_aarch64_msvc" 5928 | version = "0.42.2" 5929 | source = "registry+https://github.com/rust-lang/crates.io-index" 5930 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 5931 | 5932 | [[package]] 5933 | name = "windows_aarch64_msvc" 5934 | version = "0.48.5" 5935 | source = "registry+https://github.com/rust-lang/crates.io-index" 5936 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 5937 | 5938 | [[package]] 5939 | name = "windows_aarch64_msvc" 5940 | version = "0.52.6" 5941 | source = "registry+https://github.com/rust-lang/crates.io-index" 5942 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 5943 | 5944 | [[package]] 5945 | name = "windows_aarch64_msvc" 5946 | version = "0.53.0" 5947 | source = "registry+https://github.com/rust-lang/crates.io-index" 5948 | checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" 5949 | 5950 | [[package]] 5951 | name = "windows_i686_gnu" 5952 | version = "0.42.2" 5953 | source = "registry+https://github.com/rust-lang/crates.io-index" 5954 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 5955 | 5956 | [[package]] 5957 | name = "windows_i686_gnu" 5958 | version = "0.48.5" 5959 | source = "registry+https://github.com/rust-lang/crates.io-index" 5960 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 5961 | 5962 | [[package]] 5963 | name = "windows_i686_gnu" 5964 | version = "0.52.6" 5965 | source = "registry+https://github.com/rust-lang/crates.io-index" 5966 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 5967 | 5968 | [[package]] 5969 | name = "windows_i686_gnu" 5970 | version = "0.53.0" 5971 | source = "registry+https://github.com/rust-lang/crates.io-index" 5972 | checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" 5973 | 5974 | [[package]] 5975 | name = "windows_i686_gnullvm" 5976 | version = "0.52.6" 5977 | source = "registry+https://github.com/rust-lang/crates.io-index" 5978 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 5979 | 5980 | [[package]] 5981 | name = "windows_i686_gnullvm" 5982 | version = "0.53.0" 5983 | source = "registry+https://github.com/rust-lang/crates.io-index" 5984 | checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" 5985 | 5986 | [[package]] 5987 | name = "windows_i686_msvc" 5988 | version = "0.42.2" 5989 | source = "registry+https://github.com/rust-lang/crates.io-index" 5990 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 5991 | 5992 | [[package]] 5993 | name = "windows_i686_msvc" 5994 | version = "0.48.5" 5995 | source = "registry+https://github.com/rust-lang/crates.io-index" 5996 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 5997 | 5998 | [[package]] 5999 | name = "windows_i686_msvc" 6000 | version = "0.52.6" 6001 | source = "registry+https://github.com/rust-lang/crates.io-index" 6002 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 6003 | 6004 | [[package]] 6005 | name = "windows_i686_msvc" 6006 | version = "0.53.0" 6007 | source = "registry+https://github.com/rust-lang/crates.io-index" 6008 | checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" 6009 | 6010 | [[package]] 6011 | name = "windows_x86_64_gnu" 6012 | version = "0.42.2" 6013 | source = "registry+https://github.com/rust-lang/crates.io-index" 6014 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 6015 | 6016 | [[package]] 6017 | name = "windows_x86_64_gnu" 6018 | version = "0.48.5" 6019 | source = "registry+https://github.com/rust-lang/crates.io-index" 6020 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 6021 | 6022 | [[package]] 6023 | name = "windows_x86_64_gnu" 6024 | version = "0.52.6" 6025 | source = "registry+https://github.com/rust-lang/crates.io-index" 6026 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 6027 | 6028 | [[package]] 6029 | name = "windows_x86_64_gnu" 6030 | version = "0.53.0" 6031 | source = "registry+https://github.com/rust-lang/crates.io-index" 6032 | checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" 6033 | 6034 | [[package]] 6035 | name = "windows_x86_64_gnullvm" 6036 | version = "0.42.2" 6037 | source = "registry+https://github.com/rust-lang/crates.io-index" 6038 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 6039 | 6040 | [[package]] 6041 | name = "windows_x86_64_gnullvm" 6042 | version = "0.48.5" 6043 | source = "registry+https://github.com/rust-lang/crates.io-index" 6044 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 6045 | 6046 | [[package]] 6047 | name = "windows_x86_64_gnullvm" 6048 | version = "0.52.6" 6049 | source = "registry+https://github.com/rust-lang/crates.io-index" 6050 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 6051 | 6052 | [[package]] 6053 | name = "windows_x86_64_gnullvm" 6054 | version = "0.53.0" 6055 | source = "registry+https://github.com/rust-lang/crates.io-index" 6056 | checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" 6057 | 6058 | [[package]] 6059 | name = "windows_x86_64_msvc" 6060 | version = "0.42.2" 6061 | source = "registry+https://github.com/rust-lang/crates.io-index" 6062 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 6063 | 6064 | [[package]] 6065 | name = "windows_x86_64_msvc" 6066 | version = "0.48.5" 6067 | source = "registry+https://github.com/rust-lang/crates.io-index" 6068 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 6069 | 6070 | [[package]] 6071 | name = "windows_x86_64_msvc" 6072 | version = "0.52.6" 6073 | source = "registry+https://github.com/rust-lang/crates.io-index" 6074 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 6075 | 6076 | [[package]] 6077 | name = "windows_x86_64_msvc" 6078 | version = "0.53.0" 6079 | source = "registry+https://github.com/rust-lang/crates.io-index" 6080 | checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" 6081 | 6082 | [[package]] 6083 | name = "winnow" 6084 | version = "0.7.10" 6085 | source = "registry+https://github.com/rust-lang/crates.io-index" 6086 | checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" 6087 | dependencies = [ 6088 | "memchr", 6089 | ] 6090 | 6091 | [[package]] 6092 | name = "winreg" 6093 | version = "0.50.0" 6094 | source = "registry+https://github.com/rust-lang/crates.io-index" 6095 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 6096 | dependencies = [ 6097 | "cfg-if", 6098 | "windows-sys 0.48.0", 6099 | ] 6100 | 6101 | [[package]] 6102 | name = "wit-bindgen-rt" 6103 | version = "0.39.0" 6104 | source = "registry+https://github.com/rust-lang/crates.io-index" 6105 | checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 6106 | dependencies = [ 6107 | "bitflags 2.9.1", 6108 | ] 6109 | 6110 | [[package]] 6111 | name = "writeable" 6112 | version = "0.6.1" 6113 | source = "registry+https://github.com/rust-lang/crates.io-index" 6114 | checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" 6115 | 6116 | [[package]] 6117 | name = "xattr" 6118 | version = "1.5.0" 6119 | source = "registry+https://github.com/rust-lang/crates.io-index" 6120 | checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" 6121 | dependencies = [ 6122 | "libc", 6123 | "rustix 1.0.7", 6124 | ] 6125 | 6126 | [[package]] 6127 | name = "xml-rs" 6128 | version = "0.8.26" 6129 | source = "registry+https://github.com/rust-lang/crates.io-index" 6130 | checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" 6131 | 6132 | [[package]] 6133 | name = "xml5ever" 6134 | version = "0.16.2" 6135 | source = "registry+https://github.com/rust-lang/crates.io-index" 6136 | checksum = "9234163818fd8e2418fcde330655e757900d4236acd8cc70fef345ef91f6d865" 6137 | dependencies = [ 6138 | "log", 6139 | "mac", 6140 | "markup5ever 0.10.1", 6141 | "time 0.1.45", 6142 | ] 6143 | 6144 | [[package]] 6145 | name = "yoke" 6146 | version = "0.7.5" 6147 | source = "registry+https://github.com/rust-lang/crates.io-index" 6148 | checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" 6149 | dependencies = [ 6150 | "serde", 6151 | "stable_deref_trait", 6152 | "yoke-derive 0.7.5", 6153 | "zerofrom", 6154 | ] 6155 | 6156 | [[package]] 6157 | name = "yoke" 6158 | version = "0.8.0" 6159 | source = "registry+https://github.com/rust-lang/crates.io-index" 6160 | checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" 6161 | dependencies = [ 6162 | "serde", 6163 | "stable_deref_trait", 6164 | "yoke-derive 0.8.0", 6165 | "zerofrom", 6166 | ] 6167 | 6168 | [[package]] 6169 | name = "yoke-derive" 6170 | version = "0.7.5" 6171 | source = "registry+https://github.com/rust-lang/crates.io-index" 6172 | checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" 6173 | dependencies = [ 6174 | "proc-macro2", 6175 | "quote", 6176 | "syn 2.0.101", 6177 | "synstructure", 6178 | ] 6179 | 6180 | [[package]] 6181 | name = "yoke-derive" 6182 | version = "0.8.0" 6183 | source = "registry+https://github.com/rust-lang/crates.io-index" 6184 | checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" 6185 | dependencies = [ 6186 | "proc-macro2", 6187 | "quote", 6188 | "syn 2.0.101", 6189 | "synstructure", 6190 | ] 6191 | 6192 | [[package]] 6193 | name = "zerocopy" 6194 | version = "0.8.25" 6195 | source = "registry+https://github.com/rust-lang/crates.io-index" 6196 | checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" 6197 | dependencies = [ 6198 | "zerocopy-derive", 6199 | ] 6200 | 6201 | [[package]] 6202 | name = "zerocopy-derive" 6203 | version = "0.8.25" 6204 | source = "registry+https://github.com/rust-lang/crates.io-index" 6205 | checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" 6206 | dependencies = [ 6207 | "proc-macro2", 6208 | "quote", 6209 | "syn 2.0.101", 6210 | ] 6211 | 6212 | [[package]] 6213 | name = "zerofrom" 6214 | version = "0.1.6" 6215 | source = "registry+https://github.com/rust-lang/crates.io-index" 6216 | checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 6217 | dependencies = [ 6218 | "zerofrom-derive", 6219 | ] 6220 | 6221 | [[package]] 6222 | name = "zerofrom-derive" 6223 | version = "0.1.6" 6224 | source = "registry+https://github.com/rust-lang/crates.io-index" 6225 | checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 6226 | dependencies = [ 6227 | "proc-macro2", 6228 | "quote", 6229 | "syn 2.0.101", 6230 | "synstructure", 6231 | ] 6232 | 6233 | [[package]] 6234 | name = "zeroize" 6235 | version = "1.8.1" 6236 | source = "registry+https://github.com/rust-lang/crates.io-index" 6237 | checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 6238 | 6239 | [[package]] 6240 | name = "zerotrie" 6241 | version = "0.2.2" 6242 | source = "registry+https://github.com/rust-lang/crates.io-index" 6243 | checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" 6244 | dependencies = [ 6245 | "displaydoc", 6246 | "yoke 0.8.0", 6247 | "zerofrom", 6248 | ] 6249 | 6250 | [[package]] 6251 | name = "zerovec" 6252 | version = "0.11.2" 6253 | source = "registry+https://github.com/rust-lang/crates.io-index" 6254 | checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" 6255 | dependencies = [ 6256 | "yoke 0.8.0", 6257 | "zerofrom", 6258 | "zerovec-derive", 6259 | ] 6260 | 6261 | [[package]] 6262 | name = "zerovec-derive" 6263 | version = "0.11.1" 6264 | source = "registry+https://github.com/rust-lang/crates.io-index" 6265 | checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" 6266 | dependencies = [ 6267 | "proc-macro2", 6268 | "quote", 6269 | "syn 2.0.101", 6270 | ] 6271 | 6272 | [[package]] 6273 | name = "zip" 6274 | version = "0.6.6" 6275 | source = "registry+https://github.com/rust-lang/crates.io-index" 6276 | checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" 6277 | dependencies = [ 6278 | "byteorder", 6279 | "crc32fast", 6280 | "crossbeam-utils", 6281 | "flate2", 6282 | ] 6283 | 6284 | [[package]] 6285 | name = "zip" 6286 | version = "1.1.4" 6287 | source = "registry+https://github.com/rust-lang/crates.io-index" 6288 | checksum = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164" 6289 | dependencies = [ 6290 | "arbitrary", 6291 | "crc32fast", 6292 | "crossbeam-utils", 6293 | "displaydoc", 6294 | "indexmap 2.9.0", 6295 | "num_enum", 6296 | "thiserror 1.0.69", 6297 | ] 6298 | 6299 | [[package]] 6300 | name = "zune-inflate" 6301 | version = "0.2.54" 6302 | source = "registry+https://github.com/rust-lang/crates.io-index" 6303 | checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" 6304 | dependencies = [ 6305 | "simd-adler32", 6306 | ] 6307 | --------------------------------------------------------------------------------