Radish alpha
r
rad:z4D5UCArafTzTQpDZNQRuqswh3ury
Radicle desktop app
Radicle
Git
added basic running rust and xcode build for iOS
Archived did:key:z6MknHmK...utaJ opened 1 year ago
22 files changed +7055 -1 08a2b01f 72bcf12f
modified Cargo.toml
@@ -4,5 +4,7 @@ resolver = "1"
members = [ 
    "crates/radicle-tauri",
    "crates/radicle-types",
-
    "crates/test-http-api",
+
    "crates/test-http-api"
]
+

+
exclude = ["crates/ios-tauri"]

\ No newline at end of file
added crates/ios-tauri/.gitignore
@@ -0,0 +1,67 @@
+
# Rust build artifacts
+
/target/
+
/src-tauri/target/
+
**/*.rs.bk
+

+
# Generated Xcode project
+
/src-tauri/gen/
+

+
# Tauri artifacts
+
.tauri/
+
ios-tauri/src-tauri/icons/*
+

+
# macOS
+
.DS_Store
+
.AppleDouble
+
.LSOverride
+
._*
+

+
# iOS
+
*.ipa
+
*.dSYM.zip
+
*.dSYM
+

+
# Xcode
+
## User settings
+
xcuserdata/
+

+
## Obj-C/Swift specific
+
*.hmap
+

+
## App packaging
+
*.ipa
+
*.dSYM.zip
+
*.dSYM
+

+
## Playgrounds
+
timeline.xctimeline
+
playground.xcworkspace
+

+
# Swift Package Manager
+
.build/
+

+
# CocoaPods
+
Pods/
+
*.xcworkspace
+

+
# Node.js
+
node_modules/
+
npm-debug.log*
+
yarn-debug.log*
+
yarn-error.log*
+
.npm
+
.node_repl_history
+

+
# Generated files
+
dist/
+
build/
+

+
# Environment files
+
.env
+
.env.local
+
.env.development.local
+
.env.test.local
+
.env.production.local
+

+
# Symbolic links
+
src-tauri/gen/apple/libs/libapp.a
added crates/ios-tauri/README.md
@@ -0,0 +1,124 @@
+
# iOS Build Guide for Radicle Desktop
+

+
This guide explains how to build the iOS version of Radicle Desktop using Tauri.
+

+
## Prerequisites
+

+
- Xcode 15+ with iOS SDK 18.2+
+
- Rust (1.77.2+)
+
- Node.js (22.11.0 recommended)
+
- Tauri CLI (`@tauri-apps/cli` 2.1.0+)
+

+
## Build Instructions
+

+
### 1. Navigate to the iOS Tauri Directory
+

+
You should start in the iOS Tauri directory:
+
```bash
+
cd radicle-desktop/crates/ios-tauri
+
```
+

+
### 2. Run the Build Script
+

+
From the `ios-tauri` directory, run:
+
```bash
+
sh src-tauri/build-ios.sh
+
```
+

+
This script will automate most of the build process and open Xcode when complete.
+

+
### 3. Configure Xcode Project
+

+
Once Xcode opens, you need to manually configure a few settings:
+

+
1. **Set up Signing & Capabilities**:
+
   - Select your target in the project navigator
+
   - Go to the "Signing & Capabilities" tab
+
   - Add your "Team" (Apple Developer account)
+
   - Set a unique "Bundle Identifier" (e.g., `com.yourdomain.radicle`)
+

+
2. **Configure Library Search Paths**:
+
   - Select your target
+
   - Go to the "Build Settings" tab
+
   - Search for "Library Search Paths"
+
   - Add the relative path to the compiled Rust library:
+
     ```
+
     ../../target/aarch64-apple-ios-sim/debug
+
     ```
+

+
3. **Update `Info.plist` permissions:
+
   - In XCode, right-click on the Info file, and "Open as" -> "Source code"
+
   - Add the following to the bottom:
+
     ```
+
     <key>NSAppTransportSecurity</key>
+
     <dict>
+
        <key>NSAllowsLocalNetworking</key>
+
        <true/>
+
        <key>NSAllowsArbitraryLoads</key>
+
        <true/>
+
     </dict>
+
     ```
+

+
4. **Build and Run**:
+
   - Select your desired simulator or device
+
   - Click the Play button to build and run
+

+
## About the Build Script
+

+
The `build-ios.sh` script automates several complex steps in the iOS build process:
+

+
### Key Operations
+

+
1. **Cleanup**: Removes previous build artifacts and generated Xcode projects
+
2. **Dependency Check**: Ensures Tauri Node.js dependencies are installed
+
3. **Rust Library Build**: Compiles the Rust code for iOS simulator target
+
4. **Tauri API Setup**: Creates or copies the necessary Tauri API JavaScript files
+
5. **iOS Project Initialization**: Generates the Xcode project files
+
6. **Symbolic Link Creation**: Creates a symlink to the compiled library in a location Xcode can find
+

+
### Troubleshooting
+

+
If you encounter a "library 'app' not found" error even after running the script:
+

+
1. Verify that the library exists:
+
   ```bash
+
   find src-tauri/target -name "libapp.a"
+
   ```
+

+
2. Make sure the library name in `Cargo.toml` matches what Xcode expects:
+
   ```toml
+
   [lib]
+
   name = "app"  # This should be "app", not "app_lib" or anything else
+
   crate-type = ["staticlib", "cdylib", "rlib"]
+
   ```
+

+
3. Double-check the Library Search Paths in Xcode Build Settings, ensuring the path to your compiled library is correct.
+

+
4. For debugging, run `sh build-ios-debug.sh` and replace `src-tauri/gen/apple/assets/index.html` with `dev_index.html`
+

+
## Full Rebuild
+

+
If you need to completely rebuild from scratch:
+

+
```bash
+
# Clean everything
+
rm -rf src-tauri/gen/apple
+
rm -rf src-tauri/target
+
cargo clean --manifest-path src-tauri/Cargo.toml
+

+
# Run the build script again
+
sh src-tauri/build-ios.sh
+
```
+

+
## Maintaining the Build
+

+
When making changes to the Rust code:
+

+
1. Recompile with:
+
   ```bash
+
   cargo build --target aarch64-apple-ios-sim
+
   ```
+

+
2. Rebuild in Xcode
+

+
For changes to frontend code, you only need to rebuild in Xcode.
added crates/ios-tauri/build-ios.sh
@@ -0,0 +1,120 @@
+
#!/bin/bash
+
# iOS Build Automation Script for Tauri
+
# This script handles the complete build process from Rust to Xcode
+

+
set -e  # Exit on any error
+

+
# Colors for output
+
RED='\033[0;31m'
+
GREEN='\033[0;32m'
+
YELLOW='\033[0;33m'
+
BLUE='\033[0;34m'
+
NC='\033[0m' # No Color
+

+
echo -e "${BLUE}=== iOS Build Automation for Tauri ===${NC}"
+

+
# Check if we're in the right directory
+
if [ ! -f "src-tauri/Cargo.toml" ]; then
+
  echo -e "${RED}Error: src-tauri/Cargo.toml not found${NC}"
+
  echo "Please run this script from your project root or provide the path to your project"
+
  exit 1
+
fi
+

+
# Clean everything
+
echo -e "${YELLOW}Cleaning previous builds...${NC}"
+
rm -rf src-tauri/gen/apple
+
rm -rf src-tauri/target
+
cargo clean --manifest-path src-tauri/Cargo.toml
+

+
# Make sure Tauri dependencies are installed
+
echo -e "${YELLOW}Checking node dependencies...${NC}"
+
if [ ! -d "node_modules/@tauri-apps/api" ]; then
+
  echo -e "${YELLOW}Installing node dependencies...${NC}"
+
  npm install
+
fi
+

+
# Build Rust library
+
echo -e "${YELLOW}Building Rust library...${NC}"
+
cd src-tauri
+
cargo build --target aarch64-apple-ios-sim
+
cd ..
+

+
# Create Tauri API directory if needed
+
echo -e "${YELLOW}Setting up Tauri API for iOS...${NC}"
+
mkdir -p src-tauri/gen/apple/tauri
+
if [ ! -f "src-tauri/gen/apple/tauri/index.js" ]; then
+
  echo -e "${YELLOW}Copying Tauri API files...${NC}"
+
  cp -r ../../node_modules/@tauri-apps/api/* src-tauri/gen/apple/tauri/
+
fi
+

+
# Initialize iOS project
+
echo -e "${YELLOW}Initializing iOS project...${NC}"
+
tauri ios init
+

+
# If initialization was successful, find and open the Xcode project
+
if [ -d "src-tauri/gen/apple" ]; then
+
  XCODEPROJ=$(find src-tauri/gen/apple -name "*.xcodeproj" | head -1)
+
  
+
  if [ -n "$XCODEPROJ" ]; then
+
    echo -e "${GREEN}Opening Xcode project: $XCODEPROJ${NC}"
+
    open "$XCODEPROJ"
+
    
+
    echo -e "${YELLOW}Building in Xcode...${NC}"
+
    # Build using xcodebuild (optional, uncomment if you want automatic building)
+
    # xcodebuild -project "$XCODEPROJ" -scheme app -destination "platform=iOS Simulator,name=iPhone 14" build
+
    
+
    echo -e "${GREEN}Xcode project is open. Please build from Xcode interface.${NC}"
+
    echo -e "${YELLOW}If you encounter 'library app not found' errors:${NC}"
+
    echo "1. Check that src-tauri/Cargo.toml has [lib] name = \"app\""
+
    echo "2. Verify the library is built at src-tauri/target/aarch64-apple-ios-sim/debug/libapp.a"
+
    echo "3. In Xcode, check Build Settings > Library Search Paths includes the path to your compiled library"
+
  else
+
    echo -e "${RED}No Xcode project found in src-tauri/gen/apple${NC}"
+
  fi
+
else
+
  echo -e "${RED}Failed to initialize iOS project${NC}"
+
fi
+

+
# Make sure Info.plist includes WebView permissions
+
echo "Adding WebView permissions to Info.plist..."
+
INFOPLIST="src-tauri/gen/apple/app_iOS/Info.plist"
+
if [ -f "$INFOPLIST" ]; then
+
    echo "Found Info.plist at $INFOPLIST"
+
    # Check if NSAppTransportSecurity is already in the file
+
    if ! grep -q "NSAppTransportSecurity" "$INFOPLIST"; then
+
        # Create a temporary file
+
        TMP_PLIST=$(mktemp)
+
        
+
        # Find the line number of the last </dict>
+
        LAST_DICT_LINE=$(grep -n "</dict>" "$INFOPLIST" | tail -1 | cut -d: -f1)
+
        
+
        # Copy everything up to the last </dict> line
+
        head -n $(($LAST_DICT_LINE - 1)) "$INFOPLIST" > "$TMP_PLIST"
+
        
+
        # Add our new keys
+
        cat >> "$TMP_PLIST" << 'EOL'
+
        <key>NSAppTransportSecurity</key>
+
        <dict>
+
                <key>NSAllowsLocalNetworking</key>
+
                <true/>
+
                <key>NSAllowsArbitraryLoads</key>
+
                <true/>
+
        </dict>
+
EOL
+
        
+
        # Add the closing dict and anything after it
+
        tail -n +$LAST_DICT_LINE "$INFOPLIST" >> "$TMP_PLIST"
+
        
+
        # Replace the original file
+
        cp "$TMP_PLIST" "$INFOPLIST"
+
        rm "$TMP_PLIST"
+
        
+
        echo "Added NSAppTransportSecurity to Info.plist"
+
    else
+
        echo "NSAppTransportSecurity already exists in Info.plist"
+
    fi
+
else
+
    echo "Warning: Info.plist not found at $INFOPLIST"
+
fi
+

+
echo -e "${BLUE}=== Build process completed ===${NC}"

\ No newline at end of file
added crates/ios-tauri/build.rs
@@ -0,0 +1,54 @@
+
fn main() {
+
    println!("cargo:rerun-if-changed=build.rs");
+

+
    // Check target
+
    let target = std::env::var("TARGET").expect("TARGET not set");
+

+
    if !target.contains("apple-ios") {
+
        panic!("❌ ERROR: This build is only for iOS! Current target: {}", target);
+
    }
+

+
    println!("cargo:warning=Building for iOS");
+

+
    // Determine the correct SDK type
+
    let sdk_type = if target.contains("sim") {
+
        "iphonesimulator"
+
    } else {
+
        "iphoneos"
+
    };
+

+
    let sdk_path = std::process::Command::new("xcrun")
+
        .args(["--sdk", sdk_type, "--show-sdk-path"])
+
        .output()
+
        .expect("❌ Failed to find iOS SDK")
+
        .stdout;
+

+
    let sdk_path = String::from_utf8(sdk_path).expect("❌ Failed to parse SDK path");
+
    let sdk_path = sdk_path.trim();
+

+
    // In iOS 18.2+, System.framework is replaced by libSystem.dylib
+
    println!("cargo:rustc-link-search=native={}/usr/lib", sdk_path);
+
    println!("cargo:rustc-link-search=framework={}/System/Library/Frameworks", sdk_path);
+
    
+
    // Link directly to libSystem.dylib instead of System.framework
+
    println!("cargo:rustc-link-lib=System");
+
    
+
    // Core frameworks 
+
    println!("cargo:rustc-link-lib=framework=Foundation");
+
    println!("cargo:rustc-link-lib=framework=CoreFoundation");
+
    println!("cargo:rustc-link-lib=framework=Security");
+
    println!("cargo:rustc-link-lib=framework=WebKit");
+
    println!("cargo:rustc-link-lib=framework=UIKit");
+
    println!("cargo:rustc-link-lib=framework=SystemConfiguration");
+
    
+
    // Standard C libraries
+
    println!("cargo:rustc-link-lib=z");
+
    println!("cargo:rustc-link-lib=iconv");
+
    
+
    // Set environment variables
+
    println!("cargo:rustc-env=SDKROOT={}", sdk_path);
+
    println!("cargo:warning=SDK path: {}", sdk_path);
+
    println!("cargo:warning=Using libSystem directly instead of System.framework");
+

+
    tauri_build::build();
+
}
added crates/ios-tauri/dev_index.html
@@ -0,0 +1,203 @@
+
<!doctype html>
+
<html lang="en">
+
  <head>
+
    <meta charset="UTF-8" />
+
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+
    <title>Radicle Debug</title>
+
    <style>
+
      body {
+
        font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+
        padding: 20px;
+
        background: #f0f0f0;
+
        color: #333;
+
      }
+
      #app-container {
+
        text-align: center;
+
        padding: 20px;
+
        margin-bottom: 20px;
+
        background: white;
+
        border-radius: 8px;
+
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+
      }
+
      .debug-section {
+
        background: #f8f8f8;
+
        border: 1px solid #ddd;
+
        border-radius: 8px;
+
        padding: 15px;
+
        margin-bottom: 15px;
+
      }
+
      .debug-entry {
+
        margin: 8px 0;
+
        padding: 8px;
+
        background: white;
+
        border-radius: 4px;
+
      }
+
      .error { color: red; }
+
      .success { color: green; }
+
      button {
+
        background: #0078d7;
+
        color: white;
+
        border: none;
+
        padding: 10px 15px;
+
        border-radius: 4px;
+
        cursor: pointer;
+
        margin: 5px;
+
      }
+
      button:hover {
+
        background: #0056a3;
+
      }
+
    </style>
+
  </head>
+
  <body>
+
    <div id="app-container">
+
      <h1>Radicle Debug Mode</h1>
+
      <div id="loading-status">Loading application...</div>
+
    </div>
+
    
+
    <div class="debug-section">
+
      <h3>Environment Info</h3>
+
      <div id="env-info"></div>
+
      <button onclick="checkEnvironment()">Refresh Environment Info</button>
+
    </div>
+
    
+
    <div class="debug-section">
+
      <h3>Resource Loading</h3>
+
      <div id="resource-info"></div>
+
      <button onclick="checkResources()">Check Resources</button>
+
    </div>
+
    
+
    <div class="debug-section">
+
      <h3>Error Log</h3>
+
      <div id="error-log"></div>
+
    </div>
+
    
+
    <div class="debug-section">
+
      <h3>Actions</h3>
+
      <button onclick="loadOriginal()">Load Original App</button>
+
      <button onclick="testTauriAPI()">Test Tauri API</button>
+
    </div>
+
    
+
    <script>
+
      // Utility functions
+
      function log(id, message, isError = false) {
+
        const container = document.getElementById(id);
+
        if (container) {
+
          const entry = document.createElement('div');
+
          entry.className = 'debug-entry' + (isError ? ' error' : '');
+
          entry.textContent = message;
+
          container.appendChild(entry);
+
        }
+
      }
+
      
+
      // Environment check
+
      function checkEnvironment() {
+
        const envInfo = document.getElementById('env-info');
+
        envInfo.innerHTML = '';
+
        
+
        log('env-info', `User Agent: ${navigator.userAgent}`);
+
        log('env-info', `Window Size: ${window.innerWidth}x${window.innerHeight}`);
+
        
+
        // Check for Tauri
+
        if (window.__TAURI__) {
+
          log('env-info', 'Tauri API is available', false);
+
        } else {
+
          log('env-info', 'Tauri API is NOT available', true);
+
        }
+
        
+
        // Check for common JS frameworks
+
        const frameworks = {
+
          'React': window.React,
+
          'Vue': window.Vue,
+
          'Svelte': window.svelte,
+
          'jQuery': window.jQuery,
+
          'Angular': window.angular
+
        };
+
        
+
        for (const [name, exists] of Object.entries(frameworks)) {
+
          log('env-info', `${name}: ${exists ? 'Available' : 'Not detected'}`);
+
        }
+
      }
+
      
+
      // Resource loading check
+
      function checkResources() {
+
        const resourceInfo = document.getElementById('resource-info');
+
        resourceInfo.innerHTML = '';
+
        
+
        // Check scripts
+
        const scripts = document.querySelectorAll('script');
+
        log('resource-info', `Scripts: ${scripts.length} found`);
+
        scripts.forEach((script, index) => {
+
          log('resource-info', `Script ${index+1}: ${script.src || '(inline)'}`);
+
        });
+
        
+
        // Check styles
+
        const styles = document.querySelectorAll('link[rel="stylesheet"]');
+
        log('resource-info', `Stylesheets: ${styles.length} found`);
+
        styles.forEach((style, index) => {
+
          log('resource-info', `Stylesheet ${index+1}: ${style.href}`);
+
        });
+
        
+
        // Try to load a test image
+
        const testImage = new Image();
+
        testImage.onload = () => log('resource-info', 'Test image loaded successfully', false);
+
        testImage.onerror = () => log('resource-info', 'Failed to load test image', true);
+
        testImage.src = './radicle.svg';
+
      }
+
      
+
      // Test Tauri API
+
      function testTauriAPI() {
+
        if (!window.__TAURI__) {
+
          log('error-log', 'Tauri API is not available', true);
+
          return;
+
        }
+
        
+
        try {
+
          log('error-log', 'Attempting to call Tauri API...');
+
          window.__TAURI__.invoke('tauri', { cmd: 'getAppDir' })
+
            .then(response => {
+
              log('error-log', `Tauri API responded: ${response}`, false);
+
            })
+
            .catch(err => {
+
              log('error-log', `Tauri API error: ${err}`, true);
+
            });
+
        } catch (e) {
+
          log('error-log', `Exception calling Tauri API: ${e.message}`, true);
+
        }
+
      }
+
      
+
      // Load the original app
+
      function loadOriginal() {
+
        try {
+
          // Dynamically load the original app script
+
          const script = document.createElement('script');
+
          script.type = 'module';
+
          script.src = './assets/index-nR_OuIFH.js';
+
          script.onload = () => log('error-log', 'Original app script loaded', false);
+
          script.onerror = (e) => log('error-log', `Failed to load original app script: ${e.message}`, true);
+
          document.head.appendChild(script);
+
          
+
          // Load CSS
+
          const css = document.createElement('link');
+
          css.rel = 'stylesheet';
+
          css.href = './assets/index-K8j3Cl8_.css';
+
          css.onload = () => log('error-log', 'Original app CSS loaded', false);
+
          css.onerror = (e) => log('error-log', `Failed to load original app CSS: ${e.message}`, true);
+
          document.head.appendChild(css);
+
        } catch (e) {
+
          log('error-log', `Exception loading original app: ${e.message}`, true);
+
        }
+
      }
+
      
+
      // Error handling
+
      window.addEventListener('error', function(e) {
+
        log('error-log', `ERROR: ${e.message} at ${e.filename}:${e.lineno}`, true);
+
      });
+
      
+
      // Run initial checks
+
      window.onload = function() {
+
        checkEnvironment();
+
        checkResources();
+
      };
+
    </script>
+
  </body>
+
</html>

\ No newline at end of file
added crates/ios-tauri/dev_main.mm
@@ -0,0 +1,93 @@
+
#include "bindings/bindings.h"
+
#import <UIKit/UIKit.h>
+
#import <WebKit/WebKit.h>
+
#import <Foundation/Foundation.h>
+

+
@interface AppDelegate : UIResponder <UIApplicationDelegate, WKNavigationDelegate>
+
@property (strong, nonatomic) UIWindow *window;
+
- (void)findFilesWithExtension:(NSString *)extension inDirectory:(NSString *)directory results:(NSMutableArray *)results;
+
@end
+

+
@implementation AppDelegate
+

+
- (void)findFilesWithExtension:(NSString *)extension inDirectory:(NSString *)directory results:(NSMutableArray *)results {
+
    NSFileManager *fileManager = [NSFileManager defaultManager];
+
    NSArray *contents = [fileManager contentsOfDirectoryAtPath:directory error:nil];
+
    
+
    for (NSString *item in contents) {
+
        NSString *fullPath = [directory stringByAppendingPathComponent:item];
+
        BOOL isDirectory = NO;
+
        [fileManager fileExistsAtPath:fullPath isDirectory:&isDirectory];
+
        
+
        if (isDirectory) {
+
            [self findFilesWithExtension:extension inDirectory:fullPath results:results];
+
        } else if ([[item pathExtension] isEqualToString:extension]) {
+
            [results addObject:fullPath];
+
        }
+
    }
+
}
+

+
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
+
    NSLog(@"WebView finished loading");
+
}
+

+
- (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error {
+
    NSLog(@"WebView failed to load: %@", error);
+
}
+

+
- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error {
+
    NSLog(@"WebView failed provisional navigation: %@", error);
+
}
+

+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
+
    
+
    // Set up the view controller
+
    UIViewController *viewController = [[UIViewController alloc] init];
+
    
+
    // Create a basic WebView configuration
+
    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
+
    
+
    // Configure preferences the standard way
+
    WKPreferences *preferences = [[WKPreferences alloc] init];
+
    preferences.javaScriptEnabled = YES;
+
    preferences.javaScriptCanOpenWindowsAutomatically = YES;
+
    config.preferences = preferences;
+
    
+
    // Create the WebView
+
    WKWebView *webView = [[WKWebView alloc] initWithFrame:viewController.view.bounds configuration:config];
+
    webView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
+
    webView.navigationDelegate = self;
+
    [viewController.view addSubview:webView];
+
    
+
    // Find and load index.html
+
    NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
+
    NSString *webIndexPath = [bundlePath stringByAppendingPathComponent:@"assets/web/index.html"];
+
    NSFileManager *fileManager = [NSFileManager defaultManager];
+
    
+
    if ([fileManager fileExistsAtPath:webIndexPath]) {
+
        NSLog(@"Loading index.html from: %@", webIndexPath);
+
        
+
        // Load the file directly with file system access
+
        NSURL *indexURL = [NSURL fileURLWithPath:webIndexPath];
+
        NSURL *baseURL = [NSURL fileURLWithPath:[webIndexPath stringByDeletingLastPathComponent]];
+
        
+
        // Use the loadFileURL method with proper access permissions
+
        [webView loadFileURL:indexURL allowingReadAccessToURL:baseURL];
+
    } else {
+
        NSLog(@"index.html not found, showing error");
+
        [webView loadHTMLString:@"<html><body style='background:red;color:white;padding:20px'><h1>Error</h1><p>Could not find index.html</p></body></html>" baseURL:nil];
+
    }
+
    
+
    self.window.rootViewController = viewController;
+
    [self.window makeKeyAndVisible];
+
    return YES;
+
}
+

+
@end
+

+
int main(int argc, char * argv[]) {
+
    @autoreleasepool {
+
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+
    }
+
}
added crates/ios-tauri/file_concat.py
@@ -0,0 +1,91 @@
+
#!/usr/bin/env python3
+
"""
+
This script concatenates multiple files into a single output file.
+
You can specify the files to concatenate and the output file name.
+

+
This is useful for debugging 
+
"""
+

+
import os
+
import sys
+

+
def concatenate_files(file_list, output_file):
+
    """
+
    Concatenate the contents of files in file_list into output_file.
+
    
+
    Args:
+
        file_list (list): List of file paths to concatenate
+
        output_file (str): Path to the output file
+
    
+
    Returns:
+
        bool: True if successful, False otherwise
+
    """
+
    try:
+
        with open(output_file, 'w', encoding='utf-8') as outfile:
+
            # Add a header to the output file
+
            outfile.write(f"# Concatenated file created from {len(file_list)} files\n\n")
+
            
+
            for file_path in file_list:
+
                if not os.path.exists(file_path):
+
                    print(f"Warning: File not found: {file_path}")
+
                    continue
+
                    
+
                # Add a file separator for clarity
+
                outfile.write(f"\n\n# ======== Content from: {file_path} ========\n\n")
+
                
+
                try:
+
                    with open(file_path, 'r', encoding='utf-8') as infile:
+
                        outfile.write(infile.read())
+
                except UnicodeDecodeError:
+
                    # Try with a different encoding if UTF-8 fails
+
                    with open(file_path, 'r', encoding='latin-1') as infile:
+
                        outfile.write(infile.read())
+
                except Exception as e:
+
                    print(f"Error reading {file_path}: {e}")
+
        
+
        print(f"Successfully created {output_file} from {len(file_list)} files")
+
        return True
+
    
+
    except Exception as e:
+
        print(f"Error: {e}")
+
        return False
+

+
def main():
+
    """
+
    Main function to run the script interactively or from command line arguments.
+
    """
+
    # Check if files were passed as command line arguments
+
    if len(sys.argv) > 2:
+
        output_file = sys.argv[1]
+
        file_list = sys.argv[2:]
+
        concatenate_files(file_list, output_file)
+
        return
+
    
+
    # If no command line arguments, run in interactive mode
+
    print("File Concatenation Utility")
+
    print("=========================")
+
    
+
    # Get files to concatenate
+
    print("\nEnter file names to concatenate (one per line, leave blank to finish):")
+
    file_list = ["src-tauri/src/lib.rs", "src-tauri/src/main.rs", "src-tauri/Cargo.toml", "src-tauri/build.rs", "src-tauri/tauri.conf.json"]
+
    while True:
+
        file_name = input("> ").strip()
+
        if not file_name:
+
            break
+
        file_list.append(file_name)
+
    
+
    if not file_list:
+
        print("No files specified. Exiting.")
+
        return
+
    
+
    # Get output file name
+
    output_file = input("\nEnter output file name: ").strip()
+
    if not output_file:
+
        output_file = "concatenated_output.txt"
+
        print(f"Using default output file: {output_file}")
+
    
+
    # Perform concatenation
+
    concatenate_files(file_list, output_file)
+

+
if __name__ == "__main__":
+
    main()

\ No newline at end of file
added crates/ios-tauri/ios/.gitignore
@@ -0,0 +1,10 @@
+
.DS_Store
+
/.build
+
/Packages
+
/*.xcodeproj
+
xcuserdata/
+
DerivedData/
+
.swiftpm/config/registries.json
+
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
+
.netrc
+
Package.resolved
added crates/ios-tauri/ios/Package.swift
@@ -0,0 +1,32 @@
+
// swift-tools-version:5.3
+
// The swift-tools-version declares the minimum version of Swift required to build this package.
+

+
import PackageDescription
+

+
let package = Package(
+
    name: "tauri-plugin-ios-tauri",
+
    platforms: [
+
        .macOS(.v10_13),
+
        .iOS(.v13),
+
    ],
+
    products: [
+
        // Products define the executables and libraries a package produces, and make them visible to other packages.
+
        .library(
+
            name: "tauri-plugin-ios-tauri",
+
            type: .static,
+
            targets: ["tauri-plugin-ios-tauri"]),
+
    ],
+
    dependencies: [
+
        .package(name: "Tauri", path: "../.tauri/tauri-api")
+
    ],
+
    targets: [
+
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
+
        // Targets can depend on other targets in this package, and on products in packages this package depends on.
+
        .target(
+
            name: "tauri-plugin-ios-tauri",
+
            dependencies: [
+
                .byName(name: "Tauri")
+
            ],
+
            path: "Sources")
+
    ]
+
)
added crates/ios-tauri/ios/README.md
@@ -0,0 +1,3 @@
+
# Tauri Plugin ios-tauri
+

+
A description of this package.
added crates/ios-tauri/ios/Sources/ExamplePlugin.swift
@@ -0,0 +1,20 @@
+
import SwiftRs
+
import Tauri
+
import UIKit
+
import WebKit
+

+
class PingArgs: Decodable {
+
  let value: String?
+
}
+

+
class ExamplePlugin: Plugin {
+
  @objc public func ping(_ invoke: Invoke) throws {
+
    let args = try invoke.parseArgs(PingArgs.self)
+
    invoke.resolve(["value": args.value ?? ""])
+
  }
+
}
+

+
@_cdecl("init_plugin_ios_tauri")
+
func initPlugin() -> Plugin {
+
  return ExamplePlugin()
+
}
added crates/ios-tauri/ios/Tests/PluginTests/PluginTests.swift
@@ -0,0 +1,8 @@
+
import XCTest
+
@testable import ExamplePlugin
+

+
final class ExamplePluginTests: XCTestCase {
+
    func testExample() throws {
+
        let plugin = ExamplePlugin()
+
    }
+
}
added crates/ios-tauri/src-tauri/.gitignore
@@ -0,0 +1,4 @@
+
# Generated by Cargo
+
# will have compiled files and executables
+
/target/
+
/gen/schemas
added crates/ios-tauri/src-tauri/Cargo.lock
@@ -0,0 +1,5872 @@
+
# This file is automatically @generated by Cargo.
+
# It is not intended for manual editing.
+
version = 3
+

+
[[package]]
+
name = "addr2line"
+
version = "0.24.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
+
dependencies = [
+
 "gimli",
+
]
+

+
[[package]]
+
name = "adler2"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
+

+
[[package]]
+
name = "ahash"
+
version = "0.7.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
+
dependencies = [
+
 "getrandom 0.2.15",
+
 "once_cell",
+
 "version_check",
+
]
+

+
[[package]]
+
name = "aho-corasick"
+
version = "1.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+
dependencies = [
+
 "memchr",
+
]
+

+
[[package]]
+
name = "alloc-no-stdlib"
+
version = "2.0.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
+

+
[[package]]
+
name = "alloc-stdlib"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
+
dependencies = [
+
 "alloc-no-stdlib",
+
]
+

+
[[package]]
+
name = "android-tzdata"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+

+
[[package]]
+
name = "android_log-sys"
+
version = "0.3.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d"
+

+
[[package]]
+
name = "android_logger"
+
version = "0.15.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f6f39be698127218cca460cb624878c9aa4e2b47dba3b277963d2bf00bad263b"
+
dependencies = [
+
 "android_log-sys",
+
 "env_filter",
+
 "log",
+
]
+

+
[[package]]
+
name = "android_system_properties"
+
version = "0.1.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+
dependencies = [
+
 "libc",
+
]
+

+
[[package]]
+
name = "anyhow"
+
version = "1.0.97"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f"
+

+
[[package]]
+
name = "app"
+
version = "0.1.0"
+
dependencies = [
+
 "core-foundation 0.9.4",
+
 "log",
+
 "objc",
+
 "serde",
+
 "serde_json",
+
 "tauri",
+
 "tauri-build",
+
 "tauri-plugin",
+
 "tauri-plugin-clipboard-manager",
+
 "tauri-plugin-dialog",
+
 "tauri-plugin-log",
+
 "tauri-plugin-shell",
+
 "tauri-utils",
+
]
+

+
[[package]]
+
name = "arboard"
+
version = "3.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4"
+
dependencies = [
+
 "clipboard-win",
+
 "core-graphics 0.23.2",
+
 "image",
+
 "log",
+
 "objc2 0.5.2",
+
 "objc2-app-kit 0.2.2",
+
 "objc2-foundation 0.2.2",
+
 "parking_lot",
+
 "windows-sys 0.48.0",
+
 "wl-clipboard-rs",
+
 "x11rb",
+
]
+

+
[[package]]
+
name = "arrayvec"
+
version = "0.7.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
+

+
[[package]]
+
name = "ashpd"
+
version = "0.11.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6cbdf310d77fd3aaee6ea2093db7011dc2d35d2eb3481e5607f1f8d942ed99df"
+
dependencies = [
+
 "enumflags2",
+
 "futures-channel",
+
 "futures-util",
+
 "rand 0.9.0",
+
 "raw-window-handle",
+
 "serde",
+
 "serde_repr",
+
 "tokio",
+
 "url",
+
 "zbus",
+
]
+

+
[[package]]
+
name = "async-broadcast"
+
version = "0.7.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532"
+
dependencies = [
+
 "event-listener",
+
 "event-listener-strategy",
+
 "futures-core",
+
 "pin-project-lite",
+
]
+

+
[[package]]
+
name = "async-recursion"
+
version = "1.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "async-trait"
+
version = "0.1.88"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "atk"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b"
+
dependencies = [
+
 "atk-sys",
+
 "glib",
+
 "libc",
+
]
+

+
[[package]]
+
name = "atk-sys"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086"
+
dependencies = [
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "autocfg"
+
version = "1.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+

+
[[package]]
+
name = "backtrace"
+
version = "0.3.74"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
+
dependencies = [
+
 "addr2line",
+
 "cfg-if",
+
 "libc",
+
 "miniz_oxide",
+
 "object",
+
 "rustc-demangle",
+
 "windows-targets 0.52.6",
+
]
+

+
[[package]]
+
name = "base64"
+
version = "0.21.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+

+
[[package]]
+
name = "base64"
+
version = "0.22.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+

+
[[package]]
+
name = "bitflags"
+
version = "1.3.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+

+
[[package]]
+
name = "bitflags"
+
version = "2.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "bitvec"
+
version = "1.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+
dependencies = [
+
 "funty",
+
 "radium",
+
 "tap",
+
 "wyz",
+
]
+

+
[[package]]
+
name = "block-buffer"
+
version = "0.10.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+
dependencies = [
+
 "generic-array",
+
]
+

+
[[package]]
+
name = "block2"
+
version = "0.5.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f"
+
dependencies = [
+
 "objc2 0.5.2",
+
]
+

+
[[package]]
+
name = "block2"
+
version = "0.6.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1d59b4c170e16f0405a2e95aff44432a0d41aa97675f3d52623effe95792a037"
+
dependencies = [
+
 "objc2 0.6.0",
+
]
+

+
[[package]]
+
name = "borsh"
+
version = "1.5.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b2b74d67a0fc0af8e9823b79fd1c43a0900e5a8f0e0f4cc9210796bf3a820126"
+
dependencies = [
+
 "borsh-derive",
+
 "cfg_aliases 0.2.1",
+
]
+

+
[[package]]
+
name = "borsh-derive"
+
version = "1.5.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2d37ed1b2c9b78421218a0b4f6d8349132d6ec2cfeba1cfb0118b0a8e268df9e"
+
dependencies = [
+
 "once_cell",
+
 "proc-macro-crate 3.3.0",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "brotli"
+
version = "7.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
+
dependencies = [
+
 "alloc-no-stdlib",
+
 "alloc-stdlib",
+
 "brotli-decompressor",
+
]
+

+
[[package]]
+
name = "brotli-decompressor"
+
version = "4.0.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37"
+
dependencies = [
+
 "alloc-no-stdlib",
+
 "alloc-stdlib",
+
]
+

+
[[package]]
+
name = "bumpalo"
+
version = "3.17.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
+

+
[[package]]
+
name = "byte-unit"
+
version = "5.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e1cd29c3c585209b0cbc7309bfe3ed7efd8c84c21b7af29c8bfae908f8777174"
+
dependencies = [
+
 "rust_decimal",
+
 "serde",
+
 "utf8-width",
+
]
+

+
[[package]]
+
name = "bytecheck"
+
version = "0.6.12"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
+
dependencies = [
+
 "bytecheck_derive",
+
 "ptr_meta",
+
 "simdutf8",
+
]
+

+
[[package]]
+
name = "bytecheck_derive"
+
version = "0.6.12"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 1.0.109",
+
]
+

+
[[package]]
+
name = "bytemuck"
+
version = "1.22.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540"
+

+
[[package]]
+
name = "byteorder"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+

+
[[package]]
+
name = "byteorder-lite"
+
version = "0.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
+

+
[[package]]
+
name = "bytes"
+
version = "1.10.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "cairo-rs"
+
version = "0.18.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "cairo-sys-rs",
+
 "glib",
+
 "libc",
+
 "once_cell",
+
 "thiserror 1.0.69",
+
]
+

+
[[package]]
+
name = "cairo-sys-rs"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+
dependencies = [
+
 "glib-sys",
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "camino"
+
version = "1.1.9"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "cargo-platform"
+
version = "0.1.9"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "cargo_metadata"
+
version = "0.19.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba"
+
dependencies = [
+
 "camino",
+
 "cargo-platform",
+
 "semver",
+
 "serde",
+
 "serde_json",
+
 "thiserror 2.0.12",
+
]
+

+
[[package]]
+
name = "cargo_toml"
+
version = "0.22.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "02260d489095346e5cafd04dea8e8cb54d1d74fcd759022a9b72986ebe9a1257"
+
dependencies = [
+
 "serde",
+
 "toml",
+
]
+

+
[[package]]
+
name = "cc"
+
version = "1.2.16"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c"
+
dependencies = [
+
 "shlex",
+
]
+

+
[[package]]
+
name = "cesu8"
+
version = "1.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+

+
[[package]]
+
name = "cfb"
+
version = "0.7.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f"
+
dependencies = [
+
 "byteorder",
+
 "fnv",
+
 "uuid",
+
]
+

+
[[package]]
+
name = "cfg-expr"
+
version = "0.15.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02"
+
dependencies = [
+
 "smallvec",
+
 "target-lexicon",
+
]
+

+
[[package]]
+
name = "cfg-if"
+
version = "1.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+

+
[[package]]
+
name = "cfg_aliases"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+

+
[[package]]
+
name = "cfg_aliases"
+
version = "0.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+

+
[[package]]
+
name = "chrono"
+
version = "0.4.40"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c"
+
dependencies = [
+
 "android-tzdata",
+
 "iana-time-zone",
+
 "num-traits",
+
 "serde",
+
 "windows-link",
+
]
+

+
[[package]]
+
name = "clipboard-win"
+
version = "5.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892"
+
dependencies = [
+
 "error-code",
+
]
+

+
[[package]]
+
name = "combine"
+
version = "4.6.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
+
dependencies = [
+
 "bytes",
+
 "memchr",
+
]
+

+
[[package]]
+
name = "concurrent-queue"
+
version = "2.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
+
dependencies = [
+
 "crossbeam-utils",
+
]
+

+
[[package]]
+
name = "convert_case"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+

+
[[package]]
+
name = "cookie"
+
version = "0.18.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747"
+
dependencies = [
+
 "time",
+
 "version_check",
+
]
+

+
[[package]]
+
name = "core-foundation"
+
version = "0.9.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+
dependencies = [
+
 "core-foundation-sys",
+
 "libc",
+
]
+

+
[[package]]
+
name = "core-foundation"
+
version = "0.10.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63"
+
dependencies = [
+
 "core-foundation-sys",
+
 "libc",
+
]
+

+
[[package]]
+
name = "core-foundation-sys"
+
version = "0.8.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
+

+
[[package]]
+
name = "core-graphics"
+
version = "0.23.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "core-foundation 0.9.4",
+
 "core-graphics-types 0.1.3",
+
 "foreign-types",
+
 "libc",
+
]
+

+
[[package]]
+
name = "core-graphics"
+
version = "0.24.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "core-foundation 0.10.0",
+
 "core-graphics-types 0.2.0",
+
 "foreign-types",
+
 "libc",
+
]
+

+
[[package]]
+
name = "core-graphics-types"
+
version = "0.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "core-foundation 0.9.4",
+
 "libc",
+
]
+

+
[[package]]
+
name = "core-graphics-types"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "core-foundation 0.10.0",
+
 "libc",
+
]
+

+
[[package]]
+
name = "cpufeatures"
+
version = "0.2.17"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
+
dependencies = [
+
 "libc",
+
]
+

+
[[package]]
+
name = "crc32fast"
+
version = "1.4.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
+
dependencies = [
+
 "cfg-if",
+
]
+

+
[[package]]
+
name = "crossbeam-channel"
+
version = "0.5.14"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471"
+
dependencies = [
+
 "crossbeam-utils",
+
]
+

+
[[package]]
+
name = "crossbeam-utils"
+
version = "0.8.21"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
+

+
[[package]]
+
name = "crypto-common"
+
version = "0.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+
dependencies = [
+
 "generic-array",
+
 "typenum",
+
]
+

+
[[package]]
+
name = "cssparser"
+
version = "0.27.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
+
dependencies = [
+
 "cssparser-macros",
+
 "dtoa-short",
+
 "itoa 0.4.8",
+
 "matches",
+
 "phf 0.8.0",
+
 "proc-macro2",
+
 "quote",
+
 "smallvec",
+
 "syn 1.0.109",
+
]
+

+
[[package]]
+
name = "cssparser-macros"
+
version = "0.6.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
+
dependencies = [
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "ctor"
+
version = "0.2.9"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501"
+
dependencies = [
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "darling"
+
version = "0.20.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989"
+
dependencies = [
+
 "darling_core",
+
 "darling_macro",
+
]
+

+
[[package]]
+
name = "darling_core"
+
version = "0.20.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5"
+
dependencies = [
+
 "fnv",
+
 "ident_case",
+
 "proc-macro2",
+
 "quote",
+
 "strsim",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "darling_macro"
+
version = "0.20.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
+
dependencies = [
+
 "darling_core",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "deranged"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
+
dependencies = [
+
 "powerfmt",
+
 "serde",
+
]
+

+
[[package]]
+
name = "derive-new"
+
version = "0.6.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "derive_more"
+
version = "0.99.19"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f"
+
dependencies = [
+
 "convert_case",
+
 "proc-macro2",
+
 "quote",
+
 "rustc_version",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "digest"
+
version = "0.10.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+
dependencies = [
+
 "block-buffer",
+
 "crypto-common",
+
]
+

+
[[package]]
+
name = "dirs"
+
version = "6.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
+
dependencies = [
+
 "dirs-sys",
+
]
+

+
[[package]]
+
name = "dirs-sys"
+
version = "0.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
+
dependencies = [
+
 "libc",
+
 "option-ext",
+
 "redox_users",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "dispatch"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
+

+
[[package]]
+
name = "dispatch2"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1a0d569e003ff27784e0e14e4a594048698e0c0f0b66cabcb51511be55a7caa0"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.6.0",
+
 "libc",
+
 "objc2 0.6.0",
+
]
+

+
[[package]]
+
name = "displaydoc"
+
version = "0.2.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "dlopen2"
+
version = "0.7.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6"
+
dependencies = [
+
 "dlopen2_derive",
+
 "libc",
+
 "once_cell",
+
 "winapi",
+
]
+

+
[[package]]
+
name = "dlopen2_derive"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "downcast-rs"
+
version = "1.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
+

+
[[package]]
+
name = "dpi"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "dtoa"
+
version = "1.0.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04"
+

+
[[package]]
+
name = "dtoa-short"
+
version = "0.3.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87"
+
dependencies = [
+
 "dtoa",
+
]
+

+
[[package]]
+
name = "dunce"
+
version = "1.0.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
+

+
[[package]]
+
name = "dyn-clone"
+
version = "1.0.19"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
+

+
[[package]]
+
name = "embed-resource"
+
version = "3.0.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7fbc6e0d8e0c03a655b53ca813f0463d2c956bc4db8138dbc89f120b066551e3"
+
dependencies = [
+
 "cc",
+
 "memchr",
+
 "rustc_version",
+
 "toml",
+
 "vswhom",
+
 "winreg",
+
]
+

+
[[package]]
+
name = "embed_plist"
+
version = "1.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7"
+

+
[[package]]
+
name = "encoding_rs"
+
version = "0.8.35"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
+
dependencies = [
+
 "cfg-if",
+
]
+

+
[[package]]
+
name = "endi"
+
version = "1.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
+

+
[[package]]
+
name = "enumflags2"
+
version = "0.7.11"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147"
+
dependencies = [
+
 "enumflags2_derive",
+
 "serde",
+
]
+

+
[[package]]
+
name = "enumflags2_derive"
+
version = "0.7.11"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "env_filter"
+
version = "0.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
+
dependencies = [
+
 "log",
+
 "regex",
+
]
+

+
[[package]]
+
name = "equivalent"
+
version = "1.0.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
+

+
[[package]]
+
name = "erased-serde"
+
version = "0.4.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7"
+
dependencies = [
+
 "serde",
+
 "typeid",
+
]
+

+
[[package]]
+
name = "errno"
+
version = "0.3.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
+
dependencies = [
+
 "libc",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "error-code"
+
version = "3.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f"
+

+
[[package]]
+
name = "event-listener"
+
version = "5.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae"
+
dependencies = [
+
 "concurrent-queue",
+
 "parking",
+
 "pin-project-lite",
+
]
+

+
[[package]]
+
name = "event-listener-strategy"
+
version = "0.5.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2"
+
dependencies = [
+
 "event-listener",
+
 "pin-project-lite",
+
]
+

+
[[package]]
+
name = "fastrand"
+
version = "2.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
+

+
[[package]]
+
name = "fdeflate"
+
version = "0.3.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
+
dependencies = [
+
 "simd-adler32",
+
]
+

+
[[package]]
+
name = "fern"
+
version = "0.7.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4316185f709b23713e41e3195f90edef7fb00c3ed4adc79769cf09cc762a3b29"
+
dependencies = [
+
 "log",
+
]
+

+
[[package]]
+
name = "field-offset"
+
version = "0.3.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
+
dependencies = [
+
 "memoffset",
+
 "rustc_version",
+
]
+

+
[[package]]
+
name = "fixedbitset"
+
version = "0.4.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+

+
[[package]]
+
name = "flate2"
+
version = "1.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc"
+
dependencies = [
+
 "crc32fast",
+
 "miniz_oxide",
+
]
+

+
[[package]]
+
name = "fnv"
+
version = "1.0.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+

+
[[package]]
+
name = "foreign-types"
+
version = "0.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+
dependencies = [
+
 "foreign-types-macros",
+
 "foreign-types-shared",
+
]
+

+
[[package]]
+
name = "foreign-types-macros"
+
version = "0.2.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "foreign-types-shared"
+
version = "0.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+

+
[[package]]
+
name = "form_urlencoded"
+
version = "1.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+
dependencies = [
+
 "percent-encoding",
+
]
+

+
[[package]]
+
name = "funty"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+

+
[[package]]
+
name = "futf"
+
version = "0.1.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
+
dependencies = [
+
 "mac",
+
 "new_debug_unreachable",
+
]
+

+
[[package]]
+
name = "futures-channel"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
+
dependencies = [
+
 "futures-core",
+
]
+

+
[[package]]
+
name = "futures-core"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
+

+
[[package]]
+
name = "futures-executor"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
+
dependencies = [
+
 "futures-core",
+
 "futures-task",
+
 "futures-util",
+
]
+

+
[[package]]
+
name = "futures-io"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
+

+
[[package]]
+
name = "futures-lite"
+
version = "2.6.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532"
+
dependencies = [
+
 "fastrand",
+
 "futures-core",
+
 "futures-io",
+
 "parking",
+
 "pin-project-lite",
+
]
+

+
[[package]]
+
name = "futures-macro"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "futures-sink"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
+

+
[[package]]
+
name = "futures-task"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
+

+
[[package]]
+
name = "futures-util"
+
version = "0.3.31"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
+
dependencies = [
+
 "futures-core",
+
 "futures-io",
+
 "futures-macro",
+
 "futures-sink",
+
 "futures-task",
+
 "memchr",
+
 "pin-project-lite",
+
 "pin-utils",
+
 "slab",
+
]
+

+
[[package]]
+
name = "fxhash"
+
version = "0.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
+
dependencies = [
+
 "byteorder",
+
]
+

+
[[package]]
+
name = "gdk"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691"
+
dependencies = [
+
 "cairo-rs",
+
 "gdk-pixbuf",
+
 "gdk-sys",
+
 "gio",
+
 "glib",
+
 "libc",
+
 "pango",
+
]
+

+
[[package]]
+
name = "gdk-pixbuf"
+
version = "0.18.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec"
+
dependencies = [
+
 "gdk-pixbuf-sys",
+
 "gio",
+
 "glib",
+
 "libc",
+
 "once_cell",
+
]
+

+
[[package]]
+
name = "gdk-pixbuf-sys"
+
version = "0.18.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+
dependencies = [
+
 "gio-sys",
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "gdk-sys"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7"
+
dependencies = [
+
 "cairo-sys-rs",
+
 "gdk-pixbuf-sys",
+
 "gio-sys",
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "pango-sys",
+
 "pkg-config",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "gdkwayland-sys"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69"
+
dependencies = [
+
 "gdk-sys",
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "pkg-config",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "gdkx11"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe"
+
dependencies = [
+
 "gdk",
+
 "gdkx11-sys",
+
 "gio",
+
 "glib",
+
 "libc",
+
 "x11",
+
]
+

+
[[package]]
+
name = "gdkx11-sys"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d"
+
dependencies = [
+
 "gdk-sys",
+
 "glib-sys",
+
 "libc",
+
 "system-deps",
+
 "x11",
+
]
+

+
[[package]]
+
name = "generic-array"
+
version = "0.14.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+
dependencies = [
+
 "typenum",
+
 "version_check",
+
]
+

+
[[package]]
+
name = "gethostname"
+
version = "0.4.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
+
dependencies = [
+
 "libc",
+
 "windows-targets 0.48.5",
+
]
+

+
[[package]]
+
name = "getrandom"
+
version = "0.1.16"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+
dependencies = [
+
 "cfg-if",
+
 "libc",
+
 "wasi 0.9.0+wasi-snapshot-preview1",
+
]
+

+
[[package]]
+
name = "getrandom"
+
version = "0.2.15"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+
dependencies = [
+
 "cfg-if",
+
 "libc",
+
 "wasi 0.11.0+wasi-snapshot-preview1",
+
]
+

+
[[package]]
+
name = "getrandom"
+
version = "0.3.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
+
dependencies = [
+
 "cfg-if",
+
 "libc",
+
 "r-efi",
+
 "wasi 0.14.2+wasi-0.2.4",
+
]
+

+
[[package]]
+
name = "gimli"
+
version = "0.31.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
+

+
[[package]]
+
name = "gio"
+
version = "0.18.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
+
dependencies = [
+
 "futures-channel",
+
 "futures-core",
+
 "futures-io",
+
 "futures-util",
+
 "gio-sys",
+
 "glib",
+
 "libc",
+
 "once_cell",
+
 "pin-project-lite",
+
 "smallvec",
+
 "thiserror 1.0.69",
+
]
+

+
[[package]]
+
name = "gio-sys"
+
version = "0.18.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+
dependencies = [
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "system-deps",
+
 "winapi",
+
]
+

+
[[package]]
+
name = "glib"
+
version = "0.18.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "futures-channel",
+
 "futures-core",
+
 "futures-executor",
+
 "futures-task",
+
 "futures-util",
+
 "gio-sys",
+
 "glib-macros",
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "memchr",
+
 "once_cell",
+
 "smallvec",
+
 "thiserror 1.0.69",
+
]
+

+
[[package]]
+
name = "glib-macros"
+
version = "0.18.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
+
dependencies = [
+
 "heck 0.4.1",
+
 "proc-macro-crate 2.0.0",
+
 "proc-macro-error",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "glib-sys"
+
version = "0.18.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+
dependencies = [
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "glob"
+
version = "0.3.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
+

+
[[package]]
+
name = "gobject-sys"
+
version = "0.18.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+
dependencies = [
+
 "glib-sys",
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "gtk"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a"
+
dependencies = [
+
 "atk",
+
 "cairo-rs",
+
 "field-offset",
+
 "futures-channel",
+
 "gdk",
+
 "gdk-pixbuf",
+
 "gio",
+
 "glib",
+
 "gtk-sys",
+
 "gtk3-macros",
+
 "libc",
+
 "pango",
+
 "pkg-config",
+
]
+

+
[[package]]
+
name = "gtk-sys"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414"
+
dependencies = [
+
 "atk-sys",
+
 "cairo-sys-rs",
+
 "gdk-pixbuf-sys",
+
 "gdk-sys",
+
 "gio-sys",
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "pango-sys",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "gtk3-macros"
+
version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d"
+
dependencies = [
+
 "proc-macro-crate 1.3.1",
+
 "proc-macro-error",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "hashbrown"
+
version = "0.12.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
dependencies = [
+
 "ahash",
+
]
+

+
[[package]]
+
name = "hashbrown"
+
version = "0.15.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
+

+
[[package]]
+
name = "heck"
+
version = "0.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+

+
[[package]]
+
name = "heck"
+
version = "0.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+

+
[[package]]
+
name = "hex"
+
version = "0.4.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+

+
[[package]]
+
name = "html5ever"
+
version = "0.26.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
+
dependencies = [
+
 "log",
+
 "mac",
+
 "markup5ever",
+
 "proc-macro2",
+
 "quote",
+
 "syn 1.0.109",
+
]
+

+
[[package]]
+
name = "http"
+
version = "1.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
+
dependencies = [
+
 "bytes",
+
 "fnv",
+
 "itoa 1.0.15",
+
]
+

+
[[package]]
+
name = "http-body"
+
version = "1.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
+
dependencies = [
+
 "bytes",
+
 "http",
+
]
+

+
[[package]]
+
name = "http-body-util"
+
version = "0.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
+
dependencies = [
+
 "bytes",
+
 "futures-core",
+
 "http",
+
 "http-body",
+
 "pin-project-lite",
+
]
+

+
[[package]]
+
name = "httparse"
+
version = "1.10.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
+

+
[[package]]
+
name = "hyper"
+
version = "1.6.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
+
dependencies = [
+
 "bytes",
+
 "futures-channel",
+
 "futures-util",
+
 "http",
+
 "http-body",
+
 "httparse",
+
 "itoa 1.0.15",
+
 "pin-project-lite",
+
 "smallvec",
+
 "tokio",
+
 "want",
+
]
+

+
[[package]]
+
name = "hyper-util"
+
version = "0.1.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
+
dependencies = [
+
 "bytes",
+
 "futures-channel",
+
 "futures-util",
+
 "http",
+
 "http-body",
+
 "hyper",
+
 "pin-project-lite",
+
 "socket2",
+
 "tokio",
+
 "tower-service",
+
 "tracing",
+
]
+

+
[[package]]
+
name = "iana-time-zone"
+
version = "0.1.61"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
+
dependencies = [
+
 "android_system_properties",
+
 "core-foundation-sys",
+
 "iana-time-zone-haiku",
+
 "js-sys",
+
 "wasm-bindgen",
+
 "windows-core 0.52.0",
+
]
+

+
[[package]]
+
name = "iana-time-zone-haiku"
+
version = "0.1.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+
dependencies = [
+
 "cc",
+
]
+

+
[[package]]
+
name = "ico"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cc50b891e4acf8fe0e71ef88ec43ad82ee07b3810ad09de10f1d01f072ed4b98"
+
dependencies = [
+
 "byteorder",
+
 "png",
+
]
+

+
[[package]]
+
name = "icu_collections"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
+
dependencies = [
+
 "displaydoc",
+
 "yoke",
+
 "zerofrom",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_locid"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
+
dependencies = [
+
 "displaydoc",
+
 "litemap",
+
 "tinystr",
+
 "writeable",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_locid_transform"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
+
dependencies = [
+
 "displaydoc",
+
 "icu_locid",
+
 "icu_locid_transform_data",
+
 "icu_provider",
+
 "tinystr",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_locid_transform_data"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
+

+
[[package]]
+
name = "icu_normalizer"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
+
dependencies = [
+
 "displaydoc",
+
 "icu_collections",
+
 "icu_normalizer_data",
+
 "icu_properties",
+
 "icu_provider",
+
 "smallvec",
+
 "utf16_iter",
+
 "utf8_iter",
+
 "write16",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_normalizer_data"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
+

+
[[package]]
+
name = "icu_properties"
+
version = "1.5.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
+
dependencies = [
+
 "displaydoc",
+
 "icu_collections",
+
 "icu_locid_transform",
+
 "icu_properties_data",
+
 "icu_provider",
+
 "tinystr",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_properties_data"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
+

+
[[package]]
+
name = "icu_provider"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
+
dependencies = [
+
 "displaydoc",
+
 "icu_locid",
+
 "icu_provider_macros",
+
 "stable_deref_trait",
+
 "tinystr",
+
 "writeable",
+
 "yoke",
+
 "zerofrom",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "icu_provider_macros"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "ident_case"
+
version = "1.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+

+
[[package]]
+
name = "idna"
+
version = "1.0.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
+
dependencies = [
+
 "idna_adapter",
+
 "smallvec",
+
 "utf8_iter",
+
]
+

+
[[package]]
+
name = "idna_adapter"
+
version = "1.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
+
dependencies = [
+
 "icu_normalizer",
+
 "icu_properties",
+
]
+

+
[[package]]
+
name = "image"
+
version = "0.25.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b"
+
dependencies = [
+
 "bytemuck",
+
 "byteorder-lite",
+
 "num-traits",
+
 "png",
+
 "tiff",
+
]
+

+
[[package]]
+
name = "indexmap"
+
version = "1.9.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+
dependencies = [
+
 "autocfg",
+
 "hashbrown 0.12.3",
+
 "serde",
+
]
+

+
[[package]]
+
name = "indexmap"
+
version = "2.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058"
+
dependencies = [
+
 "equivalent",
+
 "hashbrown 0.15.2",
+
 "serde",
+
]
+

+
[[package]]
+
name = "infer"
+
version = "0.19.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7"
+
dependencies = [
+
 "cfb",
+
]
+

+
[[package]]
+
name = "ipnet"
+
version = "2.11.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
+

+
[[package]]
+
name = "is-docker"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3"
+
dependencies = [
+
 "once_cell",
+
]
+

+
[[package]]
+
name = "is-wsl"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5"
+
dependencies = [
+
 "is-docker",
+
 "once_cell",
+
]
+

+
[[package]]
+
name = "itoa"
+
version = "0.4.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
+

+
[[package]]
+
name = "itoa"
+
version = "1.0.15"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
+

+
[[package]]
+
name = "javascriptcore-rs"
+
version = "1.1.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "glib",
+
 "javascriptcore-rs-sys",
+
]
+

+
[[package]]
+
name = "javascriptcore-rs-sys"
+
version = "1.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124"
+
dependencies = [
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "jni"
+
version = "0.21.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+
dependencies = [
+
 "cesu8",
+
 "cfg-if",
+
 "combine",
+
 "jni-sys",
+
 "log",
+
 "thiserror 1.0.69",
+
 "walkdir",
+
 "windows-sys 0.45.0",
+
]
+

+
[[package]]
+
name = "jni-sys"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
+

+
[[package]]
+
name = "jpeg-decoder"
+
version = "0.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+

+
[[package]]
+
name = "js-sys"
+
version = "0.3.77"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
+
dependencies = [
+
 "once_cell",
+
 "wasm-bindgen",
+
]
+

+
[[package]]
+
name = "json-patch"
+
version = "3.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08"
+
dependencies = [
+
 "jsonptr",
+
 "serde",
+
 "serde_json",
+
 "thiserror 1.0.69",
+
]
+

+
[[package]]
+
name = "jsonptr"
+
version = "0.6.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70"
+
dependencies = [
+
 "serde",
+
 "serde_json",
+
]
+

+
[[package]]
+
name = "keyboard-types"
+
version = "0.7.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "serde",
+
 "unicode-segmentation",
+
]
+

+
[[package]]
+
name = "kuchikiki"
+
version = "0.8.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8"
+
dependencies = [
+
 "cssparser",
+
 "html5ever",
+
 "indexmap 1.9.3",
+
 "matches",
+
 "selectors",
+
]
+

+
[[package]]
+
name = "lazy_static"
+
version = "1.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+

+
[[package]]
+
name = "libappindicator"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a"
+
dependencies = [
+
 "glib",
+
 "gtk",
+
 "gtk-sys",
+
 "libappindicator-sys",
+
 "log",
+
]
+

+
[[package]]
+
name = "libappindicator-sys"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf"
+
dependencies = [
+
 "gtk-sys",
+
 "libloading",
+
 "once_cell",
+
]
+

+
[[package]]
+
name = "libc"
+
version = "0.2.171"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
+

+
[[package]]
+
name = "libloading"
+
version = "0.7.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+
dependencies = [
+
 "cfg-if",
+
 "winapi",
+
]
+

+
[[package]]
+
name = "libredox"
+
version = "0.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "libc",
+
]
+

+
[[package]]
+
name = "linux-raw-sys"
+
version = "0.4.15"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
+

+
[[package]]
+
name = "linux-raw-sys"
+
version = "0.9.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413"
+

+
[[package]]
+
name = "litemap"
+
version = "0.7.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
+

+
[[package]]
+
name = "lock_api"
+
version = "0.4.12"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
+
dependencies = [
+
 "autocfg",
+
 "scopeguard",
+
]
+

+
[[package]]
+
name = "log"
+
version = "0.4.26"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e"
+
dependencies = [
+
 "value-bag",
+
]
+

+
[[package]]
+
name = "mac"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
+

+
[[package]]
+
name = "malloc_buf"
+
version = "0.0.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+
dependencies = [
+
 "libc",
+
]
+

+
[[package]]
+
name = "markup5ever"
+
version = "0.11.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
+
dependencies = [
+
 "log",
+
 "phf 0.10.1",
+
 "phf_codegen 0.10.0",
+
 "string_cache",
+
 "string_cache_codegen",
+
 "tendril",
+
]
+

+
[[package]]
+
name = "matches"
+
version = "0.1.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+

+
[[package]]
+
name = "memchr"
+
version = "2.7.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+

+
[[package]]
+
name = "memoffset"
+
version = "0.9.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
+
dependencies = [
+
 "autocfg",
+
]
+

+
[[package]]
+
name = "mime"
+
version = "0.3.17"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+

+
[[package]]
+
name = "minimal-lexical"
+
version = "0.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+

+
[[package]]
+
name = "miniz_oxide"
+
version = "0.8.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
+
dependencies = [
+
 "adler2",
+
 "simd-adler32",
+
]
+

+
[[package]]
+
name = "mio"
+
version = "1.0.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
+
dependencies = [
+
 "libc",
+
 "wasi 0.11.0+wasi-snapshot-preview1",
+
 "windows-sys 0.52.0",
+
]
+

+
[[package]]
+
name = "muda"
+
version = "0.16.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4de14a9b5d569ca68d7c891d613b390cf5ab4f851c77aaa2f9e435555d3d9492"
+
dependencies = [
+
 "crossbeam-channel",
+
 "dpi",
+
 "gtk",
+
 "keyboard-types",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-core-foundation",
+
 "objc2-foundation 0.3.0",
+
 "once_cell",
+
 "png",
+
 "serde",
+
 "thiserror 2.0.12",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "ndk"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "jni-sys",
+
 "log",
+
 "ndk-sys",
+
 "num_enum",
+
 "raw-window-handle",
+
 "thiserror 1.0.69",
+
]
+

+
[[package]]
+
name = "ndk-context"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
+

+
[[package]]
+
name = "ndk-sys"
+
version = "0.6.0+11769913"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873"
+
dependencies = [
+
 "jni-sys",
+
]
+

+
[[package]]
+
name = "new_debug_unreachable"
+
version = "1.0.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
+

+
[[package]]
+
name = "nix"
+
version = "0.28.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "cfg-if",
+
 "cfg_aliases 0.1.1",
+
 "libc",
+
]
+

+
[[package]]
+
name = "nix"
+
version = "0.29.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "cfg-if",
+
 "cfg_aliases 0.2.1",
+
 "libc",
+
 "memoffset",
+
]
+

+
[[package]]
+
name = "nodrop"
+
version = "0.1.14"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
+

+
[[package]]
+
name = "nom"
+
version = "7.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+
dependencies = [
+
 "memchr",
+
 "minimal-lexical",
+
]
+

+
[[package]]
+
name = "num-conv"
+
version = "0.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+

+
[[package]]
+
name = "num-traits"
+
version = "0.2.19"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+
dependencies = [
+
 "autocfg",
+
]
+

+
[[package]]
+
name = "num_enum"
+
version = "0.7.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
+
dependencies = [
+
 "num_enum_derive",
+
]
+

+
[[package]]
+
name = "num_enum_derive"
+
version = "0.7.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
+
dependencies = [
+
 "proc-macro-crate 3.3.0",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "num_threads"
+
version = "0.1.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+
dependencies = [
+
 "libc",
+
]
+

+
[[package]]
+
name = "objc"
+
version = "0.2.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+
dependencies = [
+
 "malloc_buf",
+
]
+

+
[[package]]
+
name = "objc-sys"
+
version = "0.3.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310"
+

+
[[package]]
+
name = "objc2"
+
version = "0.5.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804"
+
dependencies = [
+
 "objc-sys",
+
 "objc2-encode",
+
]
+

+
[[package]]
+
name = "objc2"
+
version = "0.6.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3531f65190d9cff863b77a99857e74c314dd16bf56c538c4b57c7cbc3f3a6e59"
+
dependencies = [
+
 "objc2-encode",
+
 "objc2-exception-helper",
+
]
+

+
[[package]]
+
name = "objc2-app-kit"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.5.1",
+
 "libc",
+
 "objc2 0.5.2",
+
 "objc2-core-data 0.2.2",
+
 "objc2-core-image 0.2.2",
+
 "objc2-foundation 0.2.2",
+
 "objc2-quartz-core 0.2.2",
+
]
+

+
[[package]]
+
name = "objc2-app-kit"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5906f93257178e2f7ae069efb89fbd6ee94f0592740b5f8a1512ca498814d0fb"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.6.0",
+
 "libc",
+
 "objc2 0.6.0",
+
 "objc2-cloud-kit",
+
 "objc2-core-data 0.3.0",
+
 "objc2-core-foundation",
+
 "objc2-core-graphics",
+
 "objc2-core-image 0.3.0",
+
 "objc2-foundation 0.3.0",
+
 "objc2-quartz-core 0.3.0",
+
]
+

+
[[package]]
+
name = "objc2-cloud-kit"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6c1948a9be5f469deadbd6bcb86ad7ff9e47b4f632380139722f7d9840c0d42c"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "objc2 0.6.0",
+
 "objc2-foundation 0.3.0",
+
]
+

+
[[package]]
+
name = "objc2-core-data"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.5.1",
+
 "objc2 0.5.2",
+
 "objc2-foundation 0.2.2",
+
]
+

+
[[package]]
+
name = "objc2-core-data"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1f860f8e841f6d32f754836f51e6bc7777cd7e7053cf18528233f6811d3eceb4"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "objc2 0.6.0",
+
 "objc2-foundation 0.3.0",
+
]
+

+
[[package]]
+
name = "objc2-core-foundation"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "daeaf60f25471d26948a1c2f840e3f7d86f4109e3af4e8e4b5cd70c39690d925"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "objc2 0.6.0",
+
]
+

+
[[package]]
+
name = "objc2-core-graphics"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f8dca602628b65356b6513290a21a6405b4d4027b8b250f0b98dddbb28b7de02"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "objc2 0.6.0",
+
 "objc2-core-foundation",
+
 "objc2-io-surface",
+
]
+

+
[[package]]
+
name = "objc2-core-image"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80"
+
dependencies = [
+
 "block2 0.5.1",
+
 "objc2 0.5.2",
+
 "objc2-foundation 0.2.2",
+
 "objc2-metal",
+
]
+

+
[[package]]
+
name = "objc2-core-image"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6ffa6bea72bf42c78b0b34e89c0bafac877d5f80bf91e159a5d96ea7f693ca56"
+
dependencies = [
+
 "objc2 0.6.0",
+
 "objc2-foundation 0.3.0",
+
]
+

+
[[package]]
+
name = "objc2-encode"
+
version = "4.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
+

+
[[package]]
+
name = "objc2-exception-helper"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a"
+
dependencies = [
+
 "cc",
+
]
+

+
[[package]]
+
name = "objc2-foundation"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.5.1",
+
 "libc",
+
 "objc2 0.5.2",
+
]
+

+
[[package]]
+
name = "objc2-foundation"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3a21c6c9014b82c39515db5b396f91645182611c97d24637cf56ac01e5f8d998"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.6.0",
+
 "libc",
+
 "objc2 0.6.0",
+
 "objc2-core-foundation",
+
]
+

+
[[package]]
+
name = "objc2-io-surface"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "161a8b87e32610086e1a7a9e9ec39f84459db7b3a0881c1f16ca5a2605581c19"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "objc2 0.6.0",
+
 "objc2-core-foundation",
+
]
+

+
[[package]]
+
name = "objc2-metal"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.5.1",
+
 "objc2 0.5.2",
+
 "objc2-foundation 0.2.2",
+
]
+

+
[[package]]
+
name = "objc2-quartz-core"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.5.1",
+
 "objc2 0.5.2",
+
 "objc2-foundation 0.2.2",
+
 "objc2-metal",
+
]
+

+
[[package]]
+
name = "objc2-quartz-core"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6fb3794501bb1bee12f08dcad8c61f2a5875791ad1c6f47faa71a0f033f20071"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "objc2 0.6.0",
+
 "objc2-foundation 0.3.0",
+
]
+

+
[[package]]
+
name = "objc2-ui-kit"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "777a571be14a42a3990d4ebedaeb8b54cd17377ec21b92e8200ac03797b3bee1"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "objc2 0.6.0",
+
 "objc2-core-foundation",
+
 "objc2-foundation 0.3.0",
+
]
+

+
[[package]]
+
name = "objc2-web-kit"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b717127e4014b0f9f3e8bba3d3f2acec81f1bde01f656823036e823ed2c94dce"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "block2 0.6.0",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-core-foundation",
+
 "objc2-foundation 0.3.0",
+
]
+

+
[[package]]
+
name = "object"
+
version = "0.36.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
+
dependencies = [
+
 "memchr",
+
]
+

+
[[package]]
+
name = "once_cell"
+
version = "1.21.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc"
+

+
[[package]]
+
name = "open"
+
version = "5.3.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95"
+
dependencies = [
+
 "dunce",
+
 "is-wsl",
+
 "libc",
+
 "pathdiff",
+
]
+

+
[[package]]
+
name = "option-ext"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+

+
[[package]]
+
name = "ordered-stream"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
+
dependencies = [
+
 "futures-core",
+
 "pin-project-lite",
+
]
+

+
[[package]]
+
name = "os_pipe"
+
version = "1.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982"
+
dependencies = [
+
 "libc",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "pango"
+
version = "0.18.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
+
dependencies = [
+
 "gio",
+
 "glib",
+
 "libc",
+
 "once_cell",
+
 "pango-sys",
+
]
+

+
[[package]]
+
name = "pango-sys"
+
version = "0.18.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+
dependencies = [
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "parking"
+
version = "2.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
+

+
[[package]]
+
name = "parking_lot"
+
version = "0.12.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
+
dependencies = [
+
 "lock_api",
+
 "parking_lot_core",
+
]
+

+
[[package]]
+
name = "parking_lot_core"
+
version = "0.9.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
+
dependencies = [
+
 "cfg-if",
+
 "libc",
+
 "redox_syscall",
+
 "smallvec",
+
 "windows-targets 0.52.6",
+
]
+

+
[[package]]
+
name = "pathdiff"
+
version = "0.2.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
+

+
[[package]]
+
name = "percent-encoding"
+
version = "2.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+

+
[[package]]
+
name = "petgraph"
+
version = "0.6.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
+
dependencies = [
+
 "fixedbitset",
+
 "indexmap 2.8.0",
+
]
+

+
[[package]]
+
name = "phf"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
+
dependencies = [
+
 "phf_macros 0.8.0",
+
 "phf_shared 0.8.0",
+
 "proc-macro-hack",
+
]
+

+
[[package]]
+
name = "phf"
+
version = "0.10.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
+
dependencies = [
+
 "phf_shared 0.10.0",
+
]
+

+
[[package]]
+
name = "phf"
+
version = "0.11.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
+
dependencies = [
+
 "phf_macros 0.11.3",
+
 "phf_shared 0.11.3",
+
]
+

+
[[package]]
+
name = "phf_codegen"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
+
dependencies = [
+
 "phf_generator 0.8.0",
+
 "phf_shared 0.8.0",
+
]
+

+
[[package]]
+
name = "phf_codegen"
+
version = "0.10.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
+
dependencies = [
+
 "phf_generator 0.10.0",
+
 "phf_shared 0.10.0",
+
]
+

+
[[package]]
+
name = "phf_generator"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
+
dependencies = [
+
 "phf_shared 0.8.0",
+
 "rand 0.7.3",
+
]
+

+
[[package]]
+
name = "phf_generator"
+
version = "0.10.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
+
dependencies = [
+
 "phf_shared 0.10.0",
+
 "rand 0.8.5",
+
]
+

+
[[package]]
+
name = "phf_generator"
+
version = "0.11.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
+
dependencies = [
+
 "phf_shared 0.11.3",
+
 "rand 0.8.5",
+
]
+

+
[[package]]
+
name = "phf_macros"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
+
dependencies = [
+
 "phf_generator 0.8.0",
+
 "phf_shared 0.8.0",
+
 "proc-macro-hack",
+
 "proc-macro2",
+
 "quote",
+
 "syn 1.0.109",
+
]
+

+
[[package]]
+
name = "phf_macros"
+
version = "0.11.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
+
dependencies = [
+
 "phf_generator 0.11.3",
+
 "phf_shared 0.11.3",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "phf_shared"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
+
dependencies = [
+
 "siphasher 0.3.11",
+
]
+

+
[[package]]
+
name = "phf_shared"
+
version = "0.10.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+
dependencies = [
+
 "siphasher 0.3.11",
+
]
+

+
[[package]]
+
name = "phf_shared"
+
version = "0.11.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
+
dependencies = [
+
 "siphasher 1.0.1",
+
]
+

+
[[package]]
+
name = "pin-project-lite"
+
version = "0.2.16"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
+

+
[[package]]
+
name = "pin-utils"
+
version = "0.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+

+
[[package]]
+
name = "pkg-config"
+
version = "0.3.32"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
+

+
[[package]]
+
name = "plist"
+
version = "1.7.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
+
dependencies = [
+
 "base64 0.22.1",
+
 "indexmap 2.8.0",
+
 "quick-xml 0.32.0",
+
 "serde",
+
 "time",
+
]
+

+
[[package]]
+
name = "png"
+
version = "0.17.16"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "crc32fast",
+
 "fdeflate",
+
 "flate2",
+
 "miniz_oxide",
+
]
+

+
[[package]]
+
name = "powerfmt"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+

+
[[package]]
+
name = "ppv-lite86"
+
version = "0.2.21"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
+
dependencies = [
+
 "zerocopy",
+
]
+

+
[[package]]
+
name = "precomputed-hash"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+

+
[[package]]
+
name = "proc-macro-crate"
+
version = "1.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+
dependencies = [
+
 "once_cell",
+
 "toml_edit 0.19.15",
+
]
+

+
[[package]]
+
name = "proc-macro-crate"
+
version = "2.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+
dependencies = [
+
 "toml_edit 0.20.7",
+
]
+

+
[[package]]
+
name = "proc-macro-crate"
+
version = "3.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
+
dependencies = [
+
 "toml_edit 0.22.24",
+
]
+

+
[[package]]
+
name = "proc-macro-error"
+
version = "1.0.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+
dependencies = [
+
 "proc-macro-error-attr",
+
 "proc-macro2",
+
 "quote",
+
 "syn 1.0.109",
+
 "version_check",
+
]
+

+
[[package]]
+
name = "proc-macro-error-attr"
+
version = "1.0.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "version_check",
+
]
+

+
[[package]]
+
name = "proc-macro-hack"
+
version = "0.5.20+deprecated"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+

+
[[package]]
+
name = "proc-macro2"
+
version = "1.0.94"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
+
dependencies = [
+
 "unicode-ident",
+
]
+

+
[[package]]
+
name = "ptr_meta"
+
version = "0.1.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
+
dependencies = [
+
 "ptr_meta_derive",
+
]
+

+
[[package]]
+
name = "ptr_meta_derive"
+
version = "0.1.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 1.0.109",
+
]
+

+
[[package]]
+
name = "quick-xml"
+
version = "0.32.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2"
+
dependencies = [
+
 "memchr",
+
]
+

+
[[package]]
+
name = "quick-xml"
+
version = "0.37.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003"
+
dependencies = [
+
 "memchr",
+
]
+

+
[[package]]
+
name = "quote"
+
version = "1.0.40"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+
dependencies = [
+
 "proc-macro2",
+
]
+

+
[[package]]
+
name = "r-efi"
+
version = "5.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
+

+
[[package]]
+
name = "radium"
+
version = "0.7.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+

+
[[package]]
+
name = "rand"
+
version = "0.7.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+
dependencies = [
+
 "getrandom 0.1.16",
+
 "libc",
+
 "rand_chacha 0.2.2",
+
 "rand_core 0.5.1",
+
 "rand_hc",
+
 "rand_pcg",
+
]
+

+
[[package]]
+
name = "rand"
+
version = "0.8.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+
dependencies = [
+
 "libc",
+
 "rand_chacha 0.3.1",
+
 "rand_core 0.6.4",
+
]
+

+
[[package]]
+
name = "rand"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
+
dependencies = [
+
 "rand_chacha 0.9.0",
+
 "rand_core 0.9.3",
+
 "zerocopy",
+
]
+

+
[[package]]
+
name = "rand_chacha"
+
version = "0.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+
dependencies = [
+
 "ppv-lite86",
+
 "rand_core 0.5.1",
+
]
+

+
[[package]]
+
name = "rand_chacha"
+
version = "0.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+
dependencies = [
+
 "ppv-lite86",
+
 "rand_core 0.6.4",
+
]
+

+
[[package]]
+
name = "rand_chacha"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
+
dependencies = [
+
 "ppv-lite86",
+
 "rand_core 0.9.3",
+
]
+

+
[[package]]
+
name = "rand_core"
+
version = "0.5.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+
dependencies = [
+
 "getrandom 0.1.16",
+
]
+

+
[[package]]
+
name = "rand_core"
+
version = "0.6.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+
dependencies = [
+
 "getrandom 0.2.15",
+
]
+

+
[[package]]
+
name = "rand_core"
+
version = "0.9.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
+
dependencies = [
+
 "getrandom 0.3.2",
+
]
+

+
[[package]]
+
name = "rand_hc"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+
dependencies = [
+
 "rand_core 0.5.1",
+
]
+

+
[[package]]
+
name = "rand_pcg"
+
version = "0.2.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
+
dependencies = [
+
 "rand_core 0.5.1",
+
]
+

+
[[package]]
+
name = "raw-window-handle"
+
version = "0.6.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539"
+

+
[[package]]
+
name = "redox_syscall"
+
version = "0.5.10"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1"
+
dependencies = [
+
 "bitflags 2.9.0",
+
]
+

+
[[package]]
+
name = "redox_users"
+
version = "0.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b"
+
dependencies = [
+
 "getrandom 0.2.15",
+
 "libredox",
+
 "thiserror 2.0.12",
+
]
+

+
[[package]]
+
name = "regex"
+
version = "1.11.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+
dependencies = [
+
 "aho-corasick",
+
 "memchr",
+
 "regex-automata",
+
 "regex-syntax",
+
]
+

+
[[package]]
+
name = "regex-automata"
+
version = "0.4.9"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+
dependencies = [
+
 "aho-corasick",
+
 "memchr",
+
 "regex-syntax",
+
]
+

+
[[package]]
+
name = "regex-syntax"
+
version = "0.8.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+

+
[[package]]
+
name = "rend"
+
version = "0.4.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
+
dependencies = [
+
 "bytecheck",
+
]
+

+
[[package]]
+
name = "reqwest"
+
version = "0.12.15"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
+
dependencies = [
+
 "base64 0.22.1",
+
 "bytes",
+
 "futures-core",
+
 "futures-util",
+
 "http",
+
 "http-body",
+
 "http-body-util",
+
 "hyper",
+
 "hyper-util",
+
 "ipnet",
+
 "js-sys",
+
 "log",
+
 "mime",
+
 "once_cell",
+
 "percent-encoding",
+
 "pin-project-lite",
+
 "serde",
+
 "serde_json",
+
 "serde_urlencoded",
+
 "sync_wrapper",
+
 "tokio",
+
 "tokio-util",
+
 "tower",
+
 "tower-service",
+
 "url",
+
 "wasm-bindgen",
+
 "wasm-bindgen-futures",
+
 "wasm-streams",
+
 "web-sys",
+
 "windows-registry",
+
]
+

+
[[package]]
+
name = "rfd"
+
version = "0.15.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "80c844748fdc82aae252ee4594a89b6e7ebef1063de7951545564cbc4e57075d"
+
dependencies = [
+
 "ashpd",
+
 "block2 0.6.0",
+
 "dispatch2",
+
 "glib-sys",
+
 "gobject-sys",
+
 "gtk-sys",
+
 "js-sys",
+
 "log",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-core-foundation",
+
 "objc2-foundation 0.3.0",
+
 "raw-window-handle",
+
 "wasm-bindgen",
+
 "wasm-bindgen-futures",
+
 "web-sys",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "rkyv"
+
version = "0.7.45"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b"
+
dependencies = [
+
 "bitvec",
+
 "bytecheck",
+
 "bytes",
+
 "hashbrown 0.12.3",
+
 "ptr_meta",
+
 "rend",
+
 "rkyv_derive",
+
 "seahash",
+
 "tinyvec",
+
 "uuid",
+
]
+

+
[[package]]
+
name = "rkyv_derive"
+
version = "0.7.45"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 1.0.109",
+
]
+

+
[[package]]
+
name = "rust_decimal"
+
version = "1.37.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5c24af6e7ac43c88a8a458d1139d0246fdce2f6cd2f1ac6cb51eb88b29c978af"
+
dependencies = [
+
 "arrayvec",
+
 "borsh",
+
 "bytes",
+
 "num-traits",
+
 "rand 0.8.5",
+
 "rkyv",
+
 "serde",
+
 "serde_json",
+
]
+

+
[[package]]
+
name = "rustc-demangle"
+
version = "0.1.24"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
+

+
[[package]]
+
name = "rustc_version"
+
version = "0.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
+
dependencies = [
+
 "semver",
+
]
+

+
[[package]]
+
name = "rustix"
+
version = "0.38.44"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "errno",
+
 "libc",
+
 "linux-raw-sys 0.4.15",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "rustix"
+
version = "1.0.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "errno",
+
 "libc",
+
 "linux-raw-sys 0.9.3",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "rustversion"
+
version = "1.0.20"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
+

+
[[package]]
+
name = "ryu"
+
version = "1.0.20"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
+

+
[[package]]
+
name = "same-file"
+
version = "1.0.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+
dependencies = [
+
 "winapi-util",
+
]
+

+
[[package]]
+
name = "schemars"
+
version = "0.8.22"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615"
+
dependencies = [
+
 "dyn-clone",
+
 "indexmap 1.9.3",
+
 "schemars_derive",
+
 "serde",
+
 "serde_json",
+
 "url",
+
 "uuid",
+
]
+

+
[[package]]
+
name = "schemars_derive"
+
version = "0.8.22"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "serde_derive_internals",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "scopeguard"
+
version = "1.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+

+
[[package]]
+
name = "seahash"
+
version = "4.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+

+
[[package]]
+
name = "selectors"
+
version = "0.22.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "cssparser",
+
 "derive_more",
+
 "fxhash",
+
 "log",
+
 "matches",
+
 "phf 0.8.0",
+
 "phf_codegen 0.8.0",
+
 "precomputed-hash",
+
 "servo_arc",
+
 "smallvec",
+
 "thin-slice",
+
]
+

+
[[package]]
+
name = "semver"
+
version = "1.0.26"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "serde"
+
version = "1.0.219"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+
dependencies = [
+
 "serde_derive",
+
]
+

+
[[package]]
+
name = "serde-untagged"
+
version = "0.1.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e"
+
dependencies = [
+
 "erased-serde",
+
 "serde",
+
 "typeid",
+
]
+

+
[[package]]
+
name = "serde_derive"
+
version = "1.0.219"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "serde_derive_internals"
+
version = "0.29.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "serde_json"
+
version = "1.0.140"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
+
dependencies = [
+
 "itoa 1.0.15",
+
 "memchr",
+
 "ryu",
+
 "serde",
+
]
+

+
[[package]]
+
name = "serde_repr"
+
version = "0.1.20"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "serde_spanned"
+
version = "0.6.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "serde_urlencoded"
+
version = "0.7.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+
dependencies = [
+
 "form_urlencoded",
+
 "itoa 1.0.15",
+
 "ryu",
+
 "serde",
+
]
+

+
[[package]]
+
name = "serde_with"
+
version = "3.12.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa"
+
dependencies = [
+
 "base64 0.22.1",
+
 "chrono",
+
 "hex",
+
 "indexmap 1.9.3",
+
 "indexmap 2.8.0",
+
 "serde",
+
 "serde_derive",
+
 "serde_json",
+
 "serde_with_macros",
+
 "time",
+
]
+

+
[[package]]
+
name = "serde_with_macros"
+
version = "3.12.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e"
+
dependencies = [
+
 "darling",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "serialize-to-javascript"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb"
+
dependencies = [
+
 "serde",
+
 "serde_json",
+
 "serialize-to-javascript-impl",
+
]
+

+
[[package]]
+
name = "serialize-to-javascript-impl"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 1.0.109",
+
]
+

+
[[package]]
+
name = "servo_arc"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
+
dependencies = [
+
 "nodrop",
+
 "stable_deref_trait",
+
]
+

+
[[package]]
+
name = "sha2"
+
version = "0.10.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+
dependencies = [
+
 "cfg-if",
+
 "cpufeatures",
+
 "digest",
+
]
+

+
[[package]]
+
name = "shared_child"
+
version = "1.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c"
+
dependencies = [
+
 "libc",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "shlex"
+
version = "1.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+

+
[[package]]
+
name = "signal-hook-registry"
+
version = "1.4.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
+
dependencies = [
+
 "libc",
+
]
+

+
[[package]]
+
name = "simd-adler32"
+
version = "0.3.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+

+
[[package]]
+
name = "simdutf8"
+
version = "0.1.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
+

+
[[package]]
+
name = "siphasher"
+
version = "0.3.11"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+

+
[[package]]
+
name = "siphasher"
+
version = "1.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
+

+
[[package]]
+
name = "slab"
+
version = "0.4.9"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+
dependencies = [
+
 "autocfg",
+
]
+

+
[[package]]
+
name = "smallvec"
+
version = "1.14.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd"
+

+
[[package]]
+
name = "socket2"
+
version = "0.5.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
+
dependencies = [
+
 "libc",
+
 "windows-sys 0.52.0",
+
]
+

+
[[package]]
+
name = "softbuffer"
+
version = "0.4.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "18051cdd562e792cad055119e0cdb2cfc137e44e3987532e0f9659a77931bb08"
+
dependencies = [
+
 "bytemuck",
+
 "cfg_aliases 0.2.1",
+
 "core-graphics 0.24.0",
+
 "foreign-types",
+
 "js-sys",
+
 "log",
+
 "objc2 0.5.2",
+
 "objc2-foundation 0.2.2",
+
 "objc2-quartz-core 0.2.2",
+
 "raw-window-handle",
+
 "redox_syscall",
+
 "wasm-bindgen",
+
 "web-sys",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "soup3"
+
version = "0.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f"
+
dependencies = [
+
 "futures-channel",
+
 "gio",
+
 "glib",
+
 "libc",
+
 "soup3-sys",
+
]
+

+
[[package]]
+
name = "soup3-sys"
+
version = "0.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27"
+
dependencies = [
+
 "gio-sys",
+
 "glib-sys",
+
 "gobject-sys",
+
 "libc",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "stable_deref_trait"
+
version = "1.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+

+
[[package]]
+
name = "static_assertions"
+
version = "1.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+

+
[[package]]
+
name = "string_cache"
+
version = "0.8.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "938d512196766101d333398efde81bc1f37b00cb42c2f8350e5df639f040bbbe"
+
dependencies = [
+
 "new_debug_unreachable",
+
 "parking_lot",
+
 "phf_shared 0.11.3",
+
 "precomputed-hash",
+
 "serde",
+
]
+

+
[[package]]
+
name = "string_cache_codegen"
+
version = "0.5.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0"
+
dependencies = [
+
 "phf_generator 0.11.3",
+
 "phf_shared 0.11.3",
+
 "proc-macro2",
+
 "quote",
+
]
+

+
[[package]]
+
name = "strsim"
+
version = "0.11.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+

+
[[package]]
+
name = "swift-rs"
+
version = "1.0.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7"
+
dependencies = [
+
 "base64 0.21.7",
+
 "serde",
+
 "serde_json",
+
]
+

+
[[package]]
+
name = "syn"
+
version = "1.0.109"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "unicode-ident",
+
]
+

+
[[package]]
+
name = "syn"
+
version = "2.0.100"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "unicode-ident",
+
]
+

+
[[package]]
+
name = "sync_wrapper"
+
version = "1.0.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
+
dependencies = [
+
 "futures-core",
+
]
+

+
[[package]]
+
name = "synstructure"
+
version = "0.13.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "system-deps"
+
version = "6.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
+
dependencies = [
+
 "cfg-expr",
+
 "heck 0.5.0",
+
 "pkg-config",
+
 "toml",
+
 "version-compare",
+
]
+

+
[[package]]
+
name = "tao"
+
version = "0.32.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "63c8b1020610b9138dd7b1e06cf259ae91aa05c30f3bd0d6b42a03997b92dec1"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "core-foundation 0.10.0",
+
 "core-graphics 0.24.0",
+
 "crossbeam-channel",
+
 "dispatch",
+
 "dlopen2",
+
 "dpi",
+
 "gdkwayland-sys",
+
 "gdkx11-sys",
+
 "gtk",
+
 "jni",
+
 "lazy_static",
+
 "libc",
+
 "log",
+
 "ndk",
+
 "ndk-context",
+
 "ndk-sys",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-foundation 0.3.0",
+
 "once_cell",
+
 "parking_lot",
+
 "raw-window-handle",
+
 "scopeguard",
+
 "tao-macros",
+
 "unicode-segmentation",
+
 "url",
+
 "windows",
+
 "windows-core 0.60.1",
+
 "windows-version",
+
 "x11-dl",
+
]
+

+
[[package]]
+
name = "tao-macros"
+
version = "0.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "tap"
+
version = "1.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+

+
[[package]]
+
name = "target-lexicon"
+
version = "0.12.16"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
+

+
[[package]]
+
name = "tauri"
+
version = "2.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "511dd38065a5d3b36c33cdba4362b99a40a5103bebcd4aebb930717e7c8ba292"
+
dependencies = [
+
 "anyhow",
+
 "bytes",
+
 "dirs",
+
 "dunce",
+
 "embed_plist",
+
 "futures-util",
+
 "getrandom 0.2.15",
+
 "glob",
+
 "gtk",
+
 "heck 0.5.0",
+
 "http",
+
 "jni",
+
 "libc",
+
 "log",
+
 "mime",
+
 "muda",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-foundation 0.3.0",
+
 "percent-encoding",
+
 "plist",
+
 "raw-window-handle",
+
 "reqwest",
+
 "serde",
+
 "serde_json",
+
 "serde_repr",
+
 "serialize-to-javascript",
+
 "swift-rs",
+
 "tauri-build",
+
 "tauri-macros",
+
 "tauri-runtime",
+
 "tauri-runtime-wry",
+
 "tauri-utils",
+
 "thiserror 2.0.12",
+
 "tokio",
+
 "tray-icon",
+
 "url",
+
 "urlpattern",
+
 "webkit2gtk",
+
 "webview2-com",
+
 "window-vibrancy",
+
 "windows",
+
]
+

+
[[package]]
+
name = "tauri-build"
+
version = "2.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7ffa8732a66f90903f5a585215f3cf1e87988d0359bc88c18a502efe7572c1de"
+
dependencies = [
+
 "anyhow",
+
 "cargo_toml",
+
 "dirs",
+
 "glob",
+
 "heck 0.5.0",
+
 "json-patch",
+
 "schemars",
+
 "semver",
+
 "serde",
+
 "serde_json",
+
 "tauri-utils",
+
 "tauri-winres",
+
 "toml",
+
 "walkdir",
+
]
+

+
[[package]]
+
name = "tauri-codegen"
+
version = "2.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c266a247f14d63f40c6282c2653a8bac5cc3d482ca562a003a88513653ea817a"
+
dependencies = [
+
 "base64 0.22.1",
+
 "brotli",
+
 "ico",
+
 "json-patch",
+
 "plist",
+
 "png",
+
 "proc-macro2",
+
 "quote",
+
 "semver",
+
 "serde",
+
 "serde_json",
+
 "sha2",
+
 "syn 2.0.100",
+
 "tauri-utils",
+
 "thiserror 2.0.12",
+
 "time",
+
 "url",
+
 "uuid",
+
 "walkdir",
+
]
+

+
[[package]]
+
name = "tauri-macros"
+
version = "2.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f47a1cf94b3bd6c4dc37dce1a43fc96120ff29a91757f0ab3cf713c7ad846e7c"
+
dependencies = [
+
 "heck 0.5.0",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
 "tauri-codegen",
+
 "tauri-utils",
+
]
+

+
[[package]]
+
name = "tauri-plugin"
+
version = "2.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9972871fcbddf16618f70412d965d4d845cd4b76d03fff168709961ef71e5cdf"
+
dependencies = [
+
 "anyhow",
+
 "glob",
+
 "plist",
+
 "schemars",
+
 "serde",
+
 "serde_json",
+
 "tauri-utils",
+
 "toml",
+
 "walkdir",
+
]
+

+
[[package]]
+
name = "tauri-plugin-clipboard-manager"
+
version = "2.2.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3ab4cb42fdf745229b768802e9180920a4be63122cf87ed1c879103f7609d98e"
+
dependencies = [
+
 "arboard",
+
 "log",
+
 "serde",
+
 "serde_json",
+
 "tauri",
+
 "tauri-plugin",
+
 "thiserror 2.0.12",
+
]
+

+
[[package]]
+
name = "tauri-plugin-dialog"
+
version = "2.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8b59fd750551b1066744ab956a1cd6b1ea3e1b3763b0b9153ac27a044d596426"
+
dependencies = [
+
 "log",
+
 "raw-window-handle",
+
 "rfd",
+
 "serde",
+
 "serde_json",
+
 "tauri",
+
 "tauri-plugin",
+
 "tauri-plugin-fs",
+
 "thiserror 2.0.12",
+
 "url",
+
]
+

+
[[package]]
+
name = "tauri-plugin-fs"
+
version = "2.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a1a1edf18000f02903a7c2e5997fb89aca455ecbc0acc15c6535afbb883be223"
+
dependencies = [
+
 "anyhow",
+
 "dunce",
+
 "glob",
+
 "percent-encoding",
+
 "schemars",
+
 "serde",
+
 "serde_json",
+
 "serde_repr",
+
 "tauri",
+
 "tauri-plugin",
+
 "tauri-utils",
+
 "thiserror 2.0.12",
+
 "toml",
+
 "url",
+
 "uuid",
+
]
+

+
[[package]]
+
name = "tauri-plugin-log"
+
version = "2.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2341d5b9bc5318c8e34f35a569140c78337241aa9c14091550b424c49f0314e0"
+
dependencies = [
+
 "android_logger",
+
 "byte-unit",
+
 "fern",
+
 "log",
+
 "objc2 0.6.0",
+
 "objc2-foundation 0.3.0",
+
 "serde",
+
 "serde_json",
+
 "serde_repr",
+
 "swift-rs",
+
 "tauri",
+
 "tauri-plugin",
+
 "thiserror 2.0.12",
+
 "time",
+
]
+

+
[[package]]
+
name = "tauri-plugin-shell"
+
version = "2.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bb2c50a63e60fb8925956cc5b7569f4b750ac197a4d39f13b8dd46ea8e2bad79"
+
dependencies = [
+
 "encoding_rs",
+
 "log",
+
 "open",
+
 "os_pipe",
+
 "regex",
+
 "schemars",
+
 "serde",
+
 "serde_json",
+
 "shared_child",
+
 "tauri",
+
 "tauri-plugin",
+
 "thiserror 2.0.12",
+
 "tokio",
+
]
+

+
[[package]]
+
name = "tauri-runtime"
+
version = "2.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9e9c7bce5153f1ca7bc45eba37349b31ba50e975e28edc8b5766c5ec02b0b63a"
+
dependencies = [
+
 "cookie",
+
 "dpi",
+
 "gtk",
+
 "http",
+
 "jni",
+
 "raw-window-handle",
+
 "serde",
+
 "serde_json",
+
 "tauri-utils",
+
 "thiserror 2.0.12",
+
 "url",
+
 "windows",
+
]
+

+
[[package]]
+
name = "tauri-runtime-wry"
+
version = "2.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "087188020fd6facb8578fe9b38e81fa0fe5fb85744c73da51a299f94a530a1e3"
+
dependencies = [
+
 "gtk",
+
 "http",
+
 "jni",
+
 "log",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-foundation 0.3.0",
+
 "once_cell",
+
 "percent-encoding",
+
 "raw-window-handle",
+
 "softbuffer",
+
 "tao",
+
 "tauri-runtime",
+
 "tauri-utils",
+
 "url",
+
 "webkit2gtk",
+
 "webview2-com",
+
 "windows",
+
 "wry",
+
]
+

+
[[package]]
+
name = "tauri-utils"
+
version = "2.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "82dcced4014e59af9790cc22f5d271df3be09ecd6728ec68861642553c8d01b7"
+
dependencies = [
+
 "anyhow",
+
 "brotli",
+
 "cargo_metadata",
+
 "ctor",
+
 "dunce",
+
 "glob",
+
 "html5ever",
+
 "http",
+
 "infer",
+
 "json-patch",
+
 "kuchikiki",
+
 "log",
+
 "memchr",
+
 "phf 0.11.3",
+
 "proc-macro2",
+
 "quote",
+
 "regex",
+
 "schemars",
+
 "semver",
+
 "serde",
+
 "serde-untagged",
+
 "serde_json",
+
 "serde_with",
+
 "swift-rs",
+
 "thiserror 2.0.12",
+
 "toml",
+
 "url",
+
 "urlpattern",
+
 "uuid",
+
 "walkdir",
+
]
+

+
[[package]]
+
name = "tauri-winres"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "56eaa45f707bedf34d19312c26d350bc0f3c59a47e58e8adbeecdc850d2c13a0"
+
dependencies = [
+
 "embed-resource",
+
 "toml",
+
]
+

+
[[package]]
+
name = "tempfile"
+
version = "3.19.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf"
+
dependencies = [
+
 "fastrand",
+
 "getrandom 0.3.2",
+
 "once_cell",
+
 "rustix 1.0.3",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "tendril"
+
version = "0.4.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
+
dependencies = [
+
 "futf",
+
 "mac",
+
 "utf-8",
+
]
+

+
[[package]]
+
name = "thin-slice"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
+

+
[[package]]
+
name = "thiserror"
+
version = "1.0.69"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
+
dependencies = [
+
 "thiserror-impl 1.0.69",
+
]
+

+
[[package]]
+
name = "thiserror"
+
version = "2.0.12"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
+
dependencies = [
+
 "thiserror-impl 2.0.12",
+
]
+

+
[[package]]
+
name = "thiserror-impl"
+
version = "1.0.69"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "thiserror-impl"
+
version = "2.0.12"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "tiff"
+
version = "0.9.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
+
dependencies = [
+
 "flate2",
+
 "jpeg-decoder",
+
 "weezl",
+
]
+

+
[[package]]
+
name = "time"
+
version = "0.3.40"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618"
+
dependencies = [
+
 "deranged",
+
 "itoa 1.0.15",
+
 "libc",
+
 "num-conv",
+
 "num_threads",
+
 "powerfmt",
+
 "serde",
+
 "time-core",
+
 "time-macros",
+
]
+

+
[[package]]
+
name = "time-core"
+
version = "0.1.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
+

+
[[package]]
+
name = "time-macros"
+
version = "0.2.21"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04"
+
dependencies = [
+
 "num-conv",
+
 "time-core",
+
]
+

+
[[package]]
+
name = "tinystr"
+
version = "0.7.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
+
dependencies = [
+
 "displaydoc",
+
 "zerovec",
+
]
+

+
[[package]]
+
name = "tinyvec"
+
version = "1.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
+
dependencies = [
+
 "tinyvec_macros",
+
]
+

+
[[package]]
+
name = "tinyvec_macros"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+

+
[[package]]
+
name = "tokio"
+
version = "1.44.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a"
+
dependencies = [
+
 "backtrace",
+
 "bytes",
+
 "libc",
+
 "mio",
+
 "pin-project-lite",
+
 "signal-hook-registry",
+
 "socket2",
+
 "tracing",
+
 "windows-sys 0.52.0",
+
]
+

+
[[package]]
+
name = "tokio-util"
+
version = "0.7.14"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034"
+
dependencies = [
+
 "bytes",
+
 "futures-core",
+
 "futures-sink",
+
 "pin-project-lite",
+
 "tokio",
+
]
+

+
[[package]]
+
name = "toml"
+
version = "0.8.20"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
+
dependencies = [
+
 "serde",
+
 "serde_spanned",
+
 "toml_datetime",
+
 "toml_edit 0.22.24",
+
]
+

+
[[package]]
+
name = "toml_datetime"
+
version = "0.6.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
+
dependencies = [
+
 "serde",
+
]
+

+
[[package]]
+
name = "toml_edit"
+
version = "0.19.15"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+
dependencies = [
+
 "indexmap 2.8.0",
+
 "toml_datetime",
+
 "winnow 0.5.40",
+
]
+

+
[[package]]
+
name = "toml_edit"
+
version = "0.20.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+
dependencies = [
+
 "indexmap 2.8.0",
+
 "toml_datetime",
+
 "winnow 0.5.40",
+
]
+

+
[[package]]
+
name = "toml_edit"
+
version = "0.22.24"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
+
dependencies = [
+
 "indexmap 2.8.0",
+
 "serde",
+
 "serde_spanned",
+
 "toml_datetime",
+
 "winnow 0.7.4",
+
]
+

+
[[package]]
+
name = "tower"
+
version = "0.5.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
+
dependencies = [
+
 "futures-core",
+
 "futures-util",
+
 "pin-project-lite",
+
 "sync_wrapper",
+
 "tokio",
+
 "tower-layer",
+
 "tower-service",
+
]
+

+
[[package]]
+
name = "tower-layer"
+
version = "0.3.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
+

+
[[package]]
+
name = "tower-service"
+
version = "0.3.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
+

+
[[package]]
+
name = "tracing"
+
version = "0.1.41"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
+
dependencies = [
+
 "pin-project-lite",
+
 "tracing-attributes",
+
 "tracing-core",
+
]
+

+
[[package]]
+
name = "tracing-attributes"
+
version = "0.1.28"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "tracing-core"
+
version = "0.1.33"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
+
dependencies = [
+
 "once_cell",
+
]
+

+
[[package]]
+
name = "tray-icon"
+
version = "0.20.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d433764348e7084bad2c5ea22c96c71b61b17afe3a11645710f533bd72b6a2b5"
+
dependencies = [
+
 "crossbeam-channel",
+
 "dirs",
+
 "libappindicator",
+
 "muda",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-core-foundation",
+
 "objc2-core-graphics",
+
 "objc2-foundation 0.3.0",
+
 "once_cell",
+
 "png",
+
 "serde",
+
 "thiserror 2.0.12",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "tree_magic_mini"
+
version = "3.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "aac5e8971f245c3389a5a76e648bfc80803ae066a1243a75db0064d7c1129d63"
+
dependencies = [
+
 "fnv",
+
 "memchr",
+
 "nom",
+
 "once_cell",
+
 "petgraph",
+
]
+

+
[[package]]
+
name = "try-lock"
+
version = "0.2.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+

+
[[package]]
+
name = "typeid"
+
version = "1.0.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"
+

+
[[package]]
+
name = "typenum"
+
version = "1.18.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
+

+
[[package]]
+
name = "uds_windows"
+
version = "1.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
+
dependencies = [
+
 "memoffset",
+
 "tempfile",
+
 "winapi",
+
]
+

+
[[package]]
+
name = "unic-char-property"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
+
dependencies = [
+
 "unic-char-range",
+
]
+

+
[[package]]
+
name = "unic-char-range"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
+

+
[[package]]
+
name = "unic-common"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
+

+
[[package]]
+
name = "unic-ucd-ident"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987"
+
dependencies = [
+
 "unic-char-property",
+
 "unic-char-range",
+
 "unic-ucd-version",
+
]
+

+
[[package]]
+
name = "unic-ucd-version"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
+
dependencies = [
+
 "unic-common",
+
]
+

+
[[package]]
+
name = "unicode-ident"
+
version = "1.0.18"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+

+
[[package]]
+
name = "unicode-segmentation"
+
version = "1.12.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+

+
[[package]]
+
name = "url"
+
version = "2.5.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
+
dependencies = [
+
 "form_urlencoded",
+
 "idna",
+
 "percent-encoding",
+
 "serde",
+
]
+

+
[[package]]
+
name = "urlpattern"
+
version = "0.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d"
+
dependencies = [
+
 "regex",
+
 "serde",
+
 "unic-ucd-ident",
+
 "url",
+
]
+

+
[[package]]
+
name = "utf-8"
+
version = "0.7.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
+

+
[[package]]
+
name = "utf16_iter"
+
version = "1.0.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
+

+
[[package]]
+
name = "utf8-width"
+
version = "0.1.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
+

+
[[package]]
+
name = "utf8_iter"
+
version = "1.0.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
+

+
[[package]]
+
name = "uuid"
+
version = "1.16.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
+
dependencies = [
+
 "getrandom 0.3.2",
+
 "serde",
+
]
+

+
[[package]]
+
name = "value-bag"
+
version = "1.10.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2"
+

+
[[package]]
+
name = "version-compare"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
+

+
[[package]]
+
name = "version_check"
+
version = "0.9.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+

+
[[package]]
+
name = "vswhom"
+
version = "0.1.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
+
dependencies = [
+
 "libc",
+
 "vswhom-sys",
+
]
+

+
[[package]]
+
name = "vswhom-sys"
+
version = "0.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150"
+
dependencies = [
+
 "cc",
+
 "libc",
+
]
+

+
[[package]]
+
name = "walkdir"
+
version = "2.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+
dependencies = [
+
 "same-file",
+
 "winapi-util",
+
]
+

+
[[package]]
+
name = "want"
+
version = "0.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+
dependencies = [
+
 "try-lock",
+
]
+

+
[[package]]
+
name = "wasi"
+
version = "0.9.0+wasi-snapshot-preview1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+

+
[[package]]
+
name = "wasi"
+
version = "0.11.0+wasi-snapshot-preview1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+

+
[[package]]
+
name = "wasi"
+
version = "0.14.2+wasi-0.2.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
+
dependencies = [
+
 "wit-bindgen-rt",
+
]
+

+
[[package]]
+
name = "wasm-bindgen"
+
version = "0.2.100"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
+
dependencies = [
+
 "cfg-if",
+
 "once_cell",
+
 "rustversion",
+
 "wasm-bindgen-macro",
+
]
+

+
[[package]]
+
name = "wasm-bindgen-backend"
+
version = "0.2.100"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
+
dependencies = [
+
 "bumpalo",
+
 "log",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
 "wasm-bindgen-shared",
+
]
+

+
[[package]]
+
name = "wasm-bindgen-futures"
+
version = "0.4.50"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
+
dependencies = [
+
 "cfg-if",
+
 "js-sys",
+
 "once_cell",
+
 "wasm-bindgen",
+
 "web-sys",
+
]
+

+
[[package]]
+
name = "wasm-bindgen-macro"
+
version = "0.2.100"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
+
dependencies = [
+
 "quote",
+
 "wasm-bindgen-macro-support",
+
]
+

+
[[package]]
+
name = "wasm-bindgen-macro-support"
+
version = "0.2.100"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
 "wasm-bindgen-backend",
+
 "wasm-bindgen-shared",
+
]
+

+
[[package]]
+
name = "wasm-bindgen-shared"
+
version = "0.2.100"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
+
dependencies = [
+
 "unicode-ident",
+
]
+

+
[[package]]
+
name = "wasm-streams"
+
version = "0.4.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65"
+
dependencies = [
+
 "futures-util",
+
 "js-sys",
+
 "wasm-bindgen",
+
 "wasm-bindgen-futures",
+
 "web-sys",
+
]
+

+
[[package]]
+
name = "wayland-backend"
+
version = "0.3.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b7208998eaa3870dad37ec8836979581506e0c5c64c20c9e79e9d2a10d6f47bf"
+
dependencies = [
+
 "cc",
+
 "downcast-rs",
+
 "rustix 0.38.44",
+
 "smallvec",
+
 "wayland-sys",
+
]
+

+
[[package]]
+
name = "wayland-client"
+
version = "0.31.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c2120de3d33638aaef5b9f4472bff75f07c56379cf76ea320bd3a3d65ecaf73f"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "rustix 0.38.44",
+
 "wayland-backend",
+
 "wayland-scanner",
+
]
+

+
[[package]]
+
name = "wayland-protocols"
+
version = "0.31.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "wayland-backend",
+
 "wayland-client",
+
 "wayland-scanner",
+
]
+

+
[[package]]
+
name = "wayland-protocols-wlr"
+
version = "0.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
+
dependencies = [
+
 "bitflags 2.9.0",
+
 "wayland-backend",
+
 "wayland-client",
+
 "wayland-protocols",
+
 "wayland-scanner",
+
]
+

+
[[package]]
+
name = "wayland-scanner"
+
version = "0.31.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484"
+
dependencies = [
+
 "proc-macro2",
+
 "quick-xml 0.37.2",
+
 "quote",
+
]
+

+
[[package]]
+
name = "wayland-sys"
+
version = "0.31.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615"
+
dependencies = [
+
 "pkg-config",
+
]
+

+
[[package]]
+
name = "web-sys"
+
version = "0.3.77"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
+
dependencies = [
+
 "js-sys",
+
 "wasm-bindgen",
+
]
+

+
[[package]]
+
name = "webkit2gtk"
+
version = "2.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "cairo-rs",
+
 "gdk",
+
 "gdk-sys",
+
 "gio",
+
 "gio-sys",
+
 "glib",
+
 "glib-sys",
+
 "gobject-sys",
+
 "gtk",
+
 "gtk-sys",
+
 "javascriptcore-rs",
+
 "libc",
+
 "once_cell",
+
 "soup3",
+
 "webkit2gtk-sys",
+
]
+

+
[[package]]
+
name = "webkit2gtk-sys"
+
version = "2.0.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c"
+
dependencies = [
+
 "bitflags 1.3.2",
+
 "cairo-sys-rs",
+
 "gdk-sys",
+
 "gio-sys",
+
 "glib-sys",
+
 "gobject-sys",
+
 "gtk-sys",
+
 "javascriptcore-rs-sys",
+
 "libc",
+
 "pkg-config",
+
 "soup3-sys",
+
 "system-deps",
+
]
+

+
[[package]]
+
name = "webview2-com"
+
version = "0.36.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b0d606f600e5272b514dbb66539dd068211cc20155be8d3958201b4b5bd79ed3"
+
dependencies = [
+
 "webview2-com-macros",
+
 "webview2-com-sys",
+
 "windows",
+
 "windows-core 0.60.1",
+
 "windows-implement",
+
 "windows-interface",
+
]
+

+
[[package]]
+
name = "webview2-com-macros"
+
version = "0.8.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "webview2-com-sys"
+
version = "0.36.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bfb27fccd3c27f68e9a6af1bcf48c2d82534b8675b83608a4d81446d095a17ac"
+
dependencies = [
+
 "thiserror 2.0.12",
+
 "windows",
+
 "windows-core 0.60.1",
+
]
+

+
[[package]]
+
name = "weezl"
+
version = "0.1.8"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+

+
[[package]]
+
name = "winapi"
+
version = "0.3.9"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+
dependencies = [
+
 "winapi-i686-pc-windows-gnu",
+
 "winapi-x86_64-pc-windows-gnu",
+
]
+

+
[[package]]
+
name = "winapi-i686-pc-windows-gnu"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+

+
[[package]]
+
name = "winapi-util"
+
version = "0.1.9"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+
dependencies = [
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "winapi-x86_64-pc-windows-gnu"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+

+
[[package]]
+
name = "window-vibrancy"
+
version = "0.6.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c"
+
dependencies = [
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-core-foundation",
+
 "objc2-foundation 0.3.0",
+
 "raw-window-handle",
+
 "windows-sys 0.59.0",
+
 "windows-version",
+
]
+

+
[[package]]
+
name = "windows"
+
version = "0.60.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ddf874e74c7a99773e62b1c671427abf01a425e77c3d3fb9fb1e4883ea934529"
+
dependencies = [
+
 "windows-collections",
+
 "windows-core 0.60.1",
+
 "windows-future",
+
 "windows-link",
+
 "windows-numerics",
+
]
+

+
[[package]]
+
name = "windows-collections"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5467f79cc1ba3f52ebb2ed41dbb459b8e7db636cc3429458d9a852e15bc24dec"
+
dependencies = [
+
 "windows-core 0.60.1",
+
]
+

+
[[package]]
+
name = "windows-core"
+
version = "0.52.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+
dependencies = [
+
 "windows-targets 0.52.6",
+
]
+

+
[[package]]
+
name = "windows-core"
+
version = "0.60.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ca21a92a9cae9bf4ccae5cf8368dce0837100ddf6e6d57936749e85f152f6247"
+
dependencies = [
+
 "windows-implement",
+
 "windows-interface",
+
 "windows-link",
+
 "windows-result",
+
 "windows-strings",
+
]
+

+
[[package]]
+
name = "windows-future"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a787db4595e7eb80239b74ce8babfb1363d8e343ab072f2ffe901400c03349f0"
+
dependencies = [
+
 "windows-core 0.60.1",
+
 "windows-link",
+
]
+

+
[[package]]
+
name = "windows-implement"
+
version = "0.59.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "windows-interface"
+
version = "0.59.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "windows-link"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
+

+
[[package]]
+
name = "windows-numerics"
+
version = "0.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "005dea54e2f6499f2cee279b8f703b3cf3b5734a2d8d21867c8f44003182eeed"
+
dependencies = [
+
 "windows-core 0.60.1",
+
 "windows-link",
+
]
+

+
[[package]]
+
name = "windows-registry"
+
version = "0.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3"
+
dependencies = [
+
 "windows-result",
+
 "windows-strings",
+
 "windows-targets 0.53.0",
+
]
+

+
[[package]]
+
name = "windows-result"
+
version = "0.3.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252"
+
dependencies = [
+
 "windows-link",
+
]
+

+
[[package]]
+
name = "windows-strings"
+
version = "0.3.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
+
dependencies = [
+
 "windows-link",
+
]
+

+
[[package]]
+
name = "windows-sys"
+
version = "0.45.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+
dependencies = [
+
 "windows-targets 0.42.2",
+
]
+

+
[[package]]
+
name = "windows-sys"
+
version = "0.48.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+
dependencies = [
+
 "windows-targets 0.48.5",
+
]
+

+
[[package]]
+
name = "windows-sys"
+
version = "0.52.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+
dependencies = [
+
 "windows-targets 0.52.6",
+
]
+

+
[[package]]
+
name = "windows-sys"
+
version = "0.59.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+
dependencies = [
+
 "windows-targets 0.52.6",
+
]
+

+
[[package]]
+
name = "windows-targets"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+
dependencies = [
+
 "windows_aarch64_gnullvm 0.42.2",
+
 "windows_aarch64_msvc 0.42.2",
+
 "windows_i686_gnu 0.42.2",
+
 "windows_i686_msvc 0.42.2",
+
 "windows_x86_64_gnu 0.42.2",
+
 "windows_x86_64_gnullvm 0.42.2",
+
 "windows_x86_64_msvc 0.42.2",
+
]
+

+
[[package]]
+
name = "windows-targets"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+
dependencies = [
+
 "windows_aarch64_gnullvm 0.48.5",
+
 "windows_aarch64_msvc 0.48.5",
+
 "windows_i686_gnu 0.48.5",
+
 "windows_i686_msvc 0.48.5",
+
 "windows_x86_64_gnu 0.48.5",
+
 "windows_x86_64_gnullvm 0.48.5",
+
 "windows_x86_64_msvc 0.48.5",
+
]
+

+
[[package]]
+
name = "windows-targets"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+
dependencies = [
+
 "windows_aarch64_gnullvm 0.52.6",
+
 "windows_aarch64_msvc 0.52.6",
+
 "windows_i686_gnu 0.52.6",
+
 "windows_i686_gnullvm 0.52.6",
+
 "windows_i686_msvc 0.52.6",
+
 "windows_x86_64_gnu 0.52.6",
+
 "windows_x86_64_gnullvm 0.52.6",
+
 "windows_x86_64_msvc 0.52.6",
+
]
+

+
[[package]]
+
name = "windows-targets"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b"
+
dependencies = [
+
 "windows_aarch64_gnullvm 0.53.0",
+
 "windows_aarch64_msvc 0.53.0",
+
 "windows_i686_gnu 0.53.0",
+
 "windows_i686_gnullvm 0.53.0",
+
 "windows_i686_msvc 0.53.0",
+
 "windows_x86_64_gnu 0.53.0",
+
 "windows_x86_64_gnullvm 0.53.0",
+
 "windows_x86_64_msvc 0.53.0",
+
]
+

+
[[package]]
+
name = "windows-version"
+
version = "0.1.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c"
+
dependencies = [
+
 "windows-link",
+
]
+

+
[[package]]
+
name = "windows_aarch64_gnullvm"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+

+
[[package]]
+
name = "windows_aarch64_gnullvm"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+

+
[[package]]
+
name = "windows_aarch64_gnullvm"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+

+
[[package]]
+
name = "windows_aarch64_gnullvm"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
+

+
[[package]]
+
name = "windows_aarch64_msvc"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+

+
[[package]]
+
name = "windows_aarch64_msvc"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+

+
[[package]]
+
name = "windows_aarch64_msvc"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+

+
[[package]]
+
name = "windows_aarch64_msvc"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
+

+
[[package]]
+
name = "windows_i686_gnu"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+

+
[[package]]
+
name = "windows_i686_gnu"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+

+
[[package]]
+
name = "windows_i686_gnu"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+

+
[[package]]
+
name = "windows_i686_gnu"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
+

+
[[package]]
+
name = "windows_i686_gnullvm"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+

+
[[package]]
+
name = "windows_i686_gnullvm"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
+

+
[[package]]
+
name = "windows_i686_msvc"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+

+
[[package]]
+
name = "windows_i686_msvc"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+

+
[[package]]
+
name = "windows_i686_msvc"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+

+
[[package]]
+
name = "windows_i686_msvc"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
+

+
[[package]]
+
name = "windows_x86_64_gnu"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+

+
[[package]]
+
name = "windows_x86_64_gnu"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+

+
[[package]]
+
name = "windows_x86_64_gnu"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+

+
[[package]]
+
name = "windows_x86_64_gnu"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
+

+
[[package]]
+
name = "windows_x86_64_gnullvm"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+

+
[[package]]
+
name = "windows_x86_64_gnullvm"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+

+
[[package]]
+
name = "windows_x86_64_gnullvm"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+

+
[[package]]
+
name = "windows_x86_64_gnullvm"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
+

+
[[package]]
+
name = "windows_x86_64_msvc"
+
version = "0.42.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+

+
[[package]]
+
name = "windows_x86_64_msvc"
+
version = "0.48.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+

+
[[package]]
+
name = "windows_x86_64_msvc"
+
version = "0.52.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+

+
[[package]]
+
name = "windows_x86_64_msvc"
+
version = "0.53.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
+

+
[[package]]
+
name = "winnow"
+
version = "0.5.40"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+
dependencies = [
+
 "memchr",
+
]
+

+
[[package]]
+
name = "winnow"
+
version = "0.7.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36"
+
dependencies = [
+
 "memchr",
+
]
+

+
[[package]]
+
name = "winreg"
+
version = "0.52.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
+
dependencies = [
+
 "cfg-if",
+
 "windows-sys 0.48.0",
+
]
+

+
[[package]]
+
name = "wit-bindgen-rt"
+
version = "0.39.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
+
dependencies = [
+
 "bitflags 2.9.0",
+
]
+

+
[[package]]
+
name = "wl-clipboard-rs"
+
version = "0.8.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "12b41773911497b18ca8553c3daaf8ec9fe9819caf93d451d3055f69de028adb"
+
dependencies = [
+
 "derive-new",
+
 "libc",
+
 "log",
+
 "nix 0.28.0",
+
 "os_pipe",
+
 "tempfile",
+
 "thiserror 1.0.69",
+
 "tree_magic_mini",
+
 "wayland-backend",
+
 "wayland-client",
+
 "wayland-protocols",
+
 "wayland-protocols-wlr",
+
]
+

+
[[package]]
+
name = "write16"
+
version = "1.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
+

+
[[package]]
+
name = "writeable"
+
version = "0.5.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
+

+
[[package]]
+
name = "wry"
+
version = "0.50.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b19b78efae8b853c6c817e8752fc1dbf9cab8a8ffe9c30f399bd750ccf0f0730"
+
dependencies = [
+
 "base64 0.22.1",
+
 "block2 0.6.0",
+
 "cookie",
+
 "crossbeam-channel",
+
 "dpi",
+
 "dunce",
+
 "gdkx11",
+
 "gtk",
+
 "html5ever",
+
 "http",
+
 "javascriptcore-rs",
+
 "jni",
+
 "kuchikiki",
+
 "libc",
+
 "ndk",
+
 "objc2 0.6.0",
+
 "objc2-app-kit 0.3.0",
+
 "objc2-core-foundation",
+
 "objc2-foundation 0.3.0",
+
 "objc2-ui-kit",
+
 "objc2-web-kit",
+
 "once_cell",
+
 "percent-encoding",
+
 "raw-window-handle",
+
 "sha2",
+
 "soup3",
+
 "tao-macros",
+
 "thiserror 2.0.12",
+
 "url",
+
 "webkit2gtk",
+
 "webkit2gtk-sys",
+
 "webview2-com",
+
 "windows",
+
 "windows-core 0.60.1",
+
 "windows-version",
+
 "x11-dl",
+
]
+

+
[[package]]
+
name = "wyz"
+
version = "0.5.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+
dependencies = [
+
 "tap",
+
]
+

+
[[package]]
+
name = "x11"
+
version = "2.21.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e"
+
dependencies = [
+
 "libc",
+
 "pkg-config",
+
]
+

+
[[package]]
+
name = "x11-dl"
+
version = "2.21.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
+
dependencies = [
+
 "libc",
+
 "once_cell",
+
 "pkg-config",
+
]
+

+
[[package]]
+
name = "x11rb"
+
version = "0.13.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12"
+
dependencies = [
+
 "gethostname",
+
 "rustix 0.38.44",
+
 "x11rb-protocol",
+
]
+

+
[[package]]
+
name = "x11rb-protocol"
+
version = "0.13.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
+

+
[[package]]
+
name = "xdg-home"
+
version = "1.3.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6"
+
dependencies = [
+
 "libc",
+
 "windows-sys 0.59.0",
+
]
+

+
[[package]]
+
name = "yoke"
+
version = "0.7.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
+
dependencies = [
+
 "serde",
+
 "stable_deref_trait",
+
 "yoke-derive",
+
 "zerofrom",
+
]
+

+
[[package]]
+
name = "yoke-derive"
+
version = "0.7.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
 "synstructure",
+
]
+

+
[[package]]
+
name = "zbus"
+
version = "5.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "59c333f648ea1b647bc95dc1d34807c8e25ed7a6feff3394034dc4776054b236"
+
dependencies = [
+
 "async-broadcast",
+
 "async-recursion",
+
 "async-trait",
+
 "enumflags2",
+
 "event-listener",
+
 "futures-core",
+
 "futures-lite",
+
 "hex",
+
 "nix 0.29.0",
+
 "ordered-stream",
+
 "serde",
+
 "serde_repr",
+
 "static_assertions",
+
 "tokio",
+
 "tracing",
+
 "uds_windows",
+
 "windows-sys 0.59.0",
+
 "winnow 0.7.4",
+
 "xdg-home",
+
 "zbus_macros",
+
 "zbus_names",
+
 "zvariant",
+
]
+

+
[[package]]
+
name = "zbus_macros"
+
version = "5.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f325ad10eb0d0a3eb060203494c3b7ec3162a01a59db75d2deee100339709fc0"
+
dependencies = [
+
 "proc-macro-crate 3.3.0",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
 "zbus_names",
+
 "zvariant",
+
 "zvariant_utils",
+
]
+

+
[[package]]
+
name = "zbus_names"
+
version = "4.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97"
+
dependencies = [
+
 "serde",
+
 "static_assertions",
+
 "winnow 0.7.4",
+
 "zvariant",
+
]
+

+
[[package]]
+
name = "zerocopy"
+
version = "0.8.23"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6"
+
dependencies = [
+
 "zerocopy-derive",
+
]
+

+
[[package]]
+
name = "zerocopy-derive"
+
version = "0.8.23"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "zerofrom"
+
version = "0.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
+
dependencies = [
+
 "zerofrom-derive",
+
]
+

+
[[package]]
+
name = "zerofrom-derive"
+
version = "0.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
 "synstructure",
+
]
+

+
[[package]]
+
name = "zerovec"
+
version = "0.10.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
+
dependencies = [
+
 "yoke",
+
 "zerofrom",
+
 "zerovec-derive",
+
]
+

+
[[package]]
+
name = "zerovec-derive"
+
version = "0.10.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
]
+

+
[[package]]
+
name = "zvariant"
+
version = "5.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "b2df9ee044893fcffbdc25de30546edef3e32341466811ca18421e3cd6c5a3ac"
+
dependencies = [
+
 "endi",
+
 "enumflags2",
+
 "serde",
+
 "static_assertions",
+
 "url",
+
 "winnow 0.7.4",
+
 "zvariant_derive",
+
 "zvariant_utils",
+
]
+

+
[[package]]
+
name = "zvariant_derive"
+
version = "5.4.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "74170caa85b8b84cc4935f2d56a57c7a15ea6185ccdd7eadb57e6edd90f94b2f"
+
dependencies = [
+
 "proc-macro-crate 3.3.0",
+
 "proc-macro2",
+
 "quote",
+
 "syn 2.0.100",
+
 "zvariant_utils",
+
]
+

+
[[package]]
+
name = "zvariant_utils"
+
version = "3.2.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34"
+
dependencies = [
+
 "proc-macro2",
+
 "quote",
+
 "serde",
+
 "static_assertions",
+
 "syn 2.0.100",
+
 "winnow 0.7.4",
+
]
added crates/ios-tauri/src-tauri/Cargo.toml
@@ -0,0 +1,50 @@
+
[package]
+
name = "app"
+
version = "0.1.0"
+
description = "A Tauri App"
+
authors = ["you"]
+
license = ""
+
repository = ""
+
edition = "2021"
+
rust-version = "1.77.2"
+

+
[lib]
+
name = "app"
+
crate-type = ["staticlib", "cdylib", "rlib"]
+

+
[build-dependencies]
+
tauri-build = { version = "2.0.2", features = [] }
+

+
[dependencies]
+
serde_json = "1.0"
+
serde = { version = "1.0", features = ["derive"] }
+
log = "0.4"
+
tauri = { version = "2.1.0", features = [] }
+
tauri-plugin = "2.0"
+
tauri-plugin-clipboard-manager = "2.0"
+
tauri-plugin-dialog = "2.0"
+
tauri-plugin-log = "2.0.0-rc"
+
tauri-plugin-shell = "2.0"
+
tauri-utils = "2.3.0"
+

+
[features]
+
default = []
+
dev = []
+

+
# Add dependencies specifically for iOS
+
[target.'cfg(target_os = "ios")'.dependencies]
+
objc = "0.2.7"
+
core-foundation = "0.9"
+

+
# Use default Apple linker with correct platform versions
+
[target.aarch64-apple-ios]
+
rustflags = [
+
    "-C", "link-arg=-Wl,-platform_version,ios,14.0,14.0",
+
    "-C", "link-arg=-Wl,-syslibroot,$(xcrun --sdk iphoneos --show-sdk-path)"
+
]
+

+
[target.aarch64-apple-ios-sim]
+
rustflags = [
+
    "-C", "link-arg=-Wl,-platform_version,ios-simulator,14.0,14.0",
+
    "-C", "link-arg=-Wl,-syslibroot,$(xcrun --sdk iphonesimulator --show-sdk-path)"
+
]
added crates/ios-tauri/src-tauri/build-ios-debug.sh
@@ -0,0 +1,164 @@
+
#!/bin/bash
+
# iOS Build Automation Script for Tauri
+
# This script handles the complete build process from Rust to Xcode
+

+
set -e  # Exit on any error
+

+
# Colors for output
+
RED='\033[0;31m'
+
GREEN='\033[0;32m'
+
YELLOW='\033[0;33m'
+
BLUE='\033[0;34m'
+
NC='\033[0m' # No Color
+

+
# Store the starting directory
+
INITIAL_DIR=$(pwd)
+
PROJECT_ROOT=$(cd ../.. && pwd)
+
IOS_DIR="$INITIAL_DIR"
+

+
echo -e "${BLUE}=== iOS Build Automation for Tauri ===${NC}"
+

+
# Check if we're in the right directory
+
if [ ! -f "src-tauri/Cargo.toml" ]; then
+
  echo -e "${RED}Error: src-tauri/Cargo.toml not found${NC}"
+
  echo "Please run this script from your ios-tauri directory"
+
  exit 1
+
fi
+

+
# Clean everything
+
echo -e "${YELLOW}Cleaning previous builds...${NC}"
+
rm -rf src-tauri/gen/apple
+
rm -rf src-tauri/target
+
cargo clean --manifest-path src-tauri/Cargo.toml
+

+
# Make sure Tauri dependencies are installed
+
echo -e "${YELLOW}Checking node dependencies...${NC}"
+
cd "$PROJECT_ROOT"
+
if [ ! -d "node_modules/@tauri-apps/api" ]; then
+
  echo -e "${YELLOW}Installing node dependencies...${NC}"
+
  npm install
+
fi
+

+
# Build frontend assets first
+
echo -e "${YELLOW}Building frontend assets...${NC}"
+
npm run build
+

+
# Return to iOS directory for Tauri-specific build
+
cd "$IOS_DIR"
+
echo -e "${YELLOW}Building iOS app with Tauri CLI...${NC}"
+
cd src-tauri
+

+
# Use cargo directly since we're having issues with the tauri CLI
+
echo -e "${YELLOW}Building Rust library...${NC}"
+
cargo build --target aarch64-apple-ios-sim
+
cd ..
+

+
# Create Tauri API directory if needed
+
echo -e "${YELLOW}Setting up Tauri API for iOS...${NC}"
+
mkdir -p src-tauri/gen/apple/tauri
+
if [ ! -f "src-tauri/gen/apple/tauri/index.js" ]; then
+
  echo -e "${YELLOW}Copying Tauri API files...${NC}"
+
  cp -R "$PROJECT_ROOT/node_modules/@tauri-apps/api/"* src-tauri/gen/apple/tauri/
+
fi
+

+
# Initialize iOS project
+
echo -e "${YELLOW}Initializing iOS project...${NC}"
+
cd src-tauri
+
tauri ios init
+
cd ..
+

+
# Ensure web assets are in the right place
+
echo -e "${YELLOW}Ensuring web assets are in the right location...${NC}"
+
mkdir -p src-tauri/gen/apple/assets/web
+
if [ -d "$PROJECT_ROOT/build" ]; then
+
  echo -e "${YELLOW}Copying web assets from build directory...${NC}"
+
  cp -R "$PROJECT_ROOT/build/"* src-tauri/gen/apple/assets/web/
+
fi
+

+
# Custom WebView implementation
+
echo -e "${YELLOW}Setting up custom WebView implementation...${NC}"
+
mkdir -p src-tauri/gen/apple/Sources/app/bindings
+
cat > src-tauri/gen/apple/Sources/app/bindings/bindings.h << 'EOL'
+
#pragma once
+
namespace ffi {
+
    extern "C" {
+
        void start_app();
+
    }
+
}
+
EOL
+

+
# Copy the main.mm file from the external file
+
echo -e "${YELLOW}Copying custom main.mm implementation...${NC}"
+
cp "$INITIAL_DIR/dev_main.mm" src-tauri/gen/apple/Sources/app/main.mm
+

+
# If initialization was successful, find and open the Xcode project
+
if [ -d "src-tauri/gen/apple" ]; then
+
  XCODEPROJ=$(find src-tauri/gen/apple -name "*.xcodeproj" | head -1)
+
  
+
  if [ -n "$XCODEPROJ" ]; then
+
    echo -e "${GREEN}Opening Xcode project: $XCODEPROJ${NC}"
+
    
+
    # Create symbolic link to library if needed
+
    mkdir -p src-tauri/gen/apple/libs
+
    LIB_PATH=$(find src-tauri/target -name "libapp.a" | head -1)
+
    if [ -n "$LIB_PATH" ]; then
+
      echo -e "${YELLOW}Creating symbolic link to library: $LIB_PATH${NC}"
+
      ln -sf "$(pwd)/$LIB_PATH" src-tauri/gen/apple/libs/libapp.a
+
    fi
+
    
+
    open "$XCODEPROJ"
+
    
+
    echo -e "${GREEN}Xcode project is open. Please build from Xcode interface.${NC}"
+
    echo -e "${YELLOW}If you encounter 'library app not found' errors:${NC}"
+
    echo "1. Check that src-tauri/Cargo.toml has [lib] name = \"app\""
+
    echo "2. In Xcode, check Build Settings > Library Search Paths includes: $(pwd)/src-tauri/gen/apple/libs"
+
  else
+
    echo -e "${RED}No Xcode project found in src-tauri/gen/apple${NC}"
+
  fi
+
else
+
  echo -e "${RED}Failed to initialize iOS project${NC}"
+
fi
+

+
# Make sure Info.plist includes WebView permissions
+
echo -e "${YELLOW}Adding WebView permissions to Info.plist...${NC}"
+
INFOPLIST="src-tauri/gen/apple/app_iOS/Info.plist"
+
if [ -f "$INFOPLIST" ]; then
+
    echo "Found Info.plist at $INFOPLIST"
+
    # Check if NSAppTransportSecurity is already in the file
+
    if ! grep -q "NSAppTransportSecurity" "$INFOPLIST"; then
+
        # Create a temporary file
+
        TMP_PLIST=$(mktemp)
+
        
+
        # Find the line number of the last </dict>
+
        LAST_DICT_LINE=$(grep -n "</dict>" "$INFOPLIST" | tail -1 | cut -d: -f1)
+
        
+
        # Copy everything up to the last </dict> line
+
        head -n $(($LAST_DICT_LINE - 1)) "$INFOPLIST" > "$TMP_PLIST"
+
        
+
        # Add our new keys
+
        cat >> "$TMP_PLIST" << 'EOL'
+
        <key>NSAppTransportSecurity</key>
+
        <dict>
+
                <key>NSAllowsLocalNetworking</key>
+
                <true/>
+
                <key>NSAllowsArbitraryLoads</key>
+
                <true/>
+
        </dict>
+
EOL
+
        
+
        # Add the closing dict and anything after it
+
        tail -n +$LAST_DICT_LINE "$INFOPLIST" >> "$TMP_PLIST"
+
        
+
        # Replace the original file
+
        cp "$TMP_PLIST" "$INFOPLIST"
+
        rm "$TMP_PLIST"
+
        
+
        echo "Added NSAppTransportSecurity to Info.plist"
+
    else
+
        echo "NSAppTransportSecurity already exists in Info.plist"
+
    fi
+
else
+
    echo "Warning: Info.plist not found at $INFOPLIST"
+
fi
+

+
echo -e "${BLUE}=== Build process completed ===${NC}"

\ No newline at end of file
added crates/ios-tauri/src-tauri/build.rs
@@ -0,0 +1,51 @@
+
fn main() {
+
  println!("cargo:rerun-if-changed=build.rs");
+

+
  let target = std::env::var("TARGET").expect("TARGET not set");
+

+
  if !target.contains("apple-ios") {
+
      panic!("❌ ERROR: This build is only for iOS! Current target: {}", target);
+
  }
+

+
  println!("cargo:warning=Building for iOS");
+

+
  // ✅ Correctly detect SDK
+
  let sdk_type = if target.contains("sim") { "iphonesimulator" } else { "iphoneos" };
+

+
  let sdk_path = std::process::Command::new("xcrun")
+
      .args(["--sdk", sdk_type, "--show-sdk-path"])
+
      .output()
+
      .expect("❌ Failed to find iOS SDK")
+
      .stdout;
+

+
  let sdk_path = String::from_utf8(sdk_path).expect("❌ Failed to parse SDK path").trim().to_string();
+

+
  // ✅ Correctly set search paths
+
  println!("cargo:rustc-link-search=native={}/usr/lib", sdk_path);
+
  println!("cargo:rustc-link-search=framework={}/System/Library/Frameworks", sdk_path);
+

+
  // ✅ Force correct iOS target version
+
  println!("cargo:rustc-env=IPHONEOS_DEPLOYMENT_TARGET=14.0");
+

+
  // ✅ Ensure linking against correct frameworks
+
  println!("cargo:rustc-link-lib=framework=Foundation");
+
  println!("cargo:rustc-link-lib=framework=CoreFoundation");
+
  println!("cargo:rustc-link-lib=framework=Security");
+
  println!("cargo:rustc-link-lib=framework=WebKit");
+
  println!("cargo:rustc-link-lib=framework=UIKit");
+
  println!("cargo:rustc-link-lib=framework=SystemConfiguration");
+

+
  // ✅ Add essential system libraries
+
  println!("cargo:rustc-link-lib=z");
+
  println!("cargo:rustc-link-lib=iconv");
+
  println!("cargo:rustc-link-lib=c++");
+
  println!("cargo:rustc-link-lib=objc");
+
  println!("cargo:rustc-link-lib=c");
+

+
  // ✅ Explicitly set SDK path for build
+
  println!("cargo:rustc-env=SDKROOT={}", sdk_path);
+

+
  println!("cargo:warning=Using iOS SDK: {}", sdk_path);
+

+
  tauri_build::build();
+
}
added crates/ios-tauri/src-tauri/capabilities/default.json
@@ -0,0 +1,11 @@
+
{
+
  "$schema": "../gen/schemas/desktop-schema.json",
+
  "identifier": "default",
+
  "description": "enables the default permissions",
+
  "windows": [
+
    "main"
+
  ],
+
  "permissions": [
+
    "core:default"
+
  ]
+
}
added crates/ios-tauri/src-tauri/src/lib.rs
@@ -0,0 +1,29 @@
+
use tauri::{Builder, Runtime};
+
use tauri::plugin::TauriPlugin;
+

+
#[cfg(target_os = "ios")]
+
tauri::ios_plugin_binding!(init_plugin_ios_tauri);
+

+
#[cfg_attr(mobile, tauri::mobile_entry_point)]
+
pub fn run() {
+
    Builder::default()
+
        .plugin(tauri_plugin_log::Builder::default().build())
+
        .plugin(tauri_plugin_dialog::init())
+
        .plugin(tauri_plugin_shell::init())
+
        .plugin(tauri_plugin_clipboard_manager::init())
+
        .plugin(init::<tauri::Wry>())
+
        .setup(|app| {
+
            Ok(())
+
        })
+
        .run(tauri::generate_context!())
+
        .expect("error while running Tauri application");
+
}
+

+
// iOS plugin initialization
+
pub fn init<R: Runtime>() -> TauriPlugin<R> {
+
    tauri::plugin::Builder::<R>::new("ios-tauri")
+
        .setup(|_app, _api| {
+
            Ok(())
+
        })
+
        .build()
+
}
added crates/ios-tauri/src-tauri/src/main.rs
@@ -0,0 +1,6 @@
+
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
+
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
+

+
fn main() {
+
  app::run();
+
}
added crates/ios-tauri/src-tauri/tauri.conf.json
@@ -0,0 +1,40 @@
+
{
+
  "$schema": "../../../node_modules/@tauri-apps/cli/config.schema.json",
+
  "productName": "radicle-desktop",
+
  "version": "0.1.0",
+
  "identifier": "com.tauri.dev",
+
  "build": {
+
    "frontendDist": "../../../build", 
+
    "beforeDevCommand": "npm run dev",
+
    "beforeBuildCommand": "npm run build",
+
    "devUrl": "http://localhost:1420/"
+
  },
+
  "app": {
+
    "windows": [
+
      {
+
        "title": "radicle",
+
        "width": 800,
+
        "height": 600,
+
        "resizable": true,
+
        "fullscreen": false
+
      }
+
    ],
+
    "security": {
+
      "csp": null
+
    }
+
  },
+
  "bundle": {
+
    "active": true,
+
    "targets": "all",
+
    "icon": [
+
      "icons/32x32.png",
+
      "icons/128x128.png",
+
      "icons/128x128@2x.png",
+
      "icons/icon.icns",
+
      "icons/icon.ico"
+
    ],
+
    "iOS": {
+
      "frameworks": []
+
    }
+
  }
+
}

\ No newline at end of file