├── .gitignore ├── .gitattributes ├── .github ├── workflows │ ├── test.yml │ ├── check.yml │ └── release.yml └── dependabot.yml ├── examples ├── demo.tape └── demo.rs ├── Cargo.toml ├── LICENSE-MIT ├── CHANGELOG.md ├── README.md ├── src └── lib.rs ├── LICENSE-APACHE └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.gif filter=lfs diff=lfs merge=lfs -text 2 | *.png filter=lfs diff=lfs merge=lfs -text 3 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | 9 | jobs: 10 | test: 11 | uses: joshka/github-workflows/.github/workflows/rust-test.yml@main 12 | secrets: 13 | CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} 14 | -------------------------------------------------------------------------------- /.github/workflows/check.yml: -------------------------------------------------------------------------------- 1 | name: Check 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | jobs: 9 | check: 10 | permissions: 11 | checks: write 12 | uses: joshka/github-workflows/.github/workflows/rust-check.yml@main 13 | with: 14 | msrv: 1.85.0 15 | -------------------------------------------------------------------------------- /examples/demo.tape: -------------------------------------------------------------------------------- 1 | # This is a vhs script. See https://github.com/charmbracelet/vhs for more info. 2 | # To run this script, install vhs and run `vhs ./examples/barchart.tape` 3 | Output "target/demo.gif" 4 | Set Theme "Aardvark Blue" 5 | Set Width 1200 6 | Set Height 600 7 | Hide 8 | Type "cargo run --example=demo --release" 9 | Enter 10 | Sleep 1s 11 | Show 12 | Sleep 10s 13 | Hide 14 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "tui-equalizer" 3 | description = "An equalizer widget for Ratatui with multiple frequency bands." 4 | version = "0.2.0-alpha" 5 | rust-version = "1.85.0" 6 | edition = "2024" 7 | license = "MIT OR Apache-2.0" 8 | repository = "https://github.com/joshka/tui-equalizer" 9 | documentation = "https://docs.rs/tui-equalizer" 10 | 11 | [dependencies] 12 | derive_builder = "0.20" 13 | ratatui-core = { version = "0.1.0-alpha", default-features = false } 14 | 15 | [dev-dependencies] 16 | color-eyre = "0.6" 17 | crossterm = "0.29" 18 | itertools = "0.14" 19 | rand = "0.9" 20 | ratatui = "0.30.0-alpha" 21 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "github-actions" 9 | directory: "/" 10 | schedule: 11 | interval: "weekly" 12 | - package-ecosystem: "cargo" # See documentation for possible values 13 | directory: "/" # Location of package manifests 14 | schedule: 15 | interval: "weekly" 16 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | # see https://release-plz.ieni.dev/docs/github for more information 2 | 3 | name: Release 4 | 5 | permissions: 6 | pull-requests: write 7 | contents: write 8 | 9 | on: 10 | push: 11 | branches: 12 | - main 13 | workflow_dispatch: 14 | 15 | jobs: 16 | release-plz: 17 | name: Release-plz 18 | runs-on: ubuntu-latest 19 | steps: 20 | - uses: actions/checkout@v5 21 | with: 22 | fetch-depth: 0 23 | - uses: dtolnay/rust-toolchain@stable 24 | - uses: MarcoIeni/release-plz-action@v0.5 25 | env: 26 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 27 | CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} 28 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | # MIT License 2 | 3 | Copyright (c) Josh McKinney 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 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | ## [Unreleased] 9 | 10 | ## [0.2.0-alpha](https://github.com/joshka/tui-equalizer/compare/v0.1.2...v0.2.0-alpha) - 2025-07-12 11 | 12 | ### Other 13 | 14 | - update to ratatui 0.30 alpha and crossterm 0.29 ([#10](https://github.com/joshka/tui-equalizer/pull/10)) 15 | - use minor versions in Cargo.toml ([#9](https://github.com/joshka/tui-equalizer/pull/9)) 16 | - add demo.tape vhs file 17 | - *(deps)* bump rand from 0.9.0 to 0.9.1 ([#5](https://github.com/joshka/tui-equalizer/pull/5)) 18 | 19 | ## [0.1.2](https://github.com/joshka/tui-equalizer/compare/v0.1.1...v0.1.2) - 2025-02-11 20 | 21 | ### Other 22 | 23 | - add clone trait to equalizer ([#2](https://github.com/joshka/tui-equalizer/pull/2)) 24 | 25 | ## [0.1.1](https://github.com/joshka/tui-equalizer/compare/v0.1.0...v0.1.1) - 2025-02-11 26 | 27 | ### Other 28 | 29 | - fix examples 30 | - add repo and docs link 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tui-equalizer 2 | 3 | 4 | 5 | An equalizer widget for [Ratatui] with multiple frequency bands. 6 | 7 | The equalizer is a vertical bar chart where each band represents a frequency range. Each band 8 | can display a value from 0.0 to 1.0, where 1.0 is the maximum value. 9 | 10 | ![Made with VHS](https://vhs.charm.sh/vhs-FiRQkkDAUEnH2BrPbUx5i.gif) 11 | 12 | This demo can be found in the examples folder in the git repo. 13 | 14 | ```shell 15 | cargo run --example demo 16 | ``` 17 | 18 | Inspired by [a comment in the ratatui 19 | repo](https://github.com/ratatui/ratatui/issues/1325#issuecomment-2335095486). 20 | 21 | ## Example 22 | 23 | ```rust 24 | use tui_equalizer::{Band, Equalizer}; 25 | 26 | let equalizer = Equalizer { 27 | bands: vec![ 28 | Band::from(0.5), 29 | Band::from(0.8), 30 | Band::from(0.3), 31 | ], 32 | brightness: 1.0, 33 | }; 34 | equalizer.render(area, &mut buf); 35 | ``` 36 | 37 | ## License 38 | 39 | Copyright (c) Josh McKinney 40 | 41 | This project is licensed under either of: 42 | 43 | - Apache License, Version 2.0 ([LICENSE-APACHE] or ) 44 | - MIT license ([LICENSE-MIT] or ) 45 | 46 | at your option. 47 | 48 | [LICENSE-APACHE]: ./LICENSE-APACHE 49 | [LICENSE-MIT]: ./LICENSE-MIT 50 | 51 | 52 | [Ratatui]: https://crates.io/crates/ratatui 53 | 54 | 55 | -------------------------------------------------------------------------------- /examples/demo.rs: -------------------------------------------------------------------------------- 1 | use std::time::{Duration, Instant}; 2 | 3 | use color_eyre::Result; 4 | use crossterm::event::{self, KeyCode}; 5 | use itertools::Itertools; 6 | use rand::{Rng, rng}; 7 | use ratatui::{DefaultTerminal, Frame}; 8 | use tui_equalizer::{Band, Equalizer}; 9 | 10 | const FRAMES_PER_SECOND: f64 = 60.0; 11 | 12 | // How often to randomly update the equalizer bands 13 | const UPDATE_INTERVAL: Duration = Duration::from_millis(500); 14 | 15 | fn main() -> Result<()> { 16 | color_eyre::install()?; 17 | ratatui::run(run) 18 | } 19 | 20 | fn run(terminal: &mut DefaultTerminal) -> Result<()> { 21 | let width = terminal.size()?.width; 22 | let mut current_bands = random_bands(width); 23 | let mut next_bands = random_bands(width); 24 | let mut last_time = Instant::now(); 25 | loop { 26 | let percent = last_time.elapsed().as_secs_f64() / UPDATE_INTERVAL.as_secs_f64(); 27 | let interpolated = interpolate(¤t_bands, &next_bands, percent); 28 | if percent >= 1.0 { 29 | // Update the bands every 500ms 30 | last_time = Instant::now(); 31 | current_bands = interpolated.clone(); 32 | next_bands = random_bands(width); 33 | } 34 | terminal.draw(|frame| render(frame, ¤t_bands, &interpolated))?; 35 | if handle_input()? == Command::Quit { 36 | break Ok(()); 37 | } 38 | } 39 | } 40 | 41 | fn interpolate(current: &[Band], next: &[Band], percent: f64) -> Vec { 42 | current 43 | .iter() 44 | .zip(next.iter()) 45 | .map(|(current, next)| Band { 46 | value: current.value + (next.value - current.value) * percent.clamp(0.0, 1.0), 47 | }) 48 | .collect_vec() 49 | } 50 | 51 | fn random_bands(count: u16) -> Vec { 52 | (0..count / 2) 53 | .map(|_| Band::from(rng().random_range(0.1..1.0))) 54 | .collect_vec() 55 | } 56 | 57 | fn render(frame: &mut Frame, current: &[Band], bands: &[Band]) { 58 | let size = frame.area(); 59 | frame.render_widget( 60 | Equalizer { 61 | bands: current.to_vec(), 62 | brightness: 0.15, 63 | }, 64 | size, 65 | ); 66 | frame.render_widget( 67 | Equalizer { 68 | bands: bands.to_vec(), 69 | brightness: 1.0, 70 | }, 71 | size, 72 | ); 73 | } 74 | 75 | #[derive(Debug, Clone, PartialEq, Eq)] 76 | enum Command { 77 | Noop, 78 | Quit, 79 | } 80 | 81 | fn handle_input() -> Result { 82 | if !event::poll(Duration::from_secs_f64(1.0 / FRAMES_PER_SECOND))? { 83 | return Ok(Command::Noop); 84 | } 85 | if let Some(key) = event::read()?.as_key_press_event() { 86 | return match key.code { 87 | KeyCode::Char('q') => Ok(Command::Quit), 88 | _ => Ok(Command::Noop), 89 | }; 90 | } 91 | Ok(Command::Noop) 92 | } 93 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | //! An equalizer widget for [Ratatui] with multiple frequency bands. 2 | //! 3 | //! The equalizer is a vertical bar chart where each band represents a frequency range. Each band 4 | //! can display a value from 0.0 to 1.0, where 1.0 is the maximum value. 5 | //! 6 | //! ![Made with VHS](https://vhs.charm.sh/vhs-FiRQkkDAUEnH2BrPbUx5i.gif) 7 | //! 8 | //! This demo can be found in the examples folder in the git repo. 9 | //! 10 | //! ```shell 11 | //! cargo run --example demo 12 | //! ``` 13 | //! 14 | //! Inspired by [a comment in the ratatui 15 | //! repo](https://github.com/ratatui/ratatui/issues/1325#issuecomment-2335095486). 16 | //! 17 | //! # Example 18 | //! 19 | //! ```rust 20 | //! # use ratatui::{widgets::Widget, layout::Rect, buffer::Buffer}; 21 | //! # let area = Rect::default(); 22 | //! # let mut buf = Buffer::empty(area); 23 | //! use tui_equalizer::{Band, Equalizer}; 24 | //! 25 | //! let equalizer = Equalizer { 26 | //! bands: vec![ 27 | //! Band::from(0.5), 28 | //! Band::from(0.8), 29 | //! Band::from(0.3), 30 | //! ], 31 | //! brightness: 1.0, 32 | //! }; 33 | //! equalizer.render(area, &mut buf); 34 | //! ``` 35 | //! 36 | //! # License 37 | //! 38 | //! Copyright (c) Josh McKinney 39 | //! 40 | //! This project is licensed under either of: 41 | //! 42 | //! - Apache License, Version 2.0 ([LICENSE-APACHE] or ) 43 | //! - MIT license ([LICENSE-MIT] or ) 44 | //! 45 | //! at your option. 46 | //! 47 | //! [LICENSE-APACHE]: ./LICENSE-APACHE 48 | //! [LICENSE-MIT]: ./LICENSE-MIT 49 | //! 50 | //! 51 | //! [Ratatui]: https://crates.io/crates/ratatui 52 | 53 | use std::iter::zip; 54 | 55 | use ratatui_core::{ 56 | buffer::Buffer, 57 | layout::{Constraint, Layout, Rect}, 58 | style::Color, 59 | symbols, 60 | widgets::Widget, 61 | }; 62 | 63 | /// An equalizer widget with multiple frequency bands. 64 | /// 65 | /// The equalizer is a vertical bar chart where each band represents a frequency range. 66 | /// 67 | /// # Example 68 | /// 69 | /// ``` 70 | /// # use ratatui::widgets::Widget; 71 | /// # let area = ratatui::layout::Rect::default(); 72 | /// # let mut buf = ratatui::buffer::Buffer::empty(area); 73 | /// use tui_equalizer::{Band, Equalizer}; 74 | /// 75 | /// let equalizer = Equalizer { 76 | /// bands: vec![ 77 | /// Band::from(0.5), 78 | /// Band::from(0.8), 79 | /// Band::from(0.3), 80 | /// ], 81 | /// brightness: 1.0, 82 | /// }; 83 | /// equalizer.render(area, &mut buf); 84 | /// ``` 85 | #[derive(Debug, Clone)] 86 | pub struct Equalizer { 87 | /// A vector of `Band` structs representing each frequency band. 88 | pub bands: Vec, 89 | pub brightness: f64, 90 | } 91 | 92 | /// A struct representing a single frequency band in the equalizer. 93 | #[derive(Debug, Clone)] 94 | pub struct Band { 95 | /// The normalized value of the band, where the maximum is 1.0. 96 | pub value: f64, 97 | } 98 | 99 | impl From for Band { 100 | fn from(value: f64) -> Self { 101 | Self { value } 102 | } 103 | } 104 | 105 | impl Widget for Equalizer { 106 | fn render(self, area: Rect, buf: &mut Buffer) { 107 | let areas = Layout::horizontal(vec![Constraint::Length(2); self.bands.len()]).split(area); 108 | for (band, area) in zip(self.bands, areas.iter()) { 109 | band.render(*area, buf, self.brightness); 110 | } 111 | } 112 | } 113 | 114 | impl Band { 115 | fn render(self, area: Rect, buf: &mut Buffer, brightness: f64) { 116 | let value = self.value.clamp(0.0, 1.0); 117 | let height = (value * area.height as f64) as u16; 118 | 119 | // Calculate the color gradient step 120 | let color_step = 1.0 / area.height as f64; 121 | 122 | // Iterate over each segment and render it with the corresponding color 123 | for i in 0..height { 124 | // Green to Yellow to Red gradient 125 | let v = i as f64 * color_step; 126 | let vv = 1.0 - v; 127 | let br = brightness.clamp(0.0, 1.0) * 255.0; 128 | let r = if v < 0.5 { v * 2.0 * br } else { br } as u8; 129 | let g = if v < 0.5 { br } else { vv * 2.0 * br } as u8; 130 | let b = 0; 131 | let color = Color::Rgb(r, g, b); 132 | buf[(area.left(), area.bottom().saturating_sub(i + 1))] 133 | .set_fg(color) 134 | .set_symbol(symbols::bar::HALF); 135 | } 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 4 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.24.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler2" 16 | version = "2.0.1" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.1.3" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "allocator-api2" 31 | version = "0.2.21" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 34 | 35 | [[package]] 36 | name = "anyhow" 37 | version = "1.0.98" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" 40 | 41 | [[package]] 42 | name = "atomic" 43 | version = "0.6.1" 44 | source = "registry+https://github.com/rust-lang/crates.io-index" 45 | checksum = "a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340" 46 | dependencies = [ 47 | "bytemuck", 48 | ] 49 | 50 | [[package]] 51 | name = "autocfg" 52 | version = "1.5.0" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 55 | 56 | [[package]] 57 | name = "backtrace" 58 | version = "0.3.75" 59 | source = "registry+https://github.com/rust-lang/crates.io-index" 60 | checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" 61 | dependencies = [ 62 | "addr2line", 63 | "cfg-if", 64 | "libc", 65 | "miniz_oxide", 66 | "object", 67 | "rustc-demangle", 68 | "windows-targets 0.52.6", 69 | ] 70 | 71 | [[package]] 72 | name = "base64" 73 | version = "0.22.1" 74 | source = "registry+https://github.com/rust-lang/crates.io-index" 75 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 76 | 77 | [[package]] 78 | name = "bit-set" 79 | version = "0.5.3" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" 82 | dependencies = [ 83 | "bit-vec", 84 | ] 85 | 86 | [[package]] 87 | name = "bit-vec" 88 | version = "0.6.3" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" 91 | 92 | [[package]] 93 | name = "bitflags" 94 | version = "1.3.2" 95 | source = "registry+https://github.com/rust-lang/crates.io-index" 96 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 97 | 98 | [[package]] 99 | name = "bitflags" 100 | version = "2.9.1" 101 | source = "registry+https://github.com/rust-lang/crates.io-index" 102 | checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" 103 | 104 | [[package]] 105 | name = "block-buffer" 106 | version = "0.10.4" 107 | source = "registry+https://github.com/rust-lang/crates.io-index" 108 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 109 | dependencies = [ 110 | "generic-array", 111 | ] 112 | 113 | [[package]] 114 | name = "bumpalo" 115 | version = "3.19.0" 116 | source = "registry+https://github.com/rust-lang/crates.io-index" 117 | checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 118 | 119 | [[package]] 120 | name = "bytemuck" 121 | version = "1.23.1" 122 | source = "registry+https://github.com/rust-lang/crates.io-index" 123 | checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" 124 | 125 | [[package]] 126 | name = "castaway" 127 | version = "0.2.3" 128 | source = "registry+https://github.com/rust-lang/crates.io-index" 129 | checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" 130 | dependencies = [ 131 | "rustversion", 132 | ] 133 | 134 | [[package]] 135 | name = "cfg-if" 136 | version = "1.0.1" 137 | source = "registry+https://github.com/rust-lang/crates.io-index" 138 | checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" 139 | 140 | [[package]] 141 | name = "cfg_aliases" 142 | version = "0.2.1" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 145 | 146 | [[package]] 147 | name = "color-eyre" 148 | version = "0.6.5" 149 | source = "registry+https://github.com/rust-lang/crates.io-index" 150 | checksum = "e5920befb47832a6d61ee3a3a846565cfa39b331331e68a3b1d1116630f2f26d" 151 | dependencies = [ 152 | "backtrace", 153 | "color-spantrace", 154 | "eyre", 155 | "indenter", 156 | "once_cell", 157 | "owo-colors", 158 | "tracing-error", 159 | ] 160 | 161 | [[package]] 162 | name = "color-spantrace" 163 | version = "0.3.0" 164 | source = "registry+https://github.com/rust-lang/crates.io-index" 165 | checksum = "b8b88ea9df13354b55bc7234ebcce36e6ef896aca2e42a15de9e10edce01b427" 166 | dependencies = [ 167 | "once_cell", 168 | "owo-colors", 169 | "tracing-core", 170 | "tracing-error", 171 | ] 172 | 173 | [[package]] 174 | name = "compact_str" 175 | version = "0.9.0" 176 | source = "registry+https://github.com/rust-lang/crates.io-index" 177 | checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" 178 | dependencies = [ 179 | "castaway", 180 | "cfg-if", 181 | "itoa", 182 | "rustversion", 183 | "ryu", 184 | "static_assertions", 185 | ] 186 | 187 | [[package]] 188 | name = "convert_case" 189 | version = "0.7.1" 190 | source = "registry+https://github.com/rust-lang/crates.io-index" 191 | checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" 192 | dependencies = [ 193 | "unicode-segmentation", 194 | ] 195 | 196 | [[package]] 197 | name = "cpufeatures" 198 | version = "0.2.17" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 201 | dependencies = [ 202 | "libc", 203 | ] 204 | 205 | [[package]] 206 | name = "crossterm" 207 | version = "0.29.0" 208 | source = "registry+https://github.com/rust-lang/crates.io-index" 209 | checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" 210 | dependencies = [ 211 | "bitflags 2.9.1", 212 | "crossterm_winapi", 213 | "derive_more", 214 | "document-features", 215 | "mio", 216 | "parking_lot", 217 | "rustix", 218 | "signal-hook", 219 | "signal-hook-mio", 220 | "winapi", 221 | ] 222 | 223 | [[package]] 224 | name = "crossterm_winapi" 225 | version = "0.9.1" 226 | source = "registry+https://github.com/rust-lang/crates.io-index" 227 | checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" 228 | dependencies = [ 229 | "winapi", 230 | ] 231 | 232 | [[package]] 233 | name = "crypto-common" 234 | version = "0.1.6" 235 | source = "registry+https://github.com/rust-lang/crates.io-index" 236 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 237 | dependencies = [ 238 | "generic-array", 239 | "typenum", 240 | ] 241 | 242 | [[package]] 243 | name = "csscolorparser" 244 | version = "0.6.2" 245 | source = "registry+https://github.com/rust-lang/crates.io-index" 246 | checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf" 247 | dependencies = [ 248 | "lab", 249 | "phf", 250 | ] 251 | 252 | [[package]] 253 | name = "darling" 254 | version = "0.20.11" 255 | source = "registry+https://github.com/rust-lang/crates.io-index" 256 | checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" 257 | dependencies = [ 258 | "darling_core", 259 | "darling_macro", 260 | ] 261 | 262 | [[package]] 263 | name = "darling_core" 264 | version = "0.20.11" 265 | source = "registry+https://github.com/rust-lang/crates.io-index" 266 | checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" 267 | dependencies = [ 268 | "fnv", 269 | "ident_case", 270 | "proc-macro2", 271 | "quote", 272 | "strsim", 273 | "syn 2.0.104", 274 | ] 275 | 276 | [[package]] 277 | name = "darling_macro" 278 | version = "0.20.11" 279 | source = "registry+https://github.com/rust-lang/crates.io-index" 280 | checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" 281 | dependencies = [ 282 | "darling_core", 283 | "quote", 284 | "syn 2.0.104", 285 | ] 286 | 287 | [[package]] 288 | name = "deltae" 289 | version = "0.3.2" 290 | source = "registry+https://github.com/rust-lang/crates.io-index" 291 | checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4" 292 | 293 | [[package]] 294 | name = "deranged" 295 | version = "0.4.0" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" 298 | dependencies = [ 299 | "powerfmt", 300 | ] 301 | 302 | [[package]] 303 | name = "derive_builder" 304 | version = "0.20.2" 305 | source = "registry+https://github.com/rust-lang/crates.io-index" 306 | checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" 307 | dependencies = [ 308 | "derive_builder_macro", 309 | ] 310 | 311 | [[package]] 312 | name = "derive_builder_core" 313 | version = "0.20.2" 314 | source = "registry+https://github.com/rust-lang/crates.io-index" 315 | checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" 316 | dependencies = [ 317 | "darling", 318 | "proc-macro2", 319 | "quote", 320 | "syn 2.0.104", 321 | ] 322 | 323 | [[package]] 324 | name = "derive_builder_macro" 325 | version = "0.20.2" 326 | source = "registry+https://github.com/rust-lang/crates.io-index" 327 | checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" 328 | dependencies = [ 329 | "derive_builder_core", 330 | "syn 2.0.104", 331 | ] 332 | 333 | [[package]] 334 | name = "derive_more" 335 | version = "2.0.1" 336 | source = "registry+https://github.com/rust-lang/crates.io-index" 337 | checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" 338 | dependencies = [ 339 | "derive_more-impl", 340 | ] 341 | 342 | [[package]] 343 | name = "derive_more-impl" 344 | version = "2.0.1" 345 | source = "registry+https://github.com/rust-lang/crates.io-index" 346 | checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" 347 | dependencies = [ 348 | "convert_case", 349 | "proc-macro2", 350 | "quote", 351 | "syn 2.0.104", 352 | ] 353 | 354 | [[package]] 355 | name = "digest" 356 | version = "0.10.7" 357 | source = "registry+https://github.com/rust-lang/crates.io-index" 358 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 359 | dependencies = [ 360 | "block-buffer", 361 | "crypto-common", 362 | ] 363 | 364 | [[package]] 365 | name = "document-features" 366 | version = "0.2.11" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" 369 | dependencies = [ 370 | "litrs", 371 | ] 372 | 373 | [[package]] 374 | name = "either" 375 | version = "1.15.0" 376 | source = "registry+https://github.com/rust-lang/crates.io-index" 377 | checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 378 | 379 | [[package]] 380 | name = "equivalent" 381 | version = "1.0.2" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 384 | 385 | [[package]] 386 | name = "errno" 387 | version = "0.3.13" 388 | source = "registry+https://github.com/rust-lang/crates.io-index" 389 | checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" 390 | dependencies = [ 391 | "libc", 392 | "windows-sys 0.60.2", 393 | ] 394 | 395 | [[package]] 396 | name = "euclid" 397 | version = "0.22.11" 398 | source = "registry+https://github.com/rust-lang/crates.io-index" 399 | checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" 400 | dependencies = [ 401 | "num-traits", 402 | ] 403 | 404 | [[package]] 405 | name = "eyre" 406 | version = "0.6.12" 407 | source = "registry+https://github.com/rust-lang/crates.io-index" 408 | checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" 409 | dependencies = [ 410 | "indenter", 411 | "once_cell", 412 | ] 413 | 414 | [[package]] 415 | name = "fancy-regex" 416 | version = "0.11.0" 417 | source = "registry+https://github.com/rust-lang/crates.io-index" 418 | checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2" 419 | dependencies = [ 420 | "bit-set", 421 | "regex", 422 | ] 423 | 424 | [[package]] 425 | name = "filedescriptor" 426 | version = "0.8.3" 427 | source = "registry+https://github.com/rust-lang/crates.io-index" 428 | checksum = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" 429 | dependencies = [ 430 | "libc", 431 | "thiserror 1.0.69", 432 | "winapi", 433 | ] 434 | 435 | [[package]] 436 | name = "finl_unicode" 437 | version = "1.3.0" 438 | source = "registry+https://github.com/rust-lang/crates.io-index" 439 | checksum = "94c970b525906eb37d3940083aa65b95e481fc1857d467d13374e1d925cfc163" 440 | 441 | [[package]] 442 | name = "fixedbitset" 443 | version = "0.4.2" 444 | source = "registry+https://github.com/rust-lang/crates.io-index" 445 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 446 | 447 | [[package]] 448 | name = "fnv" 449 | version = "1.0.7" 450 | source = "registry+https://github.com/rust-lang/crates.io-index" 451 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 452 | 453 | [[package]] 454 | name = "foldhash" 455 | version = "0.1.5" 456 | source = "registry+https://github.com/rust-lang/crates.io-index" 457 | checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 458 | 459 | [[package]] 460 | name = "generic-array" 461 | version = "0.14.7" 462 | source = "registry+https://github.com/rust-lang/crates.io-index" 463 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 464 | dependencies = [ 465 | "typenum", 466 | "version_check", 467 | ] 468 | 469 | [[package]] 470 | name = "getrandom" 471 | version = "0.3.3" 472 | source = "registry+https://github.com/rust-lang/crates.io-index" 473 | checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 474 | dependencies = [ 475 | "cfg-if", 476 | "libc", 477 | "r-efi", 478 | "wasi 0.14.2+wasi-0.2.4", 479 | ] 480 | 481 | [[package]] 482 | name = "gimli" 483 | version = "0.31.1" 484 | source = "registry+https://github.com/rust-lang/crates.io-index" 485 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 486 | 487 | [[package]] 488 | name = "hashbrown" 489 | version = "0.15.4" 490 | source = "registry+https://github.com/rust-lang/crates.io-index" 491 | checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" 492 | dependencies = [ 493 | "allocator-api2", 494 | "equivalent", 495 | "foldhash", 496 | ] 497 | 498 | [[package]] 499 | name = "heck" 500 | version = "0.5.0" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 503 | 504 | [[package]] 505 | name = "hex" 506 | version = "0.4.3" 507 | source = "registry+https://github.com/rust-lang/crates.io-index" 508 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 509 | 510 | [[package]] 511 | name = "ident_case" 512 | version = "1.0.1" 513 | source = "registry+https://github.com/rust-lang/crates.io-index" 514 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 515 | 516 | [[package]] 517 | name = "indenter" 518 | version = "0.3.3" 519 | source = "registry+https://github.com/rust-lang/crates.io-index" 520 | checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" 521 | 522 | [[package]] 523 | name = "indoc" 524 | version = "2.0.6" 525 | source = "registry+https://github.com/rust-lang/crates.io-index" 526 | checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" 527 | 528 | [[package]] 529 | name = "instability" 530 | version = "0.3.7" 531 | source = "registry+https://github.com/rust-lang/crates.io-index" 532 | checksum = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" 533 | dependencies = [ 534 | "darling", 535 | "indoc", 536 | "proc-macro2", 537 | "quote", 538 | "syn 2.0.104", 539 | ] 540 | 541 | [[package]] 542 | name = "itertools" 543 | version = "0.13.0" 544 | source = "registry+https://github.com/rust-lang/crates.io-index" 545 | checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" 546 | dependencies = [ 547 | "either", 548 | ] 549 | 550 | [[package]] 551 | name = "itertools" 552 | version = "0.14.0" 553 | source = "registry+https://github.com/rust-lang/crates.io-index" 554 | checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" 555 | dependencies = [ 556 | "either", 557 | ] 558 | 559 | [[package]] 560 | name = "itoa" 561 | version = "1.0.15" 562 | source = "registry+https://github.com/rust-lang/crates.io-index" 563 | checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 564 | 565 | [[package]] 566 | name = "js-sys" 567 | version = "0.3.77" 568 | source = "registry+https://github.com/rust-lang/crates.io-index" 569 | checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 570 | dependencies = [ 571 | "once_cell", 572 | "wasm-bindgen", 573 | ] 574 | 575 | [[package]] 576 | name = "kasuari" 577 | version = "0.4.7" 578 | source = "registry+https://github.com/rust-lang/crates.io-index" 579 | checksum = "96d9e0d6a8bf886abccc1cbcac7d74f9000ae5882aedc4a9042188bbc9cd4487" 580 | dependencies = [ 581 | "hashbrown", 582 | "thiserror 2.0.12", 583 | ] 584 | 585 | [[package]] 586 | name = "lab" 587 | version = "0.11.0" 588 | source = "registry+https://github.com/rust-lang/crates.io-index" 589 | checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f" 590 | 591 | [[package]] 592 | name = "lazy_static" 593 | version = "1.5.0" 594 | source = "registry+https://github.com/rust-lang/crates.io-index" 595 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 596 | 597 | [[package]] 598 | name = "libc" 599 | version = "0.2.174" 600 | source = "registry+https://github.com/rust-lang/crates.io-index" 601 | checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" 602 | 603 | [[package]] 604 | name = "line-clipping" 605 | version = "0.3.3" 606 | source = "registry+https://github.com/rust-lang/crates.io-index" 607 | checksum = "51a1679740111eb63b7b4cb3c97b1d5d9f82e142292a25edcfdb4120a48b3880" 608 | dependencies = [ 609 | "bitflags 2.9.1", 610 | ] 611 | 612 | [[package]] 613 | name = "linux-raw-sys" 614 | version = "0.9.4" 615 | source = "registry+https://github.com/rust-lang/crates.io-index" 616 | checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" 617 | 618 | [[package]] 619 | name = "litrs" 620 | version = "0.4.1" 621 | source = "registry+https://github.com/rust-lang/crates.io-index" 622 | checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" 623 | 624 | [[package]] 625 | name = "lock_api" 626 | version = "0.4.13" 627 | source = "registry+https://github.com/rust-lang/crates.io-index" 628 | checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" 629 | dependencies = [ 630 | "autocfg", 631 | "scopeguard", 632 | ] 633 | 634 | [[package]] 635 | name = "log" 636 | version = "0.4.27" 637 | source = "registry+https://github.com/rust-lang/crates.io-index" 638 | checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 639 | 640 | [[package]] 641 | name = "lru" 642 | version = "0.14.0" 643 | source = "registry+https://github.com/rust-lang/crates.io-index" 644 | checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" 645 | dependencies = [ 646 | "hashbrown", 647 | ] 648 | 649 | [[package]] 650 | name = "mac_address" 651 | version = "1.1.8" 652 | source = "registry+https://github.com/rust-lang/crates.io-index" 653 | checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303" 654 | dependencies = [ 655 | "nix", 656 | "winapi", 657 | ] 658 | 659 | [[package]] 660 | name = "memchr" 661 | version = "2.7.5" 662 | source = "registry+https://github.com/rust-lang/crates.io-index" 663 | checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" 664 | 665 | [[package]] 666 | name = "memmem" 667 | version = "0.1.1" 668 | source = "registry+https://github.com/rust-lang/crates.io-index" 669 | checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" 670 | 671 | [[package]] 672 | name = "memoffset" 673 | version = "0.9.1" 674 | source = "registry+https://github.com/rust-lang/crates.io-index" 675 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" 676 | dependencies = [ 677 | "autocfg", 678 | ] 679 | 680 | [[package]] 681 | name = "minimal-lexical" 682 | version = "0.2.1" 683 | source = "registry+https://github.com/rust-lang/crates.io-index" 684 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 685 | 686 | [[package]] 687 | name = "miniz_oxide" 688 | version = "0.8.9" 689 | source = "registry+https://github.com/rust-lang/crates.io-index" 690 | checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 691 | dependencies = [ 692 | "adler2", 693 | ] 694 | 695 | [[package]] 696 | name = "mio" 697 | version = "1.0.4" 698 | source = "registry+https://github.com/rust-lang/crates.io-index" 699 | checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 700 | dependencies = [ 701 | "libc", 702 | "log", 703 | "wasi 0.11.1+wasi-snapshot-preview1", 704 | "windows-sys 0.59.0", 705 | ] 706 | 707 | [[package]] 708 | name = "nix" 709 | version = "0.29.0" 710 | source = "registry+https://github.com/rust-lang/crates.io-index" 711 | checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" 712 | dependencies = [ 713 | "bitflags 2.9.1", 714 | "cfg-if", 715 | "cfg_aliases", 716 | "libc", 717 | "memoffset", 718 | ] 719 | 720 | [[package]] 721 | name = "nom" 722 | version = "7.1.3" 723 | source = "registry+https://github.com/rust-lang/crates.io-index" 724 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 725 | dependencies = [ 726 | "memchr", 727 | "minimal-lexical", 728 | ] 729 | 730 | [[package]] 731 | name = "num-conv" 732 | version = "0.1.0" 733 | source = "registry+https://github.com/rust-lang/crates.io-index" 734 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 735 | 736 | [[package]] 737 | name = "num-derive" 738 | version = "0.4.2" 739 | source = "registry+https://github.com/rust-lang/crates.io-index" 740 | checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" 741 | dependencies = [ 742 | "proc-macro2", 743 | "quote", 744 | "syn 2.0.104", 745 | ] 746 | 747 | [[package]] 748 | name = "num-traits" 749 | version = "0.2.19" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 752 | dependencies = [ 753 | "autocfg", 754 | ] 755 | 756 | [[package]] 757 | name = "num_threads" 758 | version = "0.1.7" 759 | source = "registry+https://github.com/rust-lang/crates.io-index" 760 | checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" 761 | dependencies = [ 762 | "libc", 763 | ] 764 | 765 | [[package]] 766 | name = "object" 767 | version = "0.36.7" 768 | source = "registry+https://github.com/rust-lang/crates.io-index" 769 | checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 770 | dependencies = [ 771 | "memchr", 772 | ] 773 | 774 | [[package]] 775 | name = "once_cell" 776 | version = "1.21.3" 777 | source = "registry+https://github.com/rust-lang/crates.io-index" 778 | checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 779 | 780 | [[package]] 781 | name = "ordered-float" 782 | version = "4.6.0" 783 | source = "registry+https://github.com/rust-lang/crates.io-index" 784 | checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" 785 | dependencies = [ 786 | "num-traits", 787 | ] 788 | 789 | [[package]] 790 | name = "owo-colors" 791 | version = "4.2.2" 792 | source = "registry+https://github.com/rust-lang/crates.io-index" 793 | checksum = "48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e" 794 | 795 | [[package]] 796 | name = "parking_lot" 797 | version = "0.12.4" 798 | source = "registry+https://github.com/rust-lang/crates.io-index" 799 | checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" 800 | dependencies = [ 801 | "lock_api", 802 | "parking_lot_core", 803 | ] 804 | 805 | [[package]] 806 | name = "parking_lot_core" 807 | version = "0.9.11" 808 | source = "registry+https://github.com/rust-lang/crates.io-index" 809 | checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" 810 | dependencies = [ 811 | "cfg-if", 812 | "libc", 813 | "redox_syscall", 814 | "smallvec", 815 | "windows-targets 0.52.6", 816 | ] 817 | 818 | [[package]] 819 | name = "pest" 820 | version = "2.8.1" 821 | source = "registry+https://github.com/rust-lang/crates.io-index" 822 | checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" 823 | dependencies = [ 824 | "memchr", 825 | "thiserror 2.0.12", 826 | "ucd-trie", 827 | ] 828 | 829 | [[package]] 830 | name = "pest_derive" 831 | version = "2.8.1" 832 | source = "registry+https://github.com/rust-lang/crates.io-index" 833 | checksum = "bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc" 834 | dependencies = [ 835 | "pest", 836 | "pest_generator", 837 | ] 838 | 839 | [[package]] 840 | name = "pest_generator" 841 | version = "2.8.1" 842 | source = "registry+https://github.com/rust-lang/crates.io-index" 843 | checksum = "87e404e638f781eb3202dc82db6760c8ae8a1eeef7fb3fa8264b2ef280504966" 844 | dependencies = [ 845 | "pest", 846 | "pest_meta", 847 | "proc-macro2", 848 | "quote", 849 | "syn 2.0.104", 850 | ] 851 | 852 | [[package]] 853 | name = "pest_meta" 854 | version = "2.8.1" 855 | source = "registry+https://github.com/rust-lang/crates.io-index" 856 | checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" 857 | dependencies = [ 858 | "pest", 859 | "sha2", 860 | ] 861 | 862 | [[package]] 863 | name = "phf" 864 | version = "0.11.3" 865 | source = "registry+https://github.com/rust-lang/crates.io-index" 866 | checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" 867 | dependencies = [ 868 | "phf_macros", 869 | "phf_shared", 870 | ] 871 | 872 | [[package]] 873 | name = "phf_codegen" 874 | version = "0.11.3" 875 | source = "registry+https://github.com/rust-lang/crates.io-index" 876 | checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" 877 | dependencies = [ 878 | "phf_generator", 879 | "phf_shared", 880 | ] 881 | 882 | [[package]] 883 | name = "phf_generator" 884 | version = "0.11.3" 885 | source = "registry+https://github.com/rust-lang/crates.io-index" 886 | checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" 887 | dependencies = [ 888 | "phf_shared", 889 | "rand 0.8.5", 890 | ] 891 | 892 | [[package]] 893 | name = "phf_macros" 894 | version = "0.11.3" 895 | source = "registry+https://github.com/rust-lang/crates.io-index" 896 | checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" 897 | dependencies = [ 898 | "phf_generator", 899 | "phf_shared", 900 | "proc-macro2", 901 | "quote", 902 | "syn 2.0.104", 903 | ] 904 | 905 | [[package]] 906 | name = "phf_shared" 907 | version = "0.11.3" 908 | source = "registry+https://github.com/rust-lang/crates.io-index" 909 | checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" 910 | dependencies = [ 911 | "siphasher", 912 | ] 913 | 914 | [[package]] 915 | name = "pin-project-lite" 916 | version = "0.2.16" 917 | source = "registry+https://github.com/rust-lang/crates.io-index" 918 | checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 919 | 920 | [[package]] 921 | name = "powerfmt" 922 | version = "0.2.0" 923 | source = "registry+https://github.com/rust-lang/crates.io-index" 924 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 925 | 926 | [[package]] 927 | name = "ppv-lite86" 928 | version = "0.2.21" 929 | source = "registry+https://github.com/rust-lang/crates.io-index" 930 | checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 931 | dependencies = [ 932 | "zerocopy", 933 | ] 934 | 935 | [[package]] 936 | name = "proc-macro2" 937 | version = "1.0.95" 938 | source = "registry+https://github.com/rust-lang/crates.io-index" 939 | checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" 940 | dependencies = [ 941 | "unicode-ident", 942 | ] 943 | 944 | [[package]] 945 | name = "quote" 946 | version = "1.0.40" 947 | source = "registry+https://github.com/rust-lang/crates.io-index" 948 | checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 949 | dependencies = [ 950 | "proc-macro2", 951 | ] 952 | 953 | [[package]] 954 | name = "r-efi" 955 | version = "5.3.0" 956 | source = "registry+https://github.com/rust-lang/crates.io-index" 957 | checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 958 | 959 | [[package]] 960 | name = "rand" 961 | version = "0.8.5" 962 | source = "registry+https://github.com/rust-lang/crates.io-index" 963 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 964 | dependencies = [ 965 | "rand_core 0.6.4", 966 | ] 967 | 968 | [[package]] 969 | name = "rand" 970 | version = "0.9.2" 971 | source = "registry+https://github.com/rust-lang/crates.io-index" 972 | checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" 973 | dependencies = [ 974 | "rand_chacha", 975 | "rand_core 0.9.3", 976 | ] 977 | 978 | [[package]] 979 | name = "rand_chacha" 980 | version = "0.9.0" 981 | source = "registry+https://github.com/rust-lang/crates.io-index" 982 | checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 983 | dependencies = [ 984 | "ppv-lite86", 985 | "rand_core 0.9.3", 986 | ] 987 | 988 | [[package]] 989 | name = "rand_core" 990 | version = "0.6.4" 991 | source = "registry+https://github.com/rust-lang/crates.io-index" 992 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 993 | 994 | [[package]] 995 | name = "rand_core" 996 | version = "0.9.3" 997 | source = "registry+https://github.com/rust-lang/crates.io-index" 998 | checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" 999 | dependencies = [ 1000 | "getrandom", 1001 | ] 1002 | 1003 | [[package]] 1004 | name = "ratatui" 1005 | version = "0.30.0-alpha.5" 1006 | source = "registry+https://github.com/rust-lang/crates.io-index" 1007 | checksum = "71365e96fb8f1350c02908e788815c5a57c0c1f557673b274a94edee7a4fe001" 1008 | dependencies = [ 1009 | "instability", 1010 | "ratatui-core", 1011 | "ratatui-crossterm", 1012 | "ratatui-macros", 1013 | "ratatui-termwiz", 1014 | "ratatui-widgets", 1015 | ] 1016 | 1017 | [[package]] 1018 | name = "ratatui-core" 1019 | version = "0.1.0-alpha.6" 1020 | source = "registry+https://github.com/rust-lang/crates.io-index" 1021 | checksum = "f836b2eac888da74162b680a8facdbe784ae73df3b0f711eef74bb90a7477f78" 1022 | dependencies = [ 1023 | "bitflags 2.9.1", 1024 | "compact_str", 1025 | "hashbrown", 1026 | "indoc", 1027 | "itertools 0.14.0", 1028 | "kasuari", 1029 | "lru", 1030 | "strum", 1031 | "thiserror 2.0.12", 1032 | "unicode-segmentation", 1033 | "unicode-truncate", 1034 | "unicode-width", 1035 | ] 1036 | 1037 | [[package]] 1038 | name = "ratatui-crossterm" 1039 | version = "0.1.0-alpha.5" 1040 | source = "registry+https://github.com/rust-lang/crates.io-index" 1041 | checksum = "22f4a90548bf8ed759d226d621d73561110db23aee7b7dc4e12c39ac7132062f" 1042 | dependencies = [ 1043 | "crossterm", 1044 | "instability", 1045 | "ratatui-core", 1046 | ] 1047 | 1048 | [[package]] 1049 | name = "ratatui-macros" 1050 | version = "0.7.0-alpha.4" 1051 | source = "registry+https://github.com/rust-lang/crates.io-index" 1052 | checksum = "1f4c660248a5a9edf95698cf33dc36a82ae48a918594480cdada340d81584e0b" 1053 | dependencies = [ 1054 | "ratatui-core", 1055 | "ratatui-widgets", 1056 | ] 1057 | 1058 | [[package]] 1059 | name = "ratatui-termwiz" 1060 | version = "0.1.0-alpha.5" 1061 | source = "registry+https://github.com/rust-lang/crates.io-index" 1062 | checksum = "4cbb5d7645e56f06ead2a49a72b9cc05022f0b215ec7cdf39d37ed94e9a73d69" 1063 | dependencies = [ 1064 | "ratatui-core", 1065 | "termwiz", 1066 | ] 1067 | 1068 | [[package]] 1069 | name = "ratatui-widgets" 1070 | version = "0.3.0-alpha.5" 1071 | source = "registry+https://github.com/rust-lang/crates.io-index" 1072 | checksum = "388428527811be6da3e23157d951308d9eae4ce1b4d1d545a55673bbcdfb7326" 1073 | dependencies = [ 1074 | "bitflags 2.9.1", 1075 | "hashbrown", 1076 | "indoc", 1077 | "instability", 1078 | "itertools 0.14.0", 1079 | "line-clipping", 1080 | "ratatui-core", 1081 | "strum", 1082 | "time", 1083 | "unicode-segmentation", 1084 | "unicode-width", 1085 | ] 1086 | 1087 | [[package]] 1088 | name = "redox_syscall" 1089 | version = "0.5.13" 1090 | source = "registry+https://github.com/rust-lang/crates.io-index" 1091 | checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" 1092 | dependencies = [ 1093 | "bitflags 2.9.1", 1094 | ] 1095 | 1096 | [[package]] 1097 | name = "regex" 1098 | version = "1.11.1" 1099 | source = "registry+https://github.com/rust-lang/crates.io-index" 1100 | checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 1101 | dependencies = [ 1102 | "aho-corasick", 1103 | "memchr", 1104 | "regex-automata", 1105 | "regex-syntax", 1106 | ] 1107 | 1108 | [[package]] 1109 | name = "regex-automata" 1110 | version = "0.4.9" 1111 | source = "registry+https://github.com/rust-lang/crates.io-index" 1112 | checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 1113 | dependencies = [ 1114 | "aho-corasick", 1115 | "memchr", 1116 | "regex-syntax", 1117 | ] 1118 | 1119 | [[package]] 1120 | name = "regex-syntax" 1121 | version = "0.8.5" 1122 | source = "registry+https://github.com/rust-lang/crates.io-index" 1123 | checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 1124 | 1125 | [[package]] 1126 | name = "rustc-demangle" 1127 | version = "0.1.25" 1128 | source = "registry+https://github.com/rust-lang/crates.io-index" 1129 | checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" 1130 | 1131 | [[package]] 1132 | name = "rustix" 1133 | version = "1.0.7" 1134 | source = "registry+https://github.com/rust-lang/crates.io-index" 1135 | checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" 1136 | dependencies = [ 1137 | "bitflags 2.9.1", 1138 | "errno", 1139 | "libc", 1140 | "linux-raw-sys", 1141 | "windows-sys 0.59.0", 1142 | ] 1143 | 1144 | [[package]] 1145 | name = "rustversion" 1146 | version = "1.0.21" 1147 | source = "registry+https://github.com/rust-lang/crates.io-index" 1148 | checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" 1149 | 1150 | [[package]] 1151 | name = "ryu" 1152 | version = "1.0.20" 1153 | source = "registry+https://github.com/rust-lang/crates.io-index" 1154 | checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1155 | 1156 | [[package]] 1157 | name = "scopeguard" 1158 | version = "1.2.0" 1159 | source = "registry+https://github.com/rust-lang/crates.io-index" 1160 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1161 | 1162 | [[package]] 1163 | name = "serde" 1164 | version = "1.0.219" 1165 | source = "registry+https://github.com/rust-lang/crates.io-index" 1166 | checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 1167 | dependencies = [ 1168 | "serde_derive", 1169 | ] 1170 | 1171 | [[package]] 1172 | name = "serde_derive" 1173 | version = "1.0.219" 1174 | source = "registry+https://github.com/rust-lang/crates.io-index" 1175 | checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 1176 | dependencies = [ 1177 | "proc-macro2", 1178 | "quote", 1179 | "syn 2.0.104", 1180 | ] 1181 | 1182 | [[package]] 1183 | name = "sha2" 1184 | version = "0.10.9" 1185 | source = "registry+https://github.com/rust-lang/crates.io-index" 1186 | checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 1187 | dependencies = [ 1188 | "cfg-if", 1189 | "cpufeatures", 1190 | "digest", 1191 | ] 1192 | 1193 | [[package]] 1194 | name = "sharded-slab" 1195 | version = "0.1.7" 1196 | source = "registry+https://github.com/rust-lang/crates.io-index" 1197 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 1198 | dependencies = [ 1199 | "lazy_static", 1200 | ] 1201 | 1202 | [[package]] 1203 | name = "signal-hook" 1204 | version = "0.3.18" 1205 | source = "registry+https://github.com/rust-lang/crates.io-index" 1206 | checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" 1207 | dependencies = [ 1208 | "libc", 1209 | "signal-hook-registry", 1210 | ] 1211 | 1212 | [[package]] 1213 | name = "signal-hook-mio" 1214 | version = "0.2.4" 1215 | source = "registry+https://github.com/rust-lang/crates.io-index" 1216 | checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" 1217 | dependencies = [ 1218 | "libc", 1219 | "mio", 1220 | "signal-hook", 1221 | ] 1222 | 1223 | [[package]] 1224 | name = "signal-hook-registry" 1225 | version = "1.4.5" 1226 | source = "registry+https://github.com/rust-lang/crates.io-index" 1227 | checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" 1228 | dependencies = [ 1229 | "libc", 1230 | ] 1231 | 1232 | [[package]] 1233 | name = "siphasher" 1234 | version = "1.0.1" 1235 | source = "registry+https://github.com/rust-lang/crates.io-index" 1236 | checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" 1237 | 1238 | [[package]] 1239 | name = "smallvec" 1240 | version = "1.15.1" 1241 | source = "registry+https://github.com/rust-lang/crates.io-index" 1242 | checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 1243 | 1244 | [[package]] 1245 | name = "static_assertions" 1246 | version = "1.1.0" 1247 | source = "registry+https://github.com/rust-lang/crates.io-index" 1248 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 1249 | 1250 | [[package]] 1251 | name = "strsim" 1252 | version = "0.11.1" 1253 | source = "registry+https://github.com/rust-lang/crates.io-index" 1254 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 1255 | 1256 | [[package]] 1257 | name = "strum" 1258 | version = "0.27.1" 1259 | source = "registry+https://github.com/rust-lang/crates.io-index" 1260 | checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" 1261 | dependencies = [ 1262 | "strum_macros", 1263 | ] 1264 | 1265 | [[package]] 1266 | name = "strum_macros" 1267 | version = "0.27.1" 1268 | source = "registry+https://github.com/rust-lang/crates.io-index" 1269 | checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" 1270 | dependencies = [ 1271 | "heck", 1272 | "proc-macro2", 1273 | "quote", 1274 | "rustversion", 1275 | "syn 2.0.104", 1276 | ] 1277 | 1278 | [[package]] 1279 | name = "syn" 1280 | version = "1.0.109" 1281 | source = "registry+https://github.com/rust-lang/crates.io-index" 1282 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1283 | dependencies = [ 1284 | "proc-macro2", 1285 | "quote", 1286 | "unicode-ident", 1287 | ] 1288 | 1289 | [[package]] 1290 | name = "syn" 1291 | version = "2.0.104" 1292 | source = "registry+https://github.com/rust-lang/crates.io-index" 1293 | checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" 1294 | dependencies = [ 1295 | "proc-macro2", 1296 | "quote", 1297 | "unicode-ident", 1298 | ] 1299 | 1300 | [[package]] 1301 | name = "terminfo" 1302 | version = "0.9.0" 1303 | source = "registry+https://github.com/rust-lang/crates.io-index" 1304 | checksum = "d4ea810f0692f9f51b382fff5893887bb4580f5fa246fde546e0b13e7fcee662" 1305 | dependencies = [ 1306 | "fnv", 1307 | "nom", 1308 | "phf", 1309 | "phf_codegen", 1310 | ] 1311 | 1312 | [[package]] 1313 | name = "termios" 1314 | version = "0.3.3" 1315 | source = "registry+https://github.com/rust-lang/crates.io-index" 1316 | checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" 1317 | dependencies = [ 1318 | "libc", 1319 | ] 1320 | 1321 | [[package]] 1322 | name = "termwiz" 1323 | version = "0.23.3" 1324 | source = "registry+https://github.com/rust-lang/crates.io-index" 1325 | checksum = "4676b37242ccbd1aabf56edb093a4827dc49086c0ffd764a5705899e0f35f8f7" 1326 | dependencies = [ 1327 | "anyhow", 1328 | "base64", 1329 | "bitflags 2.9.1", 1330 | "fancy-regex", 1331 | "filedescriptor", 1332 | "finl_unicode", 1333 | "fixedbitset", 1334 | "hex", 1335 | "lazy_static", 1336 | "libc", 1337 | "log", 1338 | "memmem", 1339 | "nix", 1340 | "num-derive", 1341 | "num-traits", 1342 | "ordered-float", 1343 | "pest", 1344 | "pest_derive", 1345 | "phf", 1346 | "sha2", 1347 | "signal-hook", 1348 | "siphasher", 1349 | "terminfo", 1350 | "termios", 1351 | "thiserror 1.0.69", 1352 | "ucd-trie", 1353 | "unicode-segmentation", 1354 | "vtparse", 1355 | "wezterm-bidi", 1356 | "wezterm-blob-leases", 1357 | "wezterm-color-types", 1358 | "wezterm-dynamic", 1359 | "wezterm-input-types", 1360 | "winapi", 1361 | ] 1362 | 1363 | [[package]] 1364 | name = "thiserror" 1365 | version = "1.0.69" 1366 | source = "registry+https://github.com/rust-lang/crates.io-index" 1367 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1368 | dependencies = [ 1369 | "thiserror-impl 1.0.69", 1370 | ] 1371 | 1372 | [[package]] 1373 | name = "thiserror" 1374 | version = "2.0.12" 1375 | source = "registry+https://github.com/rust-lang/crates.io-index" 1376 | checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" 1377 | dependencies = [ 1378 | "thiserror-impl 2.0.12", 1379 | ] 1380 | 1381 | [[package]] 1382 | name = "thiserror-impl" 1383 | version = "1.0.69" 1384 | source = "registry+https://github.com/rust-lang/crates.io-index" 1385 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1386 | dependencies = [ 1387 | "proc-macro2", 1388 | "quote", 1389 | "syn 2.0.104", 1390 | ] 1391 | 1392 | [[package]] 1393 | name = "thiserror-impl" 1394 | version = "2.0.12" 1395 | source = "registry+https://github.com/rust-lang/crates.io-index" 1396 | checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" 1397 | dependencies = [ 1398 | "proc-macro2", 1399 | "quote", 1400 | "syn 2.0.104", 1401 | ] 1402 | 1403 | [[package]] 1404 | name = "thread_local" 1405 | version = "1.1.9" 1406 | source = "registry+https://github.com/rust-lang/crates.io-index" 1407 | checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 1408 | dependencies = [ 1409 | "cfg-if", 1410 | ] 1411 | 1412 | [[package]] 1413 | name = "time" 1414 | version = "0.3.41" 1415 | source = "registry+https://github.com/rust-lang/crates.io-index" 1416 | checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" 1417 | dependencies = [ 1418 | "deranged", 1419 | "libc", 1420 | "num-conv", 1421 | "num_threads", 1422 | "powerfmt", 1423 | "serde", 1424 | "time-core", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "time-core" 1429 | version = "0.1.4" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" 1432 | 1433 | [[package]] 1434 | name = "tracing" 1435 | version = "0.1.41" 1436 | source = "registry+https://github.com/rust-lang/crates.io-index" 1437 | checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1438 | dependencies = [ 1439 | "pin-project-lite", 1440 | "tracing-core", 1441 | ] 1442 | 1443 | [[package]] 1444 | name = "tracing-core" 1445 | version = "0.1.34" 1446 | source = "registry+https://github.com/rust-lang/crates.io-index" 1447 | checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 1448 | dependencies = [ 1449 | "once_cell", 1450 | "valuable", 1451 | ] 1452 | 1453 | [[package]] 1454 | name = "tracing-error" 1455 | version = "0.2.1" 1456 | source = "registry+https://github.com/rust-lang/crates.io-index" 1457 | checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db" 1458 | dependencies = [ 1459 | "tracing", 1460 | "tracing-subscriber", 1461 | ] 1462 | 1463 | [[package]] 1464 | name = "tracing-subscriber" 1465 | version = "0.3.20" 1466 | source = "registry+https://github.com/rust-lang/crates.io-index" 1467 | checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" 1468 | dependencies = [ 1469 | "sharded-slab", 1470 | "thread_local", 1471 | "tracing-core", 1472 | ] 1473 | 1474 | [[package]] 1475 | name = "tui-equalizer" 1476 | version = "0.2.0-alpha" 1477 | dependencies = [ 1478 | "color-eyre", 1479 | "crossterm", 1480 | "derive_builder", 1481 | "itertools 0.14.0", 1482 | "rand 0.9.2", 1483 | "ratatui", 1484 | "ratatui-core", 1485 | ] 1486 | 1487 | [[package]] 1488 | name = "typenum" 1489 | version = "1.18.0" 1490 | source = "registry+https://github.com/rust-lang/crates.io-index" 1491 | checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" 1492 | 1493 | [[package]] 1494 | name = "ucd-trie" 1495 | version = "0.1.7" 1496 | source = "registry+https://github.com/rust-lang/crates.io-index" 1497 | checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" 1498 | 1499 | [[package]] 1500 | name = "unicode-ident" 1501 | version = "1.0.18" 1502 | source = "registry+https://github.com/rust-lang/crates.io-index" 1503 | checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 1504 | 1505 | [[package]] 1506 | name = "unicode-segmentation" 1507 | version = "1.12.0" 1508 | source = "registry+https://github.com/rust-lang/crates.io-index" 1509 | checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 1510 | 1511 | [[package]] 1512 | name = "unicode-truncate" 1513 | version = "2.0.0" 1514 | source = "registry+https://github.com/rust-lang/crates.io-index" 1515 | checksum = "8fbf03860ff438702f3910ca5f28f8dac63c1c11e7efb5012b8b175493606330" 1516 | dependencies = [ 1517 | "itertools 0.13.0", 1518 | "unicode-segmentation", 1519 | "unicode-width", 1520 | ] 1521 | 1522 | [[package]] 1523 | name = "unicode-width" 1524 | version = "0.2.0" 1525 | source = "registry+https://github.com/rust-lang/crates.io-index" 1526 | checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" 1527 | 1528 | [[package]] 1529 | name = "utf8parse" 1530 | version = "0.2.2" 1531 | source = "registry+https://github.com/rust-lang/crates.io-index" 1532 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 1533 | 1534 | [[package]] 1535 | name = "uuid" 1536 | version = "1.17.0" 1537 | source = "registry+https://github.com/rust-lang/crates.io-index" 1538 | checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" 1539 | dependencies = [ 1540 | "atomic", 1541 | "getrandom", 1542 | "js-sys", 1543 | "wasm-bindgen", 1544 | ] 1545 | 1546 | [[package]] 1547 | name = "valuable" 1548 | version = "0.1.1" 1549 | source = "registry+https://github.com/rust-lang/crates.io-index" 1550 | checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 1551 | 1552 | [[package]] 1553 | name = "version_check" 1554 | version = "0.9.5" 1555 | source = "registry+https://github.com/rust-lang/crates.io-index" 1556 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 1557 | 1558 | [[package]] 1559 | name = "vtparse" 1560 | version = "0.6.2" 1561 | source = "registry+https://github.com/rust-lang/crates.io-index" 1562 | checksum = "6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0" 1563 | dependencies = [ 1564 | "utf8parse", 1565 | ] 1566 | 1567 | [[package]] 1568 | name = "wasi" 1569 | version = "0.11.1+wasi-snapshot-preview1" 1570 | source = "registry+https://github.com/rust-lang/crates.io-index" 1571 | checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 1572 | 1573 | [[package]] 1574 | name = "wasi" 1575 | version = "0.14.2+wasi-0.2.4" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 1578 | dependencies = [ 1579 | "wit-bindgen-rt", 1580 | ] 1581 | 1582 | [[package]] 1583 | name = "wasm-bindgen" 1584 | version = "0.2.100" 1585 | source = "registry+https://github.com/rust-lang/crates.io-index" 1586 | checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 1587 | dependencies = [ 1588 | "cfg-if", 1589 | "once_cell", 1590 | "rustversion", 1591 | "wasm-bindgen-macro", 1592 | ] 1593 | 1594 | [[package]] 1595 | name = "wasm-bindgen-backend" 1596 | version = "0.2.100" 1597 | source = "registry+https://github.com/rust-lang/crates.io-index" 1598 | checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 1599 | dependencies = [ 1600 | "bumpalo", 1601 | "log", 1602 | "proc-macro2", 1603 | "quote", 1604 | "syn 2.0.104", 1605 | "wasm-bindgen-shared", 1606 | ] 1607 | 1608 | [[package]] 1609 | name = "wasm-bindgen-macro" 1610 | version = "0.2.100" 1611 | source = "registry+https://github.com/rust-lang/crates.io-index" 1612 | checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 1613 | dependencies = [ 1614 | "quote", 1615 | "wasm-bindgen-macro-support", 1616 | ] 1617 | 1618 | [[package]] 1619 | name = "wasm-bindgen-macro-support" 1620 | version = "0.2.100" 1621 | source = "registry+https://github.com/rust-lang/crates.io-index" 1622 | checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 1623 | dependencies = [ 1624 | "proc-macro2", 1625 | "quote", 1626 | "syn 2.0.104", 1627 | "wasm-bindgen-backend", 1628 | "wasm-bindgen-shared", 1629 | ] 1630 | 1631 | [[package]] 1632 | name = "wasm-bindgen-shared" 1633 | version = "0.2.100" 1634 | source = "registry+https://github.com/rust-lang/crates.io-index" 1635 | checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 1636 | dependencies = [ 1637 | "unicode-ident", 1638 | ] 1639 | 1640 | [[package]] 1641 | name = "wezterm-bidi" 1642 | version = "0.2.3" 1643 | source = "registry+https://github.com/rust-lang/crates.io-index" 1644 | checksum = "0c0a6e355560527dd2d1cf7890652f4f09bb3433b6aadade4c9b5ed76de5f3ec" 1645 | dependencies = [ 1646 | "log", 1647 | "wezterm-dynamic", 1648 | ] 1649 | 1650 | [[package]] 1651 | name = "wezterm-blob-leases" 1652 | version = "0.1.1" 1653 | source = "registry+https://github.com/rust-lang/crates.io-index" 1654 | checksum = "692daff6d93d94e29e4114544ef6d5c942a7ed998b37abdc19b17136ea428eb7" 1655 | dependencies = [ 1656 | "getrandom", 1657 | "mac_address", 1658 | "sha2", 1659 | "thiserror 1.0.69", 1660 | "uuid", 1661 | ] 1662 | 1663 | [[package]] 1664 | name = "wezterm-color-types" 1665 | version = "0.3.0" 1666 | source = "registry+https://github.com/rust-lang/crates.io-index" 1667 | checksum = "7de81ef35c9010270d63772bebef2f2d6d1f2d20a983d27505ac850b8c4b4296" 1668 | dependencies = [ 1669 | "csscolorparser", 1670 | "deltae", 1671 | "lazy_static", 1672 | "wezterm-dynamic", 1673 | ] 1674 | 1675 | [[package]] 1676 | name = "wezterm-dynamic" 1677 | version = "0.2.1" 1678 | source = "registry+https://github.com/rust-lang/crates.io-index" 1679 | checksum = "5f2ab60e120fd6eaa68d9567f3226e876684639d22a4219b313ff69ec0ccd5ac" 1680 | dependencies = [ 1681 | "log", 1682 | "ordered-float", 1683 | "strsim", 1684 | "thiserror 1.0.69", 1685 | "wezterm-dynamic-derive", 1686 | ] 1687 | 1688 | [[package]] 1689 | name = "wezterm-dynamic-derive" 1690 | version = "0.1.1" 1691 | source = "registry+https://github.com/rust-lang/crates.io-index" 1692 | checksum = "46c0cf2d539c645b448eaffec9ec494b8b19bd5077d9e58cb1ae7efece8d575b" 1693 | dependencies = [ 1694 | "proc-macro2", 1695 | "quote", 1696 | "syn 1.0.109", 1697 | ] 1698 | 1699 | [[package]] 1700 | name = "wezterm-input-types" 1701 | version = "0.1.0" 1702 | source = "registry+https://github.com/rust-lang/crates.io-index" 1703 | checksum = "7012add459f951456ec9d6c7e6fc340b1ce15d6fc9629f8c42853412c029e57e" 1704 | dependencies = [ 1705 | "bitflags 1.3.2", 1706 | "euclid", 1707 | "lazy_static", 1708 | "serde", 1709 | "wezterm-dynamic", 1710 | ] 1711 | 1712 | [[package]] 1713 | name = "winapi" 1714 | version = "0.3.9" 1715 | source = "registry+https://github.com/rust-lang/crates.io-index" 1716 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1717 | dependencies = [ 1718 | "winapi-i686-pc-windows-gnu", 1719 | "winapi-x86_64-pc-windows-gnu", 1720 | ] 1721 | 1722 | [[package]] 1723 | name = "winapi-i686-pc-windows-gnu" 1724 | version = "0.4.0" 1725 | source = "registry+https://github.com/rust-lang/crates.io-index" 1726 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1727 | 1728 | [[package]] 1729 | name = "winapi-x86_64-pc-windows-gnu" 1730 | version = "0.4.0" 1731 | source = "registry+https://github.com/rust-lang/crates.io-index" 1732 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1733 | 1734 | [[package]] 1735 | name = "windows-sys" 1736 | version = "0.59.0" 1737 | source = "registry+https://github.com/rust-lang/crates.io-index" 1738 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 1739 | dependencies = [ 1740 | "windows-targets 0.52.6", 1741 | ] 1742 | 1743 | [[package]] 1744 | name = "windows-sys" 1745 | version = "0.60.2" 1746 | source = "registry+https://github.com/rust-lang/crates.io-index" 1747 | checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 1748 | dependencies = [ 1749 | "windows-targets 0.53.2", 1750 | ] 1751 | 1752 | [[package]] 1753 | name = "windows-targets" 1754 | version = "0.52.6" 1755 | source = "registry+https://github.com/rust-lang/crates.io-index" 1756 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1757 | dependencies = [ 1758 | "windows_aarch64_gnullvm 0.52.6", 1759 | "windows_aarch64_msvc 0.52.6", 1760 | "windows_i686_gnu 0.52.6", 1761 | "windows_i686_gnullvm 0.52.6", 1762 | "windows_i686_msvc 0.52.6", 1763 | "windows_x86_64_gnu 0.52.6", 1764 | "windows_x86_64_gnullvm 0.52.6", 1765 | "windows_x86_64_msvc 0.52.6", 1766 | ] 1767 | 1768 | [[package]] 1769 | name = "windows-targets" 1770 | version = "0.53.2" 1771 | source = "registry+https://github.com/rust-lang/crates.io-index" 1772 | checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" 1773 | dependencies = [ 1774 | "windows_aarch64_gnullvm 0.53.0", 1775 | "windows_aarch64_msvc 0.53.0", 1776 | "windows_i686_gnu 0.53.0", 1777 | "windows_i686_gnullvm 0.53.0", 1778 | "windows_i686_msvc 0.53.0", 1779 | "windows_x86_64_gnu 0.53.0", 1780 | "windows_x86_64_gnullvm 0.53.0", 1781 | "windows_x86_64_msvc 0.53.0", 1782 | ] 1783 | 1784 | [[package]] 1785 | name = "windows_aarch64_gnullvm" 1786 | version = "0.52.6" 1787 | source = "registry+https://github.com/rust-lang/crates.io-index" 1788 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1789 | 1790 | [[package]] 1791 | name = "windows_aarch64_gnullvm" 1792 | version = "0.53.0" 1793 | source = "registry+https://github.com/rust-lang/crates.io-index" 1794 | checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" 1795 | 1796 | [[package]] 1797 | name = "windows_aarch64_msvc" 1798 | version = "0.52.6" 1799 | source = "registry+https://github.com/rust-lang/crates.io-index" 1800 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1801 | 1802 | [[package]] 1803 | name = "windows_aarch64_msvc" 1804 | version = "0.53.0" 1805 | source = "registry+https://github.com/rust-lang/crates.io-index" 1806 | checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" 1807 | 1808 | [[package]] 1809 | name = "windows_i686_gnu" 1810 | version = "0.52.6" 1811 | source = "registry+https://github.com/rust-lang/crates.io-index" 1812 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 1813 | 1814 | [[package]] 1815 | name = "windows_i686_gnu" 1816 | version = "0.53.0" 1817 | source = "registry+https://github.com/rust-lang/crates.io-index" 1818 | checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" 1819 | 1820 | [[package]] 1821 | name = "windows_i686_gnullvm" 1822 | version = "0.52.6" 1823 | source = "registry+https://github.com/rust-lang/crates.io-index" 1824 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 1825 | 1826 | [[package]] 1827 | name = "windows_i686_gnullvm" 1828 | version = "0.53.0" 1829 | source = "registry+https://github.com/rust-lang/crates.io-index" 1830 | checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" 1831 | 1832 | [[package]] 1833 | name = "windows_i686_msvc" 1834 | version = "0.52.6" 1835 | source = "registry+https://github.com/rust-lang/crates.io-index" 1836 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1837 | 1838 | [[package]] 1839 | name = "windows_i686_msvc" 1840 | version = "0.53.0" 1841 | source = "registry+https://github.com/rust-lang/crates.io-index" 1842 | checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" 1843 | 1844 | [[package]] 1845 | name = "windows_x86_64_gnu" 1846 | version = "0.52.6" 1847 | source = "registry+https://github.com/rust-lang/crates.io-index" 1848 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1849 | 1850 | [[package]] 1851 | name = "windows_x86_64_gnu" 1852 | version = "0.53.0" 1853 | source = "registry+https://github.com/rust-lang/crates.io-index" 1854 | checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" 1855 | 1856 | [[package]] 1857 | name = "windows_x86_64_gnullvm" 1858 | version = "0.52.6" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 1861 | 1862 | [[package]] 1863 | name = "windows_x86_64_gnullvm" 1864 | version = "0.53.0" 1865 | source = "registry+https://github.com/rust-lang/crates.io-index" 1866 | checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" 1867 | 1868 | [[package]] 1869 | name = "windows_x86_64_msvc" 1870 | version = "0.52.6" 1871 | source = "registry+https://github.com/rust-lang/crates.io-index" 1872 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1873 | 1874 | [[package]] 1875 | name = "windows_x86_64_msvc" 1876 | version = "0.53.0" 1877 | source = "registry+https://github.com/rust-lang/crates.io-index" 1878 | checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" 1879 | 1880 | [[package]] 1881 | name = "wit-bindgen-rt" 1882 | version = "0.39.0" 1883 | source = "registry+https://github.com/rust-lang/crates.io-index" 1884 | checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 1885 | dependencies = [ 1886 | "bitflags 2.9.1", 1887 | ] 1888 | 1889 | [[package]] 1890 | name = "zerocopy" 1891 | version = "0.8.26" 1892 | source = "registry+https://github.com/rust-lang/crates.io-index" 1893 | checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" 1894 | dependencies = [ 1895 | "zerocopy-derive", 1896 | ] 1897 | 1898 | [[package]] 1899 | name = "zerocopy-derive" 1900 | version = "0.8.26" 1901 | source = "registry+https://github.com/rust-lang/crates.io-index" 1902 | checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" 1903 | dependencies = [ 1904 | "proc-macro2", 1905 | "quote", 1906 | "syn 2.0.104", 1907 | ] 1908 | --------------------------------------------------------------------------------