From f9acfe830daddc68901e6059013c010531398e5e Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Thu, 3 Oct 2024 16:40:49 -0700 Subject: [PATCH 01/16] fix: expand movement sync configuration. --- Cargo.lock | 34 ++++++ networks/suzuka/suzuka-config/Cargo.toml | 3 + networks/suzuka/suzuka-config/src/syncing.rs | 113 +++++++++++++++++- networks/suzuka/suzuka-util/Cargo.toml | 47 ++++++++ .../suzuka/suzuka-util/src/common_args.rs | 26 ++++ networks/suzuka/suzuka-util/src/lib.rs | 10 ++ networks/suzuka/suzuka-util/src/main.rs | 22 ++++ .../suzuka-util/src/syncing/bucket/delete.rs | 18 +++ .../src/syncing/bucket/downsync.rs | 0 .../suzuka-util/src/syncing/bucket/mod.rs | 13 ++ .../suzuka-util/src/syncing/bucket/upsync.rs | 1 + .../suzuka/suzuka-util/src/syncing/mod.rs | 9 ++ protocol-units/syncing/syncup/src/lib.rs | 80 ++++++++++++- util/dot-movement/src/sync.rs | 11 +- .../src/backend/s3/shared_bucket/metadata.rs | 25 +++- .../src/backend/s3/shared_bucket/mod.rs | 37 +++--- 16 files changed, 423 insertions(+), 26 deletions(-) create mode 100644 networks/suzuka/suzuka-util/Cargo.toml create mode 100644 networks/suzuka/suzuka-util/src/common_args.rs create mode 100644 networks/suzuka/suzuka-util/src/lib.rs create mode 100644 networks/suzuka/suzuka-util/src/main.rs create mode 100644 networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs create mode 100644 networks/suzuka/suzuka-util/src/syncing/bucket/downsync.rs create mode 100644 networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs create mode 100644 networks/suzuka/suzuka-util/src/syncing/bucket/upsync.rs create mode 100644 networks/suzuka/suzuka-util/src/syncing/mod.rs diff --git a/Cargo.lock b/Cargo.lock index a0cfac6cb..15e16f779 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13262,13 +13262,16 @@ name = "suzuka-config" version = "0.0.2" dependencies = [ "anyhow", + "dot-movement", "godfig", "m1-da-light-node-util", "maptos-execution-util", "mcr-settlement-client", "mcr-settlement-config", + "movement-types", "serde", "serde_derive", + "syncup", "tokio", "toml 0.8.19", "tracing", @@ -13369,6 +13372,37 @@ dependencies = [ "tracing-subscriber 0.3.18", ] +[[package]] +name = "suzuka-util" +version = "0.0.2" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "clap 4.5.19", + "console-subscriber", + "dot-movement", + "futures", + "godfig", + "m1-da-light-node-client", + "m1-da-light-node-util", + "maptos-dof-execution", + "mcr-settlement-client", + "mcr-settlement-manager", + "movement-rest", + "movement-tracing", + "movement-types", + "rocksdb", + "serde_json", + "sha2 0.10.8", + "suzuka-config", + "tokio", + "tokio-stream", + "tonic 0.11.0", + "tracing", + "tracing-subscriber 0.3.18", + "zstd 0.13.2", +] + [[package]] name = "symbolic-common" version = "10.2.1" diff --git a/networks/suzuka/suzuka-config/Cargo.toml b/networks/suzuka/suzuka-config/Cargo.toml index 7de0fb105..24b6b4476 100644 --- a/networks/suzuka/suzuka-config/Cargo.toml +++ b/networks/suzuka/suzuka-config/Cargo.toml @@ -24,3 +24,6 @@ toml = { workspace = true } tracing = { workspace = true } m1-da-light-node-util = { workspace = true } godfig = { workspace = true } +syncup = { workspace = true } +movement-types = { workspace = true } +dot-movement = { workspace = true } \ No newline at end of file diff --git a/networks/suzuka/suzuka-config/src/syncing.rs b/networks/suzuka/suzuka-config/src/syncing.rs index 3b634af2d..f37cd6ac6 100644 --- a/networks/suzuka/suzuka-config/src/syncing.rs +++ b/networks/suzuka/suzuka-config/src/syncing.rs @@ -1,5 +1,10 @@ +use crate::Config as SuzukaConfig; +use dot_movement::DotMovement; use godfig::env_or_none; +use movement_types::{actor, application}; use serde::{Deserialize, Serialize}; +use std::path::PathBuf; +use syncup::Syncupable; /// The execution extension configuration. /// This covers Suzuka configurations that do not configure the Maptos executor, but do configure the way it is used. @@ -8,14 +13,120 @@ pub struct Config { /// The number of times to retry a block if it fails to execute. #[serde(default = "default_movement_sync")] pub movement_sync: Option, + + /// The application id. + #[serde(default = "default_application_id")] + pub application_id: application::Id, + + /// The syncer id. + #[serde(default = "default_syncer_id")] + pub syncer_id: actor::Id, + + /// The root directory. + #[serde(default = "default_root_directory")] + pub root_dir: String, + + /// The glob pattern. + } impl Default for Config { fn default() -> Self { - Self { movement_sync: default_movement_sync() } + Self { + movement_sync: default_movement_sync(), + application_id: default_application_id(), + syncer_id: default_syncer_id(), + root_dir: default_root_directory(), + } } } pub fn default_movement_sync() -> Option { std::env::var("MOVEMENT_SYNC").ok() } + +pub fn default_application_id() -> application::Id { + application::Id::suzuka() +} + +pub fn default_syncer_id() -> actor::Id { + actor::Id::random() +} + +pub fn default_root_directory() -> PathBuf { + DotMovement::try_from_env().unwrap_or_else(|_| "./.movement".into()) +} + +pub struct MovementSync { + pub is_leader: bool, + pub bucket: String, + pub glob: String, +} + +impl TryFrom for MovementSync { + type Error = anyhow::Error; + + fn try_from(value: String) -> Result { + let mut leader_follower_split = sync_str.split("::"); + let is_leader = leader_follower_split.next().context( + "MOVEMENT_SYNC environment variable must be in the format ::", + )? == "leader"; + + let mut bucket_arrow_glob = leader_follower_split.next().context( + "MOVEMENT_SYNC environment variable must be in the format ::", + )?.split("<=>"); + + let bucket = bucket_arrow_glob.next().context( + "MOVEMENT_SYNC environment variable must be in the format ,", + )?; + let glob = bucket_arrow_glob.next().context( + "MOVEMENT_SYNC environment variable must be in the format ,", + )?; + + Ok(Self { is_leader, bucket, glob }) + } +} + +impl Config { + + /// Check if the args contain a movement sync. + pub fn wants_movement_sync(&self) -> bool { + self.movement_sync.is_some() + } + + + /// Get the DotMovement struct from the args. + pub fn try_movement_sync(&self) -> Result, anyhow::Error> { + Ok(self.movement_sync.clone().map(MovementSync::try_from).transpose()?) + } +} + + +impl Syncupable for SuzukaConfig { + fn try_application_id(&self) -> Result { + Ok(self.application_id.clone()) + } + + fn try_glob(&self) -> Result { + let movement_sync = self.try_movement_sync()?; + Ok(movement_sync.glob) + } + + fn try_leader(&self) -> Result { + let movement_sync = self.try_movement_sync()?; + Ok(movement_sync.is_leader) + } + + fn try_root_dir(&self) -> Result { + Ok(self.root_dir.clone()) + } + + fn try_syncer_id(&self) -> Result { + Ok(self.syncer_id.clone()) + } + + fn try_target(&self) -> Result { + let movement_sync = self.try_movement_sync()?; + Ok(syncup::Target::S3(movement_sync.bucket)) + } +} diff --git a/networks/suzuka/suzuka-util/Cargo.toml b/networks/suzuka/suzuka-util/Cargo.toml new file mode 100644 index 000000000..049c60cbb --- /dev/null +++ b/networks/suzuka/suzuka-util/Cargo.toml @@ -0,0 +1,47 @@ +[package] +name = "suzuka-util" +version = { workspace = true } +edition = { workspace = true } +license = { workspace = true } +authors = { workspace = true } +repository = { workspace = true } +homepage = { workspace = true } +publish = { workspace = true } +rust-version = { workspace = true } + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +maptos-dof-execution = { workspace = true } +m1-da-light-node-client = { workspace = true } +m1-da-light-node-util = { workspace = true } +mcr-settlement-client = { workspace = true, features = ["mock"] } +mcr-settlement-manager = { workspace = true } +serde_json = { workspace = true } +anyhow = { workspace = true } +futures = { workspace = true } +tokio = { workspace = true } +tokio-stream = { workspace = true } +sha2 = { workspace = true } +tonic = { workspace = true } +movement-types = { workspace = true } +movement-rest = { workspace = true } +movement-tracing = { workspace = true } +suzuka-config = { workspace = true } +dot-movement = { workspace = true } +godfig = { workspace = true } +tracing-subscriber = { workspace = true } +console-subscriber = { workspace = true } +rocksdb = { workspace = true } +tracing = { workspace = true } +bcs = { workspace = true } +zstd = { workspace = true } +clap = { workspace = true } + +[features] +default = [] +logging = [] + + +[lints] +workspace = true diff --git a/networks/suzuka/suzuka-util/src/common_args.rs b/networks/suzuka/suzuka-util/src/common_args.rs new file mode 100644 index 000000000..a9fc9a907 --- /dev/null +++ b/networks/suzuka/suzuka-util/src/common_args.rs @@ -0,0 +1,26 @@ +use clap::Parser; +use dot_movement::DotMovement; + +/// A struct containing common arguments for the Suzuka network. +#[derive(Parser, Debug, Clone)] +pub struct MovementArgs { + /// The optional path to the DOT_MOVEMENT directory. + /// This will be read from an environment variable if not provided. + #[clap(long, env = "DOT_MOVEMENT_PATH")] + pub movement_path: Option, +} + +impl MovementArgs { + /// Create a new instance of `MovementArgs`. + pub fn new() -> Self { + Self { movement_path: None } + } + + /// Get the DotMovement struct from the args. + pub fn dot_movement(&self) -> Result { + let movement_path = self.movement_path.clone().unwrap_or_else(|| { + std::env::var("DOT_MOVEMENT_PATH").unwrap_or_else(|_| ".".to_string()) + }); + Ok(DotMovement::new(movement_path.as_str())) + } +} diff --git a/networks/suzuka/suzuka-util/src/lib.rs b/networks/suzuka/suzuka-util/src/lib.rs new file mode 100644 index 000000000..46ba94ada --- /dev/null +++ b/networks/suzuka/suzuka-util/src/lib.rs @@ -0,0 +1,10 @@ +pub mod common_args; +pub mod syncing; +use clap::Parser; + +#[derive(Parser)] +#[clap(rename_all = "kebab-case")] +pub enum SuzukaUtil { + #[clap(subcommand)] + Syncing(syncing::Syncing), +} diff --git a/networks/suzuka/suzuka-util/src/main.rs b/networks/suzuka/suzuka-util/src/main.rs new file mode 100644 index 000000000..eea463a88 --- /dev/null +++ b/networks/suzuka/suzuka-util/src/main.rs @@ -0,0 +1,22 @@ +use suzuka_full_node::manager::Manager; + +use std::env; +use std::process::ExitCode; + +const TIMING_LOG_ENV: &str = "SUZUKA_TIMING_LOG"; + +#[tokio::main] +async fn main() -> Result { + let tracing_config = + movement_tracing::Config { timing_log_path: env::var_os(TIMING_LOG_ENV).map(Into::into) }; + let _guard = movement_tracing::init_tracing_subscriber(tracing_config); + + // get the config file + let dot_movement = dot_movement::DotMovement::try_from_env()?; + let config_file = dot_movement.try_get_or_create_config_file().await?; + + let manager = Manager::new(config_file).await?; + manager.try_run().await?; + + Ok(ExitCode::SUCCESS) +} diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs b/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs new file mode 100644 index 000000000..f1005381a --- /dev/null +++ b/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs @@ -0,0 +1,18 @@ +use crate::common_args::MovementArgs; +use clap::Parser; + +#[derive(Debug, Parser, Clone)] +pub struct Delete { + #[clap(flatten)] + pub movement_args: MovementArgs, +} + +impl Delete { + pub async fn execute(&self) -> Result<(), anyhow::Error> { + let dot_movement_dir = self.movement_args.dot_movement()?; + + dot_movement + + Ok(()) + } +} diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/downsync.rs b/networks/suzuka/suzuka-util/src/syncing/bucket/downsync.rs new file mode 100644 index 000000000..e69de29bb diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs b/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs new file mode 100644 index 000000000..d132bb8b6 --- /dev/null +++ b/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs @@ -0,0 +1,13 @@ +pub mod delete; +pub mod downsync; +pub mod upsync; + +use clap::Subcommand; + +#[derive(Subcommand, Debug)] +#[clap(rename_all = "kebab-case", about = "Control bucket-based syncing")] +pub enum Bucket { + Delete(delete::Delete), + Downsync(downsync::Downsync), + Upsync(upsync::Upsync), +} diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/upsync.rs b/networks/suzuka/suzuka-util/src/syncing/bucket/upsync.rs new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/networks/suzuka/suzuka-util/src/syncing/bucket/upsync.rs @@ -0,0 +1 @@ + diff --git a/networks/suzuka/suzuka-util/src/syncing/mod.rs b/networks/suzuka/suzuka-util/src/syncing/mod.rs new file mode 100644 index 000000000..d58c87573 --- /dev/null +++ b/networks/suzuka/suzuka-util/src/syncing/mod.rs @@ -0,0 +1,9 @@ +pub mod bucket; +use clap::Subcommand; + +#[derive(Subcommand, Debug)] +#[clap(rename_all = "kebab-case", about = "Control the syncing")] +pub enum Syncing { + #[clap(subcommand)] + Bucket(bucket::Bucket), +} diff --git a/protocol-units/syncing/syncup/src/lib.rs b/protocol-units/syncing/syncup/src/lib.rs index 257ffd27f..3bc21aec6 100644 --- a/protocol-units/syncing/syncup/src/lib.rs +++ b/protocol-units/syncing/syncup/src/lib.rs @@ -1,9 +1,39 @@ -use movement_types::application; +use movement_types::{actor, application}; use std::path::PathBuf; use syncador::backend::{archive, clear, glob, pipeline, s3, PullOperations, PushOperations}; use tokio::time::interval; use tracing::{info, warn}; +pub trait SyncupOperations { + /// Syncs up the files in the glob to the target. + async fn syncup( + &self, + ) -> Result>, anyhow::Error>; + + /// Removes the syncing resources. + async fn remove_syncup_resources(&self) -> Result<(), anyhow::Error>; +} + +pub trait Syncupable { + /// Returns whether the current actor is the leader. + fn try_leader(&self) -> Result; + + /// Returns the application id. + fn try_application_id(&self) -> Result; + + /// Returns the syncer id. + fn try_syncer_id(&self) -> Result; + + /// Returns the root directory. + fn try_root_dir(&self) -> Result; + + /// Returns the glob pattern. + fn try_glob(&self) -> Result; + + /// Returns the target. + fn try_target(&self) -> Result; +} + #[derive(Debug, Clone)] pub enum Target { S3(String), @@ -15,13 +45,16 @@ impl Target { root_dir: PathBuf, glob: &str, application_id: application::Id, + syncer_id: actor::Id, ) -> Result<(pipeline::push::Pipeline, pipeline::pull::Pipeline), anyhow::Error> { match self { Target::S3(bucket) => { - let (s3_push, s3_pull) = s3::shared_bucket::create_random_with_application_id( + let (s3_push, s3_pull) = s3::shared_bucket::create_with_load_from_env( bucket.clone(), - application_id, root_dir.clone(), + s3::shared_bucket::metadata::Metadata::default() + .with_application_id(application_id) + .with_syncer_id(syncer_id), ) .await?; @@ -51,12 +84,14 @@ pub async fn syncup( glob: &str, target: Target, application_id: application::Id, + syncer_id: actor::Id, ) -> Result>, anyhow::Error> { info!("Running syncup with root {:?}, glob {}, and target {:?}", root_dir, glob, target); // create the pipelines for the target - let (push_pipeline, pull_pipeline) = - target.create_pipelines(root_dir.clone(), glob, application_id).await?; + let (push_pipeline, pull_pipeline) = target + .create_pipelines(root_dir.clone(), glob, application_id, syncer_id) + .await?; // run the pull pipeline once if !is_leader { @@ -77,7 +112,7 @@ pub async fn syncup( // Create the upsync task using tokio::time::interval let upsync_task = async move { let mut interval = interval(std::time::Duration::from_millis( - s3::shared_bucket::metadata::DEFAULT_SYNC_EPOCH_DURATION, + s3::shared_bucket::metadata::Metadata::DEFAULT_SYNC_EPOCH_DURATION, )); loop { info!("waiting for next push"); @@ -98,3 +133,36 @@ pub async fn syncup( Ok(upsync_task) } + +pub async fn remove_syncup_resources(target: Target) -> Result<(), anyhow::Error> { + match target { + Target::S3(bucket) => { + s3::shared_bucket::destroy_with_load_from_env(bucket).await?; + } + } + + Ok(()) +} + +impl SyncupOperations for T +where + T: Syncupable, +{ + async fn syncup( + &self, + ) -> Result>, anyhow::Error> { + let is_leader = self.try_leader()?; + let root_dir = self.try_root_dir()?; + let glob = self.try_glob()?; + let target = self.try_target()?; + let application_id = self.try_application_id()?; + let syncer_id = self.try_syncer_id()?; + + syncup(is_leader, root_dir, &glob, target, application_id, syncer_id).await + } + + async fn remove_syncup_resources(&self) -> Result<(), anyhow::Error> { + let target = self.try_target()?; + remove_syncup_resources(target).await + } +} diff --git a/util/dot-movement/src/sync.rs b/util/dot-movement/src/sync.rs index 5fd9ad1a1..a527ad679 100644 --- a/util/dot-movement/src/sync.rs +++ b/util/dot-movement/src/sync.rs @@ -3,7 +3,7 @@ use movement_types::application; use syncup::{syncup, Target}; impl DotMovement { - pub async fn sync( + pub async fn syncup( &self, is_leader: bool, glob: &str, @@ -14,4 +14,13 @@ impl DotMovement { syncup(is_leader, self.0.clone(), glob, Target::S3(bucket), application_id).await?; Ok(sync_task) } + + pub async fn delete_sync_bucket( + &self, + bucket: String, + ) -> Result>, anyhow::Error> { + let sync_task = + syncup(false, self.0.clone(), "", Target::S3(bucket), application_id).await?; + Ok(sync_task) + } } diff --git a/util/syncador/src/backend/s3/shared_bucket/metadata.rs b/util/syncador/src/backend/s3/shared_bucket/metadata.rs index 508d8a6c9..3e77d61c6 100644 --- a/util/syncador/src/backend/s3/shared_bucket/metadata.rs +++ b/util/syncador/src/backend/s3/shared_bucket/metadata.rs @@ -3,8 +3,6 @@ use movement_types::{actor, application}; use std::collections::HashSet; use std::time; -pub const DEFAULT_SYNC_EPOCH_DURATION: u64 = 1000 * 60; - #[derive(Debug, Clone)] pub struct Metadata { pub application_id: application::Id, @@ -14,6 +12,9 @@ pub struct Metadata { } impl Metadata { + pub const DEFAULT_RETAIN_EPOCHS_COUNT: u64 = 16; + pub const DEFAULT_SYNC_EPOCH_DURATION: u64 = 1000 * 60; + pub fn new( application_id: application::Id, syncer_id: actor::Id, @@ -23,16 +24,32 @@ impl Metadata { Self { application_id, syncer_id, sync_epoch_duration, retain_epochs_count } } + /// Set the application id for the metadata pub fn with_application_id(self, application_id: application::Id) -> Self { Self { application_id, ..self } } + /// Set the syncer id for the metadata + pub fn with_syncer_id(self, syncer_id: actor::Id) -> Self { + Self { syncer_id, ..self } + } + + /// Set the sync epoch duration for the metadata pub fn random() -> Self { Self { application_id: application::Id::random(), syncer_id: actor::Id::random(), - sync_epoch_duration: DEFAULT_SYNC_EPOCH_DURATION, - retain_epochs_count: 16, + sync_epoch_duration: Self::DEFAULT_SYNC_EPOCH_DURATION, + retain_epochs_count: Self::DEFAULT_RETAIN_EPOCHS_COUNT, + } + } + + pub fn default() -> Self { + Self { + application_id: application::Id::default(), + syncer_id: actor::Id::default(), + sync_epoch_duration: Self::DEFAULT_SYNC_EPOCH_DURATION, + retain_epochs_count: Self::DEFAULT_RETAIN_EPOCHS_COUNT, } } diff --git a/util/syncador/src/backend/s3/shared_bucket/mod.rs b/util/syncador/src/backend/s3/shared_bucket/mod.rs index d76752f05..c267999d3 100644 --- a/util/syncador/src/backend/s3/shared_bucket/mod.rs +++ b/util/syncador/src/backend/s3/shared_bucket/mod.rs @@ -8,9 +8,10 @@ pub mod push; use movement_types::application; use std::path::PathBuf; -pub async fn create_random( +pub async fn create_with_load_from_env( bucket: String, pull_destination: PathBuf, + metadata: metadata::Metadata, ) -> Result<(push::Push, pull::Pull), anyhow::Error> { let region = match std::env::var("AWS_REGION") { Ok(region) => Some(Region::new(region)), @@ -19,14 +20,10 @@ pub async fn create_random( let config = aws_config::load_from_env().await.into_builder().region(region).build(); info!("Client used region {:?}", config.region()); let client = aws_sdk_s3::Client::new(&config); - create(client, bucket, metadata::Metadata::random(), pull_destination).await + create(client, bucket, metadata, pull_destination).await } -pub async fn create_random_with_application_id( - bucket: String, - application_id: application::Id, - pull_destination: PathBuf, -) -> Result<(push::Push, pull::Pull), anyhow::Error> { +pub async fn destroy_with_load_from_env(bucket: String) -> Result<(), anyhow::Error> { let region = match std::env::var("AWS_REGION") { Ok(region) => Some(Region::new(region)), Err(_) => None, @@ -34,13 +31,25 @@ pub async fn create_random_with_application_id( let config = aws_config::load_from_env().await.into_builder().region(region).build(); info!("Client used region {:?}", config.region()); let client = aws_sdk_s3::Client::new(&config); - create( - client, - bucket, - metadata::Metadata::random().with_application_id(application_id), - pull_destination, - ) - .await + let bucket_connection = bucket_connection::BucketConnection::new(client, bucket); + bucket_connection.destroy(true).await +} + +pub async fn create_random( + bucket: String, + pull_destination: PathBuf, +) -> Result<(push::Push, pull::Pull), anyhow::Error> { + let metadata = metadata::Metadata::random(); + create_with_load_from_env(bucket, pull_destination, metadata).await +} + +pub async fn create_random_with_application_id( + bucket: String, + application_id: application::Id, + pull_destination: PathBuf, +) -> Result<(push::Push, pull::Pull), anyhow::Error> { + let metadata = metadata::Metadata::random().with_application_id(application_id); + create_with_load_from_env(bucket, pull_destination, metadata).await } pub async fn create( From e05cb08ac7cfc32b75ec2e7007f3f9654e618214 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Thu, 3 Oct 2024 17:10:10 -0700 Subject: [PATCH 02/16] chore: refactor syncing API to facilitate suzuka-util. --- Cargo.lock | 1 + networks/suzuka/setup/src/main.rs | 43 ++++-------- networks/suzuka/suzuka-config/src/syncing.rs | 69 +++++++++++++------ networks/suzuka/suzuka-util/Cargo.toml | 1 + .../suzuka/suzuka-util/src/common_args.rs | 11 +++ networks/suzuka/suzuka-util/src/main.rs | 22 ------ .../suzuka-util/src/syncing/bucket/delete.rs | 6 +- .../suzuka-util/src/syncing/bucket/mod.rs | 4 +- util/dot-movement/src/sync.rs | 8 +-- 9 files changed, 85 insertions(+), 80 deletions(-) delete mode 100644 networks/suzuka/suzuka-util/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 15e16f779..f19e3f04f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13395,6 +13395,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "suzuka-config", + "syncup", "tokio", "tokio-stream", "tonic 0.11.0", diff --git a/networks/suzuka/setup/src/main.rs b/networks/suzuka/setup/src/main.rs index 0a29ad382..45eaa27a3 100644 --- a/networks/suzuka/setup/src/main.rs +++ b/networks/suzuka/setup/src/main.rs @@ -1,10 +1,11 @@ use anyhow::Context; use godfig::{backend::config_file::ConfigFile, Godfig}; -use movement_types::application; use std::future::Future; use std::pin::Pin; +use std::sync::Arc; use suzuka_config::Config; use suzuka_full_node_setup::{local::Local, SuzukaFullNodeSetupOperations}; +use syncup::SyncupOperations; use tokio::signal::unix::signal; use tokio::signal::unix::SignalKind; use tokio::sync::watch; @@ -52,34 +53,23 @@ async fn main() -> Result<(), anyhow::Error> { // Apply all of the setup steps let (anvil_join_handle, sync_task) = godfig .try_transaction_with_result(|config| async move { - tracing::info!("Config: {:?}", config); + tracing::info!("Config option: {:?}", config); let config = config.unwrap_or_default(); tracing::info!("Config: {:?}", config); - // set up sync - let sync_task: Pin> + Send>> = - if let Some(sync_str) = config.syncing.movement_sync.clone() { - let mut leader_follower_split = sync_str.split("::"); - let is_leader = leader_follower_split.next().context( - "MOVEMENT_SYNC environment variable must be in the format ::", - )? == "leader"; - - let mut bucket_arrow_glob = leader_follower_split.next().context( - "MOVEMENT_SYNC environment variable must be in the format ::", - )?.split("<=>"); + // set up anvil + let (config, anvil_join_handle) = Local::default().setup(dot_movement, config).await?; - let bucket = bucket_arrow_glob.next().context( - "MOVEMENT_SYNC environment variable must be in the format ,", - )?; - let glob = bucket_arrow_glob.next().context( - "MOVEMENT_SYNC environment variable must be in the format ,", - )?; + // Wrap the syncing_config in an Arc + // This may be overkill because cloning sync_config is cheap + let syncing_config = Arc::new(config.syncing.clone()); - info!("Syncing with bucket: {}, glob: {}", bucket, glob); - let sync_task = dot_movement - .sync(is_leader, glob, bucket.to_string(), application::Id::suzuka()) - .await?; - Box::pin(async { + // set up sync + let sync_task: Pin> + Send>> = + if syncing_config.wants_movement_sync() { + let syncing_config_cloned = syncing_config.clone(); + Box::pin(async move { + let sync_task = syncing_config_cloned.syncup().await?; sync_task.await?; Ok(()) }) @@ -90,10 +80,7 @@ async fn main() -> Result<(), anyhow::Error> { }) }; - // set up anvil - let (config, anvil_join_handle) = Local::default().setup(dot_movement, config).await?; - - Ok((Some(config), (anvil_join_handle, sync_task))) + Ok((Some(config.clone()), (anvil_join_handle, sync_task))) }) .await?; diff --git a/networks/suzuka/suzuka-config/src/syncing.rs b/networks/suzuka/suzuka-config/src/syncing.rs index f37cd6ac6..1131980c7 100644 --- a/networks/suzuka/suzuka-config/src/syncing.rs +++ b/networks/suzuka/suzuka-config/src/syncing.rs @@ -1,4 +1,5 @@ use crate::Config as SuzukaConfig; +use anyhow::Context; use dot_movement::DotMovement; use godfig::env_or_none; use movement_types::{actor, application}; @@ -24,15 +25,12 @@ pub struct Config { /// The root directory. #[serde(default = "default_root_directory")] - pub root_dir: String, - - /// The glob pattern. - + pub root_dir: PathBuf, } impl Default for Config { fn default() -> Self { - Self { + Self { movement_sync: default_movement_sync(), application_id: default_application_id(), syncer_id: default_syncer_id(), @@ -54,7 +52,10 @@ pub fn default_syncer_id() -> actor::Id { } pub fn default_root_directory() -> PathBuf { - DotMovement::try_from_env().unwrap_or_else(|_| "./.movement".into()) + match DotMovement::try_from_env() { + Ok(movement) => movement.get_path().to_path_buf(), + Err(_) => PathBuf::from("./.movement"), + } } pub struct MovementSync { @@ -67,7 +68,7 @@ impl TryFrom for MovementSync { type Error = anyhow::Error; fn try_from(value: String) -> Result { - let mut leader_follower_split = sync_str.split("::"); + let mut leader_follower_split = value.split("::"); let is_leader = leader_follower_split.next().context( "MOVEMENT_SYNC environment variable must be in the format ::", )? == "leader"; @@ -76,44 +77,43 @@ impl TryFrom for MovementSync { "MOVEMENT_SYNC environment variable must be in the format ::", )?.split("<=>"); - let bucket = bucket_arrow_glob.next().context( - "MOVEMENT_SYNC environment variable must be in the format ,", - )?; - let glob = bucket_arrow_glob.next().context( - "MOVEMENT_SYNC environment variable must be in the format ,", - )?; + let bucket = bucket_arrow_glob + .next() + .context("MOVEMENT_SYNC environment variable must be in the format ,")?; + let glob = bucket_arrow_glob + .next() + .context("MOVEMENT_SYNC environment variable must be in the format ,")?; - Ok(Self { is_leader, bucket, glob }) + Ok(Self { is_leader, bucket: bucket.to_string(), glob: glob.to_string() }) } } impl Config { - /// Check if the args contain a movement sync. pub fn wants_movement_sync(&self) -> bool { self.movement_sync.is_some() } - /// Get the DotMovement struct from the args. pub fn try_movement_sync(&self) -> Result, anyhow::Error> { Ok(self.movement_sync.clone().map(MovementSync::try_from).transpose()?) } } - -impl Syncupable for SuzukaConfig { +impl Syncupable for Config { fn try_application_id(&self) -> Result { Ok(self.application_id.clone()) } fn try_glob(&self) -> Result { - let movement_sync = self.try_movement_sync()?; + let movement_sync = + self.try_movement_sync()?.ok_or_else(|| anyhow::anyhow!("No movement sync"))?; Ok(movement_sync.glob) } fn try_leader(&self) -> Result { - let movement_sync = self.try_movement_sync()?; + let movement_sync = + self.try_movement_sync()?.ok_or_else(|| anyhow::anyhow!("No movement sync"))?; Ok(movement_sync.is_leader) } @@ -126,7 +126,34 @@ impl Syncupable for SuzukaConfig { } fn try_target(&self) -> Result { - let movement_sync = self.try_movement_sync()?; + let movement_sync = + self.try_movement_sync()?.ok_or_else(|| anyhow::anyhow!("No movement sync"))?; Ok(syncup::Target::S3(movement_sync.bucket)) } } + +impl Syncupable for SuzukaConfig { + fn try_application_id(&self) -> Result { + self.syncing.try_application_id() + } + + fn try_glob(&self) -> Result { + self.syncing.try_glob() + } + + fn try_leader(&self) -> Result { + self.syncing.try_leader() + } + + fn try_root_dir(&self) -> Result { + self.syncing.try_root_dir() + } + + fn try_syncer_id(&self) -> Result { + self.syncing.try_syncer_id() + } + + fn try_target(&self) -> Result { + self.syncing.try_target() + } +} diff --git a/networks/suzuka/suzuka-util/Cargo.toml b/networks/suzuka/suzuka-util/Cargo.toml index 049c60cbb..340ef8c56 100644 --- a/networks/suzuka/suzuka-util/Cargo.toml +++ b/networks/suzuka/suzuka-util/Cargo.toml @@ -37,6 +37,7 @@ tracing = { workspace = true } bcs = { workspace = true } zstd = { workspace = true } clap = { workspace = true } +syncup = { workspace = true } [features] default = [] diff --git a/networks/suzuka/suzuka-util/src/common_args.rs b/networks/suzuka/suzuka-util/src/common_args.rs index a9fc9a907..4aea0316a 100644 --- a/networks/suzuka/suzuka-util/src/common_args.rs +++ b/networks/suzuka/suzuka-util/src/common_args.rs @@ -1,5 +1,7 @@ use clap::Parser; use dot_movement::DotMovement; +use godfig::{backend::config_file::ConfigFile, Godfig}; +use suzuka_config::Config; /// A struct containing common arguments for the Suzuka network. #[derive(Parser, Debug, Clone)] @@ -23,4 +25,13 @@ impl MovementArgs { }); Ok(DotMovement::new(movement_path.as_str())) } + + /// Get the config + pub async fn config(&self) -> Result { + let dot_movement = self.dot_movement()?; + let config_file = dot_movement.try_get_or_create_config_file().await?; + let godfig: Godfig = Godfig::new(ConfigFile::new(config_file), vec![]); + + godfig.try_wait_for_ready().await.map_err(|e| e.into()) + } } diff --git a/networks/suzuka/suzuka-util/src/main.rs b/networks/suzuka/suzuka-util/src/main.rs deleted file mode 100644 index eea463a88..000000000 --- a/networks/suzuka/suzuka-util/src/main.rs +++ /dev/null @@ -1,22 +0,0 @@ -use suzuka_full_node::manager::Manager; - -use std::env; -use std::process::ExitCode; - -const TIMING_LOG_ENV: &str = "SUZUKA_TIMING_LOG"; - -#[tokio::main] -async fn main() -> Result { - let tracing_config = - movement_tracing::Config { timing_log_path: env::var_os(TIMING_LOG_ENV).map(Into::into) }; - let _guard = movement_tracing::init_tracing_subscriber(tracing_config); - - // get the config file - let dot_movement = dot_movement::DotMovement::try_from_env()?; - let config_file = dot_movement.try_get_or_create_config_file().await?; - - let manager = Manager::new(config_file).await?; - manager.try_run().await?; - - Ok(ExitCode::SUCCESS) -} diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs b/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs index f1005381a..54775b17f 100644 --- a/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs +++ b/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs @@ -1,5 +1,6 @@ use crate::common_args::MovementArgs; use clap::Parser; +use syncup::SyncupOperations; #[derive(Debug, Parser, Clone)] pub struct Delete { @@ -9,9 +10,8 @@ pub struct Delete { impl Delete { pub async fn execute(&self) -> Result<(), anyhow::Error> { - let dot_movement_dir = self.movement_args.dot_movement()?; - - dot_movement + let config = self.movement_args.config().await?; + config.remove_syncup_resources().await?; Ok(()) } diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs b/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs index d132bb8b6..add8b436b 100644 --- a/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs +++ b/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs @@ -8,6 +8,6 @@ use clap::Subcommand; #[clap(rename_all = "kebab-case", about = "Control bucket-based syncing")] pub enum Bucket { Delete(delete::Delete), - Downsync(downsync::Downsync), - Upsync(upsync::Upsync), + /*Downsync(downsync::Downsync), + Upsync(upsync::Upsync),*/ } diff --git a/util/dot-movement/src/sync.rs b/util/dot-movement/src/sync.rs index a527ad679..8f97f94e3 100644 --- a/util/dot-movement/src/sync.rs +++ b/util/dot-movement/src/sync.rs @@ -1,9 +1,9 @@ use crate::DotMovement; -use movement_types::application; -use syncup::{syncup, Target}; +/*use movement_types::application; +use syncup::{syncup, Target};*/ impl DotMovement { - pub async fn syncup( + /*pub async fn syncup( &self, is_leader: bool, glob: &str, @@ -22,5 +22,5 @@ impl DotMovement { let sync_task = syncup(false, self.0.clone(), "", Target::S3(bucket), application_id).await?; Ok(sync_task) - } + }*/ } From 0fccbaddf4f99a6fbc3e20105756019fc26ca546 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Fri, 4 Oct 2024 10:39:53 -0700 Subject: [PATCH 03/16] fix: syncing is not particular to bucket. --- networks/suzuka/suzuka-config/src/syncing.rs | 95 ++++++++++++++++--- networks/suzuka/suzuka-util/src/lib.rs | 8 ++ networks/suzuka/suzuka-util/src/main.rs | 13 +++ .../suzuka-util/src/syncing/bucket/mod.rs | 13 --- .../src/syncing/{bucket => }/delete.rs | 0 .../src/syncing/{bucket => }/downsync.rs | 0 .../suzuka/suzuka-util/src/syncing/mod.rs | 22 ++++- .../src/syncing/{bucket => }/upsync.rs | 0 scripts/services/suzuka-full-node/build | 6 +- 9 files changed, 127 insertions(+), 30 deletions(-) create mode 100644 networks/suzuka/suzuka-util/src/main.rs delete mode 100644 networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs rename networks/suzuka/suzuka-util/src/syncing/{bucket => }/delete.rs (100%) rename networks/suzuka/suzuka-util/src/syncing/{bucket => }/downsync.rs (100%) rename networks/suzuka/suzuka-util/src/syncing/{bucket => }/upsync.rs (100%) diff --git a/networks/suzuka/suzuka-config/src/syncing.rs b/networks/suzuka/suzuka-config/src/syncing.rs index 1131980c7..0ef932d25 100644 --- a/networks/suzuka/suzuka-config/src/syncing.rs +++ b/networks/suzuka/suzuka-config/src/syncing.rs @@ -68,26 +68,97 @@ impl TryFrom for MovementSync { type Error = anyhow::Error; fn try_from(value: String) -> Result { + // Split the string on "::", expect exactly two parts (leader/follower and sync-pattern) let mut leader_follower_split = value.split("::"); - let is_leader = leader_follower_split.next().context( - "MOVEMENT_SYNC environment variable must be in the format ::", - )? == "leader"; + let leader_follower_part = leader_follower_split.next().context( + "MOVEMENT_SYNC environment variable must be in the format ::", + )?; + let sync_pattern_part = leader_follower_split.next().context( + "MOVEMENT_SYNC environment variable must be in the format ::", + )?; + + // Ensure there are no extra parts after splitting on "::" + if leader_follower_split.next().is_some() { + return Err(anyhow::anyhow!( + "MOVEMENT_SYNC environment variable must be in the format ::" + )); + } - let mut bucket_arrow_glob = leader_follower_split.next().context( - "MOVEMENT_SYNC environment variable must be in the format ::", - )?.split("<=>"); + // Validate leader/follower part + let is_leader = match leader_follower_part { + "leader" => true, + "follower" => false, + _ => { + return Err(anyhow::anyhow!( + "MOVEMENT_SYNC environment variable must start with either 'leader' or 'follower'" + )) + } + }; + + // Split sync pattern on "<=>", expect exactly two parts (bucket and glob) + let mut bucket_arrow_glob = sync_pattern_part.split("<=>"); + let bucket = bucket_arrow_glob.next().context( + "MOVEMENT_SYNC environment variable must be in the format <=> ", + )?; + let glob = bucket_arrow_glob.next().context( + "MOVEMENT_SYNC environment variable must be in the format <=> ", + )?; + + // Ensure there are no extra parts after splitting on "<=>" + if bucket_arrow_glob.next().is_some() { + return Err(anyhow::anyhow!( + "MOVEMENT_SYNC environment variable must be in the format <=> " + )); + } - let bucket = bucket_arrow_glob - .next() - .context("MOVEMENT_SYNC environment variable must be in the format ,")?; - let glob = bucket_arrow_glob - .next() - .context("MOVEMENT_SYNC environment variable must be in the format ,")?; + // Ensure both bucket and glob are non-empty + if bucket.is_empty() || glob.is_empty() { + return Err(anyhow::anyhow!( + "MOVEMENT_SYNC environment variable must have non-empty and values" + )); + } + // Return the parsed struct Ok(Self { is_leader, bucket: bucket.to_string(), glob: glob.to_string() }) } } +#[cfg(test)] +mod test_movement_sync { + + use super::MovementSync; + + #[test] + fn test_try_from() { + let movement_sync = MovementSync::try_from("leader::bucket<=>glob".to_string()).unwrap(); + assert_eq!(movement_sync.is_leader, true); + assert_eq!(movement_sync.bucket, "bucket".to_string()); + assert_eq!(movement_sync.glob, "glob".to_string()); + + let movement_sync = MovementSync::try_from("follower::bucket<=>glob".to_string()).unwrap(); + assert_eq!(movement_sync.is_leader, false); + assert_eq!(movement_sync.bucket, "bucket".to_string()); + assert_eq!(movement_sync.glob, "glob".to_string()); + } + + #[test] + fn test_try_from_error() { + assert!(MovementSync::try_from("leader::bucket<=>".to_string()).is_err()); + assert!(MovementSync::try_from("leader::<=>glob".to_string()).is_err()); + assert!(MovementSync::try_from("leader::bucket".to_string()).is_err()); + assert!(MovementSync::try_from("leader::".to_string()).is_err()); + assert!(MovementSync::try_from("leader".to_string()).is_err()); + } + + #[test] + fn test_multiple_matching_delimiters() { + assert!(MovementSync::try_from("leader::bucket<=>glob<=>".to_string()).is_err()); + assert!(MovementSync::try_from("leader::<=>bucket<=>glob".to_string()).is_err()); + assert!(MovementSync::try_from("leader::bucket<=>glob<=>".to_string()).is_err()); + assert!(MovementSync::try_from("leader::bucket<=>glob<=>".to_string()).is_err()); + } +} + impl Config { /// Check if the args contain a movement sync. pub fn wants_movement_sync(&self) -> bool { diff --git a/networks/suzuka/suzuka-util/src/lib.rs b/networks/suzuka/suzuka-util/src/lib.rs index 46ba94ada..c982a9b76 100644 --- a/networks/suzuka/suzuka-util/src/lib.rs +++ b/networks/suzuka/suzuka-util/src/lib.rs @@ -8,3 +8,11 @@ pub enum SuzukaUtil { #[clap(subcommand)] Syncing(syncing::Syncing), } + +impl SuzukaUtil { + pub async fn execute(&self) -> Result<(), anyhow::Error> { + match self { + SuzukaUtil::Syncing(syncing) => syncing.execute().await, + } + } +} diff --git a/networks/suzuka/suzuka-util/src/main.rs b/networks/suzuka/suzuka-util/src/main.rs new file mode 100644 index 000000000..e4ed93899 --- /dev/null +++ b/networks/suzuka/suzuka-util/src/main.rs @@ -0,0 +1,13 @@ +#![forbid(unsafe_code)] + +use clap::*; +use suzuka_util::SuzukaUtil; + +#[tokio::main] +async fn main() -> Result<(), anyhow::Error> { + let suzuka_util = SuzukaUtil::parse(); + + suzuka_util.execute().await?; + + Ok(()) +} diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs b/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs deleted file mode 100644 index add8b436b..000000000 --- a/networks/suzuka/suzuka-util/src/syncing/bucket/mod.rs +++ /dev/null @@ -1,13 +0,0 @@ -pub mod delete; -pub mod downsync; -pub mod upsync; - -use clap::Subcommand; - -#[derive(Subcommand, Debug)] -#[clap(rename_all = "kebab-case", about = "Control bucket-based syncing")] -pub enum Bucket { - Delete(delete::Delete), - /*Downsync(downsync::Downsync), - Upsync(upsync::Upsync),*/ -} diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs b/networks/suzuka/suzuka-util/src/syncing/delete.rs similarity index 100% rename from networks/suzuka/suzuka-util/src/syncing/bucket/delete.rs rename to networks/suzuka/suzuka-util/src/syncing/delete.rs diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/downsync.rs b/networks/suzuka/suzuka-util/src/syncing/downsync.rs similarity index 100% rename from networks/suzuka/suzuka-util/src/syncing/bucket/downsync.rs rename to networks/suzuka/suzuka-util/src/syncing/downsync.rs diff --git a/networks/suzuka/suzuka-util/src/syncing/mod.rs b/networks/suzuka/suzuka-util/src/syncing/mod.rs index d58c87573..acdcfbda4 100644 --- a/networks/suzuka/suzuka-util/src/syncing/mod.rs +++ b/networks/suzuka/suzuka-util/src/syncing/mod.rs @@ -1,9 +1,23 @@ -pub mod bucket; +pub mod delete; +pub mod downsync; +pub mod upsync; + use clap::Subcommand; #[derive(Subcommand, Debug)] -#[clap(rename_all = "kebab-case", about = "Control the syncing")] +#[clap(rename_all = "kebab-case", about = "Control bucket-based syncing")] pub enum Syncing { - #[clap(subcommand)] - Bucket(bucket::Bucket), + Delete(delete::Delete), + /*Downsync(downsync::Downsync), + Upsync(upsync::Upsync),*/ +} + +impl Syncing { + pub async fn execute(&self) -> Result<(), anyhow::Error> { + match self { + Syncing::Delete(delete) => delete.execute().await, + /*Syncing::Downsync(downsync) => downsync.execute(), + Syncing::Upsync(upsync) => upsync.execute(),*/ + } + } } diff --git a/networks/suzuka/suzuka-util/src/syncing/bucket/upsync.rs b/networks/suzuka/suzuka-util/src/syncing/upsync.rs similarity index 100% rename from networks/suzuka/suzuka-util/src/syncing/bucket/upsync.rs rename to networks/suzuka/suzuka-util/src/syncing/upsync.rs diff --git a/scripts/services/suzuka-full-node/build b/scripts/services/suzuka-full-node/build index bb450221c..a72463e3d 100755 --- a/scripts/services/suzuka-full-node/build +++ b/scripts/services/suzuka-full-node/build @@ -31,4 +31,8 @@ echo "Built suzuka-full-node-setup!" echo "Building wait-for-celestia-light-node..." cargo build $CARGO_PROFILE_FLAGS --bin wait-for-celestia-light-node -echo "Built wait-for-celestia-light-node!" \ No newline at end of file +echo "Built wait-for-celestia-light-node!" + +echo "Bulding suzuka-util..." +cargo build $CARGO_PROFILE_FLAGS -p suzuka-util +echo "Built suzuka-util!" \ No newline at end of file From d3c1e74ea20f9f105081bee3e85c0c938ff5d733 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Fri, 4 Oct 2024 10:42:20 -0700 Subject: [PATCH 04/16] fix: cleanup help. --- .../src/syncing/{delete.rs => delete_resource.rs} | 8 ++++++-- networks/suzuka/suzuka-util/src/syncing/mod.rs | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) rename networks/suzuka/suzuka-util/src/syncing/{delete.rs => delete_resource.rs} (68%) diff --git a/networks/suzuka/suzuka-util/src/syncing/delete.rs b/networks/suzuka/suzuka-util/src/syncing/delete_resource.rs similarity index 68% rename from networks/suzuka/suzuka-util/src/syncing/delete.rs rename to networks/suzuka/suzuka-util/src/syncing/delete_resource.rs index 54775b17f..2bf5ad3d2 100644 --- a/networks/suzuka/suzuka-util/src/syncing/delete.rs +++ b/networks/suzuka/suzuka-util/src/syncing/delete_resource.rs @@ -3,12 +3,16 @@ use clap::Parser; use syncup::SyncupOperations; #[derive(Debug, Parser, Clone)] -pub struct Delete { +#[clap( + rename_all = "kebab-case", + about = "Deletes the resource used for syncing across syncer ids" +)] +pub struct DeleteResource { #[clap(flatten)] pub movement_args: MovementArgs, } -impl Delete { +impl DeleteResource { pub async fn execute(&self) -> Result<(), anyhow::Error> { let config = self.movement_args.config().await?; config.remove_syncup_resources().await?; diff --git a/networks/suzuka/suzuka-util/src/syncing/mod.rs b/networks/suzuka/suzuka-util/src/syncing/mod.rs index acdcfbda4..dc077a661 100644 --- a/networks/suzuka/suzuka-util/src/syncing/mod.rs +++ b/networks/suzuka/suzuka-util/src/syncing/mod.rs @@ -1,13 +1,13 @@ -pub mod delete; +pub mod delete_resource; pub mod downsync; pub mod upsync; use clap::Subcommand; #[derive(Subcommand, Debug)] -#[clap(rename_all = "kebab-case", about = "Control bucket-based syncing")] +#[clap(rename_all = "kebab-case", about = "Commands for syncing")] pub enum Syncing { - Delete(delete::Delete), + Delete(delete_resource::DeleteResource), /*Downsync(downsync::Downsync), Upsync(upsync::Upsync),*/ } From d80f658aee20342c2bf3061060f8f963557461ca Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Fri, 4 Oct 2024 11:52:21 -0700 Subject: [PATCH 05/16] debug: load from env flaking. --- networks/suzuka/setup/src/main.rs | 14 ++++++++------ .../process-compose.test-followers.yml | 2 +- protocol-units/syncing/syncup/src/lib.rs | 10 ++++++---- util/syncador/src/backend/s3/bucket_connection.rs | 6 ++++++ util/syncador/src/backend/s3/shared_bucket/mod.rs | 4 ++-- 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/networks/suzuka/setup/src/main.rs b/networks/suzuka/setup/src/main.rs index 45eaa27a3..72d0cec76 100644 --- a/networks/suzuka/setup/src/main.rs +++ b/networks/suzuka/setup/src/main.rs @@ -2,7 +2,6 @@ use anyhow::Context; use godfig::{backend::config_file::ConfigFile, Godfig}; use std::future::Future; use std::pin::Pin; -use std::sync::Arc; use suzuka_config::Config; use suzuka_full_node_setup::{local::Local, SuzukaFullNodeSetupOperations}; use syncup::SyncupOperations; @@ -62,15 +61,17 @@ async fn main() -> Result<(), anyhow::Error> { // Wrap the syncing_config in an Arc // This may be overkill because cloning sync_config is cheap - let syncing_config = Arc::new(config.syncing.clone()); + let syncing_config = config.syncing.clone(); // set up sync let sync_task: Pin> + Send>> = if syncing_config.wants_movement_sync() { - let syncing_config_cloned = syncing_config.clone(); + let sync_task = syncing_config.syncup().await?; Box::pin(async move { - let sync_task = syncing_config_cloned.syncup().await?; - sync_task.await?; + match sync_task.await { + Ok(_) => info!("Sync task finished successfully."), + Err(err) => info!("Sync task failed: {:?}", err), + } Ok(()) }) } else { @@ -96,8 +97,9 @@ async fn main() -> Result<(), anyhow::Error> { tracing::info!("Cancellation received, killing anvil task."); } // sync task - _ = sync_task => { + res = sync_task => { tracing::info!("Sync task finished."); + res?; } } diff --git a/process-compose/suzuka-full-node/process-compose.test-followers.yml b/process-compose/suzuka-full-node/process-compose.test-followers.yml index a4bb9eec4..4eb34c4c3 100644 --- a/process-compose/suzuka-full-node/process-compose.test-followers.yml +++ b/process-compose/suzuka-full-node/process-compose.test-followers.yml @@ -4,7 +4,6 @@ processes: setup: command: | - export RUST_LOG=syncador=debug export AWS_REGION=us-west-2 export MOVEMENT_SYNC="leader::follower-test-$MOVEMENT_SHARED_RANDOM_1<=>{maptos,maptos-storage,suzuka-da-db}/**" suzuka-full-node-setup @@ -95,6 +94,7 @@ processes: test-followers-consistent: command: | cargo run --bin suzuka-client-e2e-followers-consistent -- 2 + suzuka-util syncing delete-resource depends_on: suzuka-full-follower-1: condition: process_healthy diff --git a/protocol-units/syncing/syncup/src/lib.rs b/protocol-units/syncing/syncup/src/lib.rs index 3bc21aec6..8495b700b 100644 --- a/protocol-units/syncing/syncup/src/lib.rs +++ b/protocol-units/syncing/syncup/src/lib.rs @@ -7,11 +7,11 @@ use tracing::{info, warn}; pub trait SyncupOperations { /// Syncs up the files in the glob to the target. async fn syncup( - &self, + self, ) -> Result>, anyhow::Error>; /// Removes the syncing resources. - async fn remove_syncup_resources(&self) -> Result<(), anyhow::Error>; + async fn remove_syncup_resources(self) -> Result<(), anyhow::Error>; } pub trait Syncupable { @@ -47,6 +47,7 @@ impl Target { application_id: application::Id, syncer_id: actor::Id, ) -> Result<(pipeline::push::Pipeline, pipeline::pull::Pipeline), anyhow::Error> { + info!("Creating pipelines for target {:?}", self); match self { Target::S3(bucket) => { let (s3_push, s3_pull) = s3::shared_bucket::create_with_load_from_env( @@ -92,6 +93,7 @@ pub async fn syncup( let (push_pipeline, pull_pipeline) = target .create_pipelines(root_dir.clone(), glob, application_id, syncer_id) .await?; + info!("Created pipelines"); // run the pull pipeline once if !is_leader { @@ -149,7 +151,7 @@ where T: Syncupable, { async fn syncup( - &self, + self, ) -> Result>, anyhow::Error> { let is_leader = self.try_leader()?; let root_dir = self.try_root_dir()?; @@ -161,7 +163,7 @@ where syncup(is_leader, root_dir, &glob, target, application_id, syncer_id).await } - async fn remove_syncup_resources(&self) -> Result<(), anyhow::Error> { + async fn remove_syncup_resources(self) -> Result<(), anyhow::Error> { let target = self.try_target()?; remove_syncup_resources(target).await } diff --git a/util/syncador/src/backend/s3/bucket_connection.rs b/util/syncador/src/backend/s3/bucket_connection.rs index ce82f53ac..83a7bf3b2 100644 --- a/util/syncador/src/backend/s3/bucket_connection.rs +++ b/util/syncador/src/backend/s3/bucket_connection.rs @@ -1,4 +1,5 @@ use aws_sdk_s3::types::{BucketLocationConstraint, CreateBucketConfiguration}; +use tracing::info; #[derive(Debug, Clone)] pub struct BucketConnection { @@ -14,7 +15,9 @@ impl BucketConnection { pub(crate) async fn create_bucket_if_not_exists(&self) -> Result<(), anyhow::Error> { let bucket = self.bucket.clone(); let bucket_exists = self.client.head_bucket().bucket(bucket.clone()).send().await.is_ok(); + info!("Bucket exists: {}", bucket_exists); if !bucket_exists { + info!("Creating bucket {}", bucket); let bucket_builder = CreateBucketConfiguration::builder(); let bucket_configuration = match self.client.config().region() { @@ -25,12 +28,14 @@ impl BucketConnection { None => bucket_builder.build(), }; + info!("Creating bucket with configuration {:?}", bucket_configuration); self.client .create_bucket() .create_bucket_configuration(bucket_configuration) .bucket(bucket) .send() .await?; + info!("Bucket created"); } Ok(()) } @@ -80,6 +85,7 @@ impl BucketConnection { } pub async fn create(client: aws_sdk_s3::Client, bucket: String) -> Result { + info!("Creating bucket {}", bucket); let connection = Self::new(client, bucket); connection.create_bucket_if_not_exists().await?; Ok(connection) diff --git a/util/syncador/src/backend/s3/shared_bucket/mod.rs b/util/syncador/src/backend/s3/shared_bucket/mod.rs index c267999d3..e85e2611f 100644 --- a/util/syncador/src/backend/s3/shared_bucket/mod.rs +++ b/util/syncador/src/backend/s3/shared_bucket/mod.rs @@ -18,7 +18,7 @@ pub async fn create_with_load_from_env( Err(_) => None, }; let config = aws_config::load_from_env().await.into_builder().region(region).build(); - info!("Client used region {:?}", config.region()); + info!("Create client used region {:?}", config.region()); let client = aws_sdk_s3::Client::new(&config); create(client, bucket, metadata, pull_destination).await } @@ -29,7 +29,7 @@ pub async fn destroy_with_load_from_env(bucket: String) -> Result<(), anyhow::Er Err(_) => None, }; let config = aws_config::load_from_env().await.into_builder().region(region).build(); - info!("Client used region {:?}", config.region()); + info!("Destroy client used region {:?}", config.region()); let client = aws_sdk_s3::Client::new(&config); let bucket_connection = bucket_connection::BucketConnection::new(client, bucket); bucket_connection.destroy(true).await From b25be5c68f6a508f1155be89935e8642d2979483 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Mon, 7 Oct 2024 06:24:56 -0700 Subject: [PATCH 06/16] chore: add deletion to docker as well. --- .../workflows/build-push-containers-all.yml | 67 +++++++++++++++++++ .github/workflows/checks-all.yml | 3 +- docker/build/suzuka-util/Dockerfile | 26 +++++++ .../docker-compose.test-followers.yml | 12 ++++ 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 docker/build/suzuka-util/Dockerfile diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index fea309460..963466d4d 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -661,6 +661,72 @@ jobs: run: | ./scripts/movement/manifest suzuka-client-e2e-followers-consistent + + suzuka-util-build: + if: github.event.label.name == 'cicd:suzuka-containers' || github.ref == 'refs/heads/main' + permissions: + contents: read + packages: write + strategy: + matrix: + architecture: [x86_64, arm64] + + runs-on: ${{ matrix.architecture == 'x86_64' && 'buildjet-8vcpu-ubuntu-2204' || 'buildjet-8vcpu-ubuntu-2204-arm' }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: true + ref: ${{ github.event.pull_request.head.ref || github.ref }} + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to Docker Hub to Avoid Rate Limiting + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + - name: Build and Push Docker image movement + run: | + ./scripts/movement/build-push-image suzuka-util + + suzuka-util-manifest: + permissions: + contents: read + packages: write + needs: suzuka-util-build + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: true + ref: ${{ github.event.pull_request.head.ref || github.ref }} + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to Docker Hub to Avoid Rate Limiting + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + - name: Build and Push Docker image movement + run: | + ./scripts/movement/manifest suzuka-util + container-checks: if: github.event.label.name == 'cicd:suzuka-containers' || github.ref == 'refs/heads/main' @@ -675,6 +741,7 @@ jobs: - suzuka-faucet-service-manifest - suzuka-client-e2e-simple-interaction-manifest - suzuka-client-e2e-followers-consistent-manifest + - suzuka-util-manifest steps: - name: Checkout repository diff --git a/.github/workflows/checks-all.yml b/.github/workflows/checks-all.yml index 9ce4e3810..820447a1d 100755 --- a/.github/workflows/checks-all.yml +++ b/.github/workflows/checks-all.yml @@ -68,7 +68,8 @@ jobs: -p maptos-opt-executor \ -p memseq \ -p move-rocks \ - -p movement-types + -p movement-types \ + -p suzuka-config EOF suzuka-full-node-local: diff --git a/docker/build/suzuka-util/Dockerfile b/docker/build/suzuka-util/Dockerfile new file mode 100644 index 000000000..b4fcd504e --- /dev/null +++ b/docker/build/suzuka-util/Dockerfile @@ -0,0 +1,26 @@ +FROM nixos/nix:latest AS builder + +RUN nix-env -iA nixpkgs.rsync nixpkgs.glibc nixpkgs.gawk + +# Copy the source code into the container +COPY . /tmp/build +WORKDIR /tmp/build + +# Build the Rust application +RUN nix --extra-experimental-features "nix-command flakes" \ + develop .#docker-build --command bash -c "cargo build --release -p suzuka-util" + +RUN rust_binary="./target/release/suzuka-util"; dest_dir="/tmp/runtime"; \ + mkdir -p "$dest_dir"; ldd "$rust_binary" | awk '{print $3}' | \ + grep '^/' | xargs -I {} dirname {} | sort | uniq | xargs -I {} \ + bash -c 'mkdir -p "$0/$1" && rsync -a --copy-links "$1/" "$0/$1/"' "$dest_dir" {} + +FROM alpine:latest + +# Copy the build artifact from the builder stage +COPY --from=builder /tmp/build/target/release/suzuka-util /app/suzuka-util +COPY --from=builder /tmp/runtime/nix/store /nix/store + +# Set the binary as the entrypoint +ENTRYPOINT ["/app/suzuka-util"] + diff --git a/docker/compose/suzuka-full-node/docker-compose.test-followers.yml b/docker/compose/suzuka-full-node/docker-compose.test-followers.yml index 4724ae550..61ce6d47c 100644 --- a/docker/compose/suzuka-full-node/docker-compose.test-followers.yml +++ b/docker/compose/suzuka-full-node/docker-compose.test-followers.yml @@ -143,4 +143,16 @@ services: - suzuka-full-follower-1 - suzuka-full-follower-2 + delete-syncing-bucket: + image: ghcr.io/movementlabsxyz/suzuka-util:${CONTAINER_REV} + container_name: suzuka-util + entrypoint: /app/suzuka-util syncing delete-reource + environment: + - DOT_MOVEMENT_PATH=/.movement + volumes: + - ${DOT_MOVEMENT_PATH}:/.movement + depends_on: + suzuka-client-e2e-followers-consistent: + condition: service_completed_successfully + \ No newline at end of file From 07a9e88b277231c0d7dd5e2d0761641d98a36a6b Mon Sep 17 00:00:00 2001 From: Liam Monninger <79056955+l-monninger@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:39:39 -0700 Subject: [PATCH 07/16] fix: typo Co-authored-by: Mikhail Zabaluev --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 963466d4d..f21490b95 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -680,7 +680,7 @@ jobs: submodules: true ref: ${{ github.event.pull_request.head.ref || github.ref }} - - name: Login to Docker Hub + - name: Login to GHCR uses: docker/login-action@v3 with: registry: ghcr.io From 618ab24cb1d962e1ec2f6d05bd69920032473ca4 Mon Sep 17 00:00:00 2001 From: Liam Monninger <79056955+l-monninger@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:40:02 -0700 Subject: [PATCH 08/16] fix: use split once Co-authored-by: Mikhail Zabaluev --- networks/suzuka/suzuka-config/src/syncing.rs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/networks/suzuka/suzuka-config/src/syncing.rs b/networks/suzuka/suzuka-config/src/syncing.rs index 0ef932d25..d14cfd97e 100644 --- a/networks/suzuka/suzuka-config/src/syncing.rs +++ b/networks/suzuka/suzuka-config/src/syncing.rs @@ -69,13 +69,7 @@ impl TryFrom for MovementSync { fn try_from(value: String) -> Result { // Split the string on "::", expect exactly two parts (leader/follower and sync-pattern) - let mut leader_follower_split = value.split("::"); - let leader_follower_part = leader_follower_split.next().context( - "MOVEMENT_SYNC environment variable must be in the format ::", - )?; - let sync_pattern_part = leader_follower_split.next().context( - "MOVEMENT_SYNC environment variable must be in the format ::", - )?; + let (leader_follower_part, sync_pattern_part) = value.split_once("::").ok_or_else(|| anyhow!("MOVEMENT_SYNC environment variable must be in the format ::"))?; // Ensure there are no extra parts after splitting on "::" if leader_follower_split.next().is_some() { From 1e6bb890a741c0e2291de2625d5cf86957872167 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Thu, 10 Oct 2024 05:51:09 -0700 Subject: [PATCH 09/16] feat: disable non-leader upsync. --- protocol-units/syncing/syncup/src/lib.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/protocol-units/syncing/syncup/src/lib.rs b/protocol-units/syncing/syncup/src/lib.rs index 8495b700b..38a80a225 100644 --- a/protocol-units/syncing/syncup/src/lib.rs +++ b/protocol-units/syncing/syncup/src/lib.rs @@ -121,13 +121,20 @@ pub async fn syncup( interval.tick().await; // push allow push to fail - match push_pipeline.push(syncador::Package::null()).await { - Ok(package) => { - info!("Pushed package: {:?}", package); - } - Err(err) => { - warn!("Error pushing package: {:?}", err); + // ! This is a temporary solution to avoid competing forks in trusted environments. + // ! This will be augmented with a more robust format in the future. + if is_leader { + info!("Running push pipeline"); + match push_pipeline.push(syncador::Package::null()).await { + Ok(package) => { + info!("Pushed package: {:?}", package); + } + Err(err) => { + warn!("Error pushing package: {:?}", err); + } } + } else { + info!("Non-leader upsyncing is disabled"); } } Ok::<(), anyhow::Error>(()) From 551d12b9aee1eb48a5d3f17c409d9dd661c8ec1b Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Thu, 10 Oct 2024 06:08:27 -0700 Subject: [PATCH 10/16] fix: suggested commit. --- networks/suzuka/suzuka-config/src/syncing.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/networks/suzuka/suzuka-config/src/syncing.rs b/networks/suzuka/suzuka-config/src/syncing.rs index d14cfd97e..2420cf6a8 100644 --- a/networks/suzuka/suzuka-config/src/syncing.rs +++ b/networks/suzuka/suzuka-config/src/syncing.rs @@ -69,14 +69,7 @@ impl TryFrom for MovementSync { fn try_from(value: String) -> Result { // Split the string on "::", expect exactly two parts (leader/follower and sync-pattern) - let (leader_follower_part, sync_pattern_part) = value.split_once("::").ok_or_else(|| anyhow!("MOVEMENT_SYNC environment variable must be in the format ::"))?; - - // Ensure there are no extra parts after splitting on "::" - if leader_follower_split.next().is_some() { - return Err(anyhow::anyhow!( - "MOVEMENT_SYNC environment variable must be in the format ::" - )); - } + let (leader_follower_part, sync_pattern_part) = value.split_once("::").ok_or_else(|| anyhow::anyhow!("MOVEMENT_SYNC environment variable must be in the format ::"))?; // Validate leader/follower part let is_leader = match leader_follower_part { @@ -90,6 +83,7 @@ impl TryFrom for MovementSync { }; // Split sync pattern on "<=>", expect exactly two parts (bucket and glob) + // ! We can't split_once because we want to ensure ther are no extra parts let mut bucket_arrow_glob = sync_pattern_part.split("<=>"); let bucket = bucket_arrow_glob.next().context( "MOVEMENT_SYNC environment variable must be in the format <=> ", From 32b84bd9703c7e5bca9a389aede957beb00df6a8 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Fri, 11 Oct 2024 03:34:26 -0700 Subject: [PATCH 11/16] fix: process compose. --- Cargo.lock | 15521 ---------------- Cargo.toml | 10 +- .../src/tasks/transaction_ingress.rs | 20 +- .../process-compose.test-followers.yml | 4 +- .../suzuka-full-node/process-compose.yml | 3 +- 5 files changed, 27 insertions(+), 15531 deletions(-) delete mode 100644 Cargo.lock diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 49ad9cbc1..000000000 --- a/Cargo.lock +++ /dev/null @@ -1,15521 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" - -[[package]] -name = "abstract-domain-derive" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "addchain" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2e69442aa5628ea6951fa33e24efe8313f4321a91bd729fc2f75bdfc858570" -dependencies = [ - "num-bigint 0.3.3", - "num-integer", - "num-traits", -] - -[[package]] -name = "addr2line" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "aead" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" -dependencies = [ - "crypto-common", - "generic-array", -] - -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - -[[package]] -name = "aes-gcm" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", - "subtle", -] - -[[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 = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "const-random", - "getrandom 0.2.15", - "once_cell", - "serde", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "aliasable" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" - -[[package]] -name = "allocative" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "082af274fd02beef17b7f0725a49ecafe6c075ef56cac9d6363eb3916a9817ae" -dependencies = [ - "allocative_derive", - "ctor", -] - -[[package]] -name = "allocative_derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe233a377643e0fc1a56421d7c90acdec45c291b30345eb9f08e8d0ddce5a4ab" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "alloy" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-consensus", - "alloy-contract", - "alloy-core", - "alloy-eips", - "alloy-genesis", - "alloy-json-rpc", - "alloy-network", - "alloy-node-bindings", - "alloy-provider", - "alloy-pubsub", - "alloy-rpc-client", - "alloy-rpc-types", - "alloy-serde", - "alloy-signer", - "alloy-signer-local", - "alloy-transport", - "alloy-transport-http", - "alloy-transport-ipc", - "alloy-transport-ws", -] - -[[package]] -name = "alloy-chains" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8158b4878c67837e5413721cc44298e6a2d88d39203175ea025e51892a16ba4c" -dependencies = [ - "num_enum", - "strum 0.26.3", -] - -[[package]] -name = "alloy-consensus" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "c-kzg", - "serde", -] - -[[package]] -name = "alloy-contract" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-dyn-abi", - "alloy-json-abi", - "alloy-network", - "alloy-primitives", - "alloy-provider", - "alloy-pubsub", - "alloy-rpc-types-eth", - "alloy-sol-types", - "alloy-transport", - "futures", - "futures-util", - "thiserror", -] - -[[package]] -name = "alloy-core" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529fc6310dc1126c8de51c376cbc59c79c7f662bd742be7dc67055d5421a81b4" -dependencies = [ - "alloy-dyn-abi", - "alloy-json-abi", - "alloy-primitives", - "alloy-rlp", - "alloy-sol-types", -] - -[[package]] -name = "alloy-dyn-abi" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413902aa18a97569e60f679c23f46a18db1656d87ab4d4e49d0e1e52042f66df" -dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "alloy-sol-type-parser", - "alloy-sol-types", - "const-hex", - "itoa", - "serde", - "serde_json", - "winnow 0.6.20", -] - -[[package]] -name = "alloy-eips" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "c-kzg", - "derive_more", - "once_cell", - "serde", - "sha2 0.10.8", -] - -[[package]] -name = "alloy-genesis" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-primitives", - "alloy-serde", - "serde", -] - -[[package]] -name = "alloy-json-abi" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc05b04ac331a9f07e3a4036ef7926e49a8bf84a99a1ccfc7e2ab55a5fcbb372" -dependencies = [ - "alloy-primitives", - "alloy-sol-type-parser", - "serde", - "serde_json", -] - -[[package]] -name = "alloy-json-rpc" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-primitives", - "serde", - "serde_json", - "thiserror", - "tracing", -] - -[[package]] -name = "alloy-network" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "alloy-signer", - "alloy-sol-types", - "async-trait", - "auto_impl", - "futures-utils-wasm", - "thiserror", -] - -[[package]] -name = "alloy-node-bindings" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-genesis", - "alloy-primitives", - "k256", - "serde_json", - "tempfile", - "thiserror", - "tracing", - "url", -] - -[[package]] -name = "alloy-primitives" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" -dependencies = [ - "alloy-rlp", - "bytes 1.7.2", - "cfg-if", - "const-hex", - "derive_more", - "hex-literal", - "itoa", - "k256", - "keccak-asm", - "proptest", - "rand 0.8.5", - "ruint", - "serde", - "tiny-keccak", -] - -[[package]] -name = "alloy-provider" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-node-bindings", - "alloy-primitives", - "alloy-pubsub", - "alloy-rpc-client", - "alloy-rpc-types-anvil", - "alloy-rpc-types-eth", - "alloy-rpc-types-trace", - "alloy-signer-local", - "alloy-transport", - "alloy-transport-http", - "alloy-transport-ipc", - "alloy-transport-ws", - "async-stream", - "async-trait", - "auto_impl", - "dashmap 5.5.3", - "futures", - "futures-utils-wasm", - "lru 0.12.4", - "pin-project 1.1.5", - "reqwest 0.12.8", - "serde", - "serde_json", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "alloy-pubsub" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "alloy-transport", - "bimap", - "futures", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower", - "tracing", -] - -[[package]] -name = "alloy-rlp" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" -dependencies = [ - "alloy-rlp-derive", - "arrayvec 0.7.6", - "bytes 1.7.2", -] - -[[package]] -name = "alloy-rlp-derive" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "alloy-rpc-client" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "alloy-pubsub", - "alloy-transport", - "alloy-transport-http", - "alloy-transport-ipc", - "alloy-transport-ws", - "futures", - "pin-project 1.1.5", - "reqwest 0.12.8", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower", - "tracing", - "url", -] - -[[package]] -name = "alloy-rpc-types" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-trace", - "alloy-serde", -] - -[[package]] -name = "alloy-rpc-types-anvil" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-primitives", - "alloy-serde", - "serde", -] - -[[package]] -name = "alloy-rpc-types-engine" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-serde", - "jsonwebtoken 9.3.0", - "rand 0.8.5", - "serde", - "thiserror", -] - -[[package]] -name = "alloy-rpc-types-eth" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "alloy-sol-types", - "itertools 0.13.0", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "alloy-rpc-types-trace" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "alloy-serde" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-primitives", - "serde", - "serde_json", -] - -[[package]] -name = "alloy-signer" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-primitives", - "async-trait", - "auto_impl", - "elliptic-curve 0.13.8", - "k256", - "thiserror", -] - -[[package]] -name = "alloy-signer-local" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-signer", - "async-trait", - "elliptic-curve 0.13.8", - "k256", - "rand 0.8.5", - "thiserror", - "yubihsm", -] - -[[package]] -name = "alloy-sol-macro" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" -dependencies = [ - "alloy-sol-macro-expander", - "alloy-sol-macro-input", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "alloy-sol-macro-expander" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" -dependencies = [ - "alloy-json-abi", - "alloy-sol-macro-input", - "const-hex", - "heck 0.5.0", - "indexmap 2.6.0", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.79", - "syn-solidity", - "tiny-keccak", -] - -[[package]] -name = "alloy-sol-macro-input" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" -dependencies = [ - "alloy-json-abi", - "const-hex", - "dunce", - "heck 0.5.0", - "proc-macro2", - "quote", - "serde_json", - "syn 2.0.79", - "syn-solidity", -] - -[[package]] -name = "alloy-sol-type-parser" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbcba3ca07cf7975f15d871b721fb18031eec8bce51103907f6dcce00b255d98" -dependencies = [ - "serde", - "winnow 0.6.20", -] - -[[package]] -name = "alloy-sol-types" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" -dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "alloy-sol-macro", - "const-hex", - "serde", -] - -[[package]] -name = "alloy-transport" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-json-rpc", - "base64 0.22.1", - "futures-util", - "futures-utils-wasm", - "serde", - "serde_json", - "thiserror", - "tokio", - "tower", - "tracing", - "url", -] - -[[package]] -name = "alloy-transport-http" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-json-rpc", - "alloy-transport", - "reqwest 0.12.8", - "serde_json", - "tower", - "tracing", - "url", -] - -[[package]] -name = "alloy-transport-ipc" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-json-rpc", - "alloy-pubsub", - "alloy-transport", - "bytes 1.7.2", - "futures", - "interprocess", - "pin-project 1.1.5", - "serde_json", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "alloy-transport-ws" -version = "0.1.4" -source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" -dependencies = [ - "alloy-pubsub", - "alloy-transport", - "futures", - "http 1.1.0", - "rustls 0.23.13", - "serde_json", - "tokio", - "tokio-tungstenite 0.23.1", - "tracing", - "ws_stream_wasm", -] - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[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 = "ansi-escapes" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3c0daaaae24df5995734b689627f8fa02101bc5bbc768be3055b66a010d7af" - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "anstream" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" - -[[package]] -name = "anstyle-parse" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "antidote" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5" - -[[package]] -name = "anyhow" -version = "1.0.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" - -[[package]] -name = "aptos-abstract-gas-usage" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-gas-algebra", - "aptos-gas-meter", - "aptos-gas-schedule", - "aptos-vm-types", - "move-binary-format", -] - -[[package]] -name = "aptos-accumulator" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-crypto", - "aptos-types", -] - -[[package]] -name = "aptos-aggregator" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-logger", - "aptos-types", - "bcs 0.1.4", - "claims", - "move-binary-format", - "move-core-types", - "move-vm-types", -] - -[[package]] -name = "aptos-api" -version = "0.2.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-api-types", - "aptos-bcs-utils", - "aptos-build-info", - "aptos-config", - "aptos-crypto", - "aptos-gas-schedule", - "aptos-global-constants", - "aptos-logger", - "aptos-mempool", - "aptos-metrics-core", - "aptos-runtimes", - "aptos-storage-interface", - "aptos-types", - "aptos-vm", - "async-trait", - "bcs 0.1.4", - "bytes 1.7.2", - "fail", - "futures", - "hex", - "hyper 0.14.30", - "itertools 0.12.1", - "mime", - "mini-moka", - "move-core-types", - "num_cpus", - "once_cell", - "paste", - "poem", - "poem-openapi", - "regex", - "serde", - "serde_json", - "tokio", -] - -[[package]] -name = "aptos-api-types" -version = "0.0.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-config", - "aptos-crypto", - "aptos-framework", - "aptos-logger", - "aptos-openapi", - "aptos-resource-viewer", - "aptos-storage-interface", - "aptos-types", - "aptos-vm", - "async-trait", - "bcs 0.1.4", - "bytes 1.7.2", - "hex", - "indoc", - "move-binary-format", - "move-core-types", - "once_cell", - "poem", - "poem-openapi", - "poem-openapi-derive", - "serde", - "serde_json", -] - -[[package]] -name = "aptos-bcs-utils" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "hex", -] - -[[package]] -name = "aptos-bitvec" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "serde", - "serde_bytes", -] - -[[package]] -name = "aptos-block-executor" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-aggregator", - "aptos-drop-helper", - "aptos-infallible", - "aptos-logger", - "aptos-metrics-core", - "aptos-mvhashmap", - "aptos-types", - "aptos-vm-logging", - "aptos-vm-types", - "arc-swap", - "bcs 0.1.4", - "bytes 1.7.2", - "claims", - "concurrent-queue", - "crossbeam", - "dashmap 5.5.3", - "derivative", - "fail", - "move-binary-format", - "move-core-types", - "move-vm-types", - "num_cpus", - "once_cell", - "parking_lot", - "rand 0.7.3", - "rayon", - "scopeguard", -] - -[[package]] -name = "aptos-block-partitioner" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-crypto", - "aptos-logger", - "aptos-metrics-core", - "aptos-types", - "bcs 0.1.4", - "clap 4.5.19", - "dashmap 5.5.3", - "itertools 0.12.1", - "jemallocator", - "move-core-types", - "once_cell", - "rand 0.7.3", - "rayon", - "serde", -] - -[[package]] -name = "aptos-bounded-executor" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "futures", - "rustversion", - "tokio", -] - -[[package]] -name = "aptos-build-info" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "shadow-rs", -] - -[[package]] -name = "aptos-cached-packages" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-framework", - "aptos-package-builder", - "aptos-types", - "bcs 0.1.4", - "move-core-types", - "once_cell", -] - -[[package]] -name = "aptos-channels" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-infallible", - "aptos-metrics-core", - "futures", -] - -[[package]] -name = "aptos-compression" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-logger", - "aptos-metrics-core", - "lz4", - "once_cell", - "thiserror", -] - -[[package]] -name = "aptos-config" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-crypto", - "aptos-global-constants", - "aptos-logger", - "aptos-secure-storage", - "aptos-short-hex-str", - "aptos-temppath", - "aptos-types", - "arr_macro", - "bcs 0.1.4", - "byteorder", - "cfg-if", - "get_if_addrs", - "maplit", - "num_cpus", - "number_range", - "poem-openapi", - "rand 0.7.3", - "serde", - "serde_json", - "serde_merge", - "serde_yaml 0.8.26", - "thiserror", - "url", -] - -[[package]] -name = "aptos-consensus-types" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-bitvec", - "aptos-crypto", - "aptos-crypto-derive", - "aptos-executor-types", - "aptos-infallible", - "aptos-logger", - "aptos-short-hex-str", - "aptos-types", - "bcs 0.1.4", - "fail", - "futures", - "itertools 0.12.1", - "mini-moka", - "mirai-annotations", - "once_cell", - "rand 0.7.3", - "rayon", - "serde", - "tokio", -] - -[[package]] -name = "aptos-crypto" -version = "0.0.3" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aes-gcm", - "anyhow", - "aptos-crypto-derive", - "ark-bn254", - "ark-ec", - "ark-ff 0.4.2", - "ark-groth16", - "ark-std 0.4.0", - "base64 0.13.1", - "bcs 0.1.4", - "blst", - "bulletproofs", - "bytes 1.7.2", - "curve25519-dalek", - "curve25519-dalek-ng", - "digest 0.9.0", - "ed25519-dalek", - "ff 0.13.0", - "hex", - "hkdf 0.10.0", - "libsecp256k1", - "merlin", - "more-asserts", - "neptune", - "num-bigint 0.3.3", - "num-integer", - "once_cell", - "p256 0.13.2", - "poseidon-ark", - "proptest", - "proptest-derive", - "rand 0.7.3", - "rand_core 0.5.1", - "ring 0.16.20", - "serde", - "serde-name", - "serde_bytes", - "sha2 0.10.8", - "sha2 0.9.9", - "sha3", - "signature 2.2.0", - "static_assertions", - "thiserror", - "tiny-keccak", - "typenum", - "x25519-dalek", -] - -[[package]] -name = "aptos-crypto-derive" -version = "0.0.3" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "aptos-db" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-accumulator", - "aptos-config", - "aptos-crypto", - "aptos-db-indexer", - "aptos-db-indexer-schemas", - "aptos-executor", - "aptos-executor-types", - "aptos-experimental-runtimes", - "aptos-infallible", - "aptos-jellyfish-merkle", - "aptos-logger", - "aptos-metrics-core", - "aptos-proptest-helpers", - "aptos-resource-viewer", - "aptos-rocksdb-options", - "aptos-schemadb", - "aptos-scratchpad", - "aptos-storage-interface", - "aptos-temppath", - "aptos-types", - "arc-swap", - "arr_macro", - "bcs 0.1.4", - "byteorder", - "claims", - "dashmap 5.5.3", - "either", - "hex", - "itertools 0.12.1", - "lru 0.7.8", - "move-core-types", - "num-derive", - "once_cell", - "proptest", - "proptest-derive", - "rayon", - "serde", - "static_assertions", - "status-line", - "tracing", -] - -[[package]] -name = "aptos-db-indexer" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-config", - "aptos-db-indexer-schemas", - "aptos-logger", - "aptos-resource-viewer", - "aptos-rocksdb-options", - "aptos-schemadb", - "aptos-storage-interface", - "aptos-types", - "bcs 0.1.4", - "bytes 1.7.2", - "dashmap 5.5.3", - "move-core-types", -] - -[[package]] -name = "aptos-db-indexer-schemas" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-schemadb", - "aptos-storage-interface", - "aptos-types", - "bcs 0.1.4", - "byteorder", - "serde", -] - -[[package]] -name = "aptos-dkg" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-crypto", - "aptos-crypto-derive", - "bcs 0.1.4", - "blst", - "blstrs", - "criterion", - "ff 0.13.0", - "group 0.13.0", - "hex", - "merlin", - "more-asserts", - "num-bigint 0.3.3", - "num-integer", - "num-traits", - "once_cell", - "pairing", - "rand 0.7.3", - "rand_core 0.5.1", - "rayon", - "serde", - "serde_bytes", - "sha3", - "static_assertions", -] - -[[package]] -name = "aptos-drop-helper" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-infallible", - "aptos-metrics-core", - "once_cell", - "threadpool", -] - -[[package]] -name = "aptos-event-notifications" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-channels", - "aptos-id-generator", - "aptos-infallible", - "aptos-storage-interface", - "aptos-types", - "futures", - "serde", - "thiserror", -] - -[[package]] -name = "aptos-executor" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-consensus-types", - "aptos-crypto", - "aptos-drop-helper", - "aptos-executor-service", - "aptos-executor-types", - "aptos-experimental-runtimes", - "aptos-infallible", - "aptos-logger", - "aptos-metrics-core", - "aptos-scratchpad", - "aptos-sdk", - "aptos-storage-interface", - "aptos-types", - "aptos-vm", - "arr_macro", - "bcs 0.1.4", - "bytes 1.7.2", - "dashmap 5.5.3", - "fail", - "itertools 0.12.1", - "move-core-types", - "once_cell", - "rayon", - "serde", -] - -[[package]] -name = "aptos-executor-service" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-block-partitioner", - "aptos-config", - "aptos-infallible", - "aptos-language-e2e-tests", - "aptos-logger", - "aptos-metrics-core", - "aptos-node-resource-metrics", - "aptos-push-metrics", - "aptos-secure-net", - "aptos-storage-interface", - "aptos-types", - "aptos-vm", - "bcs 0.1.4", - "clap 4.5.19", - "crossbeam-channel", - "ctrlc", - "dashmap 5.5.3", - "itertools 0.12.1", - "num_cpus", - "once_cell", - "rayon", - "serde", - "thiserror", -] - -[[package]] -name = "aptos-executor-test-helpers" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-cached-packages", - "aptos-config", - "aptos-consensus-types", - "aptos-crypto", - "aptos-db", - "aptos-executor", - "aptos-executor-types", - "aptos-sdk", - "aptos-storage-interface", - "aptos-temppath", - "aptos-types", - "aptos-vm", - "aptos-vm-genesis", - "rand 0.7.3", -] - -[[package]] -name = "aptos-executor-types" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-crypto", - "aptos-drop-helper", - "aptos-scratchpad", - "aptos-secure-net", - "aptos-storage-interface", - "aptos-types", - "bcs 0.1.4", - "criterion", - "itertools 0.12.1", - "once_cell", - "serde", - "thiserror", -] - -[[package]] -name = "aptos-experimental-runtimes" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-runtimes", - "core_affinity", - "libc", - "num_cpus", - "once_cell", - "rayon", -] - -[[package]] -name = "aptos-faucet-core" -version = "2.0.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-config", - "aptos-faucet-metrics-server", - "aptos-logger", - "aptos-metrics-core", - "aptos-sdk", - "async-trait", - "captcha", - "clap 4.5.19", - "deadpool-redis", - "enum_dispatch", - "futures", - "hex", - "ipnet", - "iprange", - "lru 0.9.0", - "once_cell", - "poem", - "poem-openapi", - "rand 0.7.3", - "redis", - "reqwest 0.11.27", - "serde", - "serde_json", - "serde_yaml 0.8.26", - "tokio", - "url", -] - -[[package]] -name = "aptos-faucet-metrics-server" -version = "2.0.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-logger", - "aptos-metrics-core", - "once_cell", - "poem", - "prometheus", - "serde", -] - -[[package]] -name = "aptos-framework" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-aggregator", - "aptos-crypto", - "aptos-gas-algebra", - "aptos-gas-schedule", - "aptos-move-stdlib", - "aptos-native-interface", - "aptos-sdk-builder", - "aptos-types", - "aptos-vm-types", - "ark-bls12-381", - "ark-bn254", - "ark-ec", - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "bcs 0.1.4", - "better_any", - "blake2-rfc", - "bulletproofs", - "byteorder", - "clap 4.5.19", - "codespan-reporting", - "curve25519-dalek-ng", - "either", - "flate2", - "hex", - "itertools 0.12.1", - "libsecp256k1", - "log", - "lru 0.7.8", - "merlin", - "move-binary-format", - "move-cli", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-docgen", - "move-model", - "move-package", - "move-prover", - "move-prover-boogie-backend", - "move-prover-bytecode-pipeline", - "move-stackless-bytecode", - "move-vm-runtime", - "move-vm-types", - "num-traits", - "once_cell", - "rand 0.7.3", - "rand_core 0.5.1", - "ripemd", - "serde", - "serde_bytes", - "sha2 0.10.8", - "sha2 0.9.9", - "sha3", - "siphasher", - "smallvec", - "tempfile", - "thiserror", - "tiny-keccak", -] - -[[package]] -name = "aptos-gas-algebra" -version = "0.0.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "either", - "move-core-types", -] - -[[package]] -name = "aptos-gas-meter" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-gas-algebra", - "aptos-gas-schedule", - "aptos-logger", - "aptos-types", - "aptos-vm-types", - "move-binary-format", - "move-core-types", - "move-vm-types", -] - -[[package]] -name = "aptos-gas-profiling" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-gas-algebra", - "aptos-gas-meter", - "aptos-types", - "aptos-vm-types", - "handlebars", - "inferno", - "move-binary-format", - "move-core-types", - "move-vm-types", - "regex", - "serde_json", - "smallvec", -] - -[[package]] -name = "aptos-gas-schedule" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-gas-algebra", - "aptos-global-constants", - "move-core-types", - "move-vm-types", - "paste", - "rand 0.7.3", -] - -[[package]] -name = "aptos-global-constants" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" - -[[package]] -name = "aptos-id-generator" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" - -[[package]] -name = "aptos-indexer" -version = "0.0.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-api", - "aptos-api-types", - "aptos-bitvec", - "aptos-config", - "aptos-logger", - "aptos-mempool", - "aptos-metrics-core", - "aptos-runtimes", - "aptos-storage-interface", - "aptos-types", - "async-trait", - "bcs 0.1.4", - "bigdecimal", - "chrono", - "diesel", - "diesel_migrations", - "field_count", - "futures", - "hex", - "once_cell", - "serde", - "serde_json", - "sha2 0.9.9", - "tokio", -] - -[[package]] -name = "aptos-indexer-grpc-fullnode" -version = "1.0.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-api", - "aptos-api-types", - "aptos-bitvec", - "aptos-config", - "aptos-indexer-grpc-utils", - "aptos-logger", - "aptos-mempool", - "aptos-metrics-core", - "aptos-moving-average 0.1.0 (git+https://github.com/movementlabsxyz/aptos-indexer-processors)", - "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", - "aptos-runtimes", - "aptos-storage-interface", - "aptos-types", - "bcs 0.1.4", - "bytes 1.7.2", - "chrono", - "futures", - "hex", - "hyper 0.14.30", - "itertools 0.12.1", - "move-binary-format", - "move-core-types", - "move-package", - "once_cell", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tonic 0.11.0", - "tonic-reflection", -] - -[[package]] -name = "aptos-indexer-grpc-table-info" -version = "1.0.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-api", - "aptos-api-types", - "aptos-config", - "aptos-db-indexer", - "aptos-indexer-grpc-fullnode", - "aptos-indexer-grpc-utils", - "aptos-logger", - "aptos-mempool", - "aptos-runtimes", - "aptos-schemadb", - "aptos-storage-interface", - "aptos-types", - "flate2", - "futures", - "google-cloud-storage", - "hyper 0.14.30", - "serde", - "serde_json", - "tar", - "tokio", - "tokio-stream", - "tokio-util", - "tonic 0.11.0", -] - -[[package]] -name = "aptos-indexer-grpc-utils" -version = "1.0.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-metrics-core", - "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", - "async-trait", - "backoff", - "base64 0.13.1", - "chrono", - "cloud-storage", - "dashmap 5.5.3", - "futures", - "itertools 0.12.1", - "lz4", - "once_cell", - "prometheus", - "prost 0.12.6", - "redis", - "redis-test", - "ripemd", - "serde", - "serde_json", - "tokio", - "tokio-util", - "tonic 0.11.0", - "tracing", - "url", -] - -[[package]] -name = "aptos-infallible" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" - -[[package]] -name = "aptos-jellyfish-merkle" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-crypto", - "aptos-crypto-derive", - "aptos-experimental-runtimes", - "aptos-infallible", - "aptos-logger", - "aptos-metrics-core", - "aptos-storage-interface", - "aptos-types", - "arr_macro", - "bcs 0.1.4", - "byteorder", - "itertools 0.12.1", - "num-derive", - "num-traits", - "once_cell", - "proptest", - "proptest-derive", - "rayon", - "serde", - "thiserror", -] - -[[package]] -name = "aptos-keygen" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-crypto", - "aptos-types", - "rand 0.7.3", -] - -[[package]] -name = "aptos-language-e2e-tests" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-abstract-gas-usage", - "aptos-bitvec", - "aptos-block-executor", - "aptos-cached-packages", - "aptos-crypto", - "aptos-framework", - "aptos-gas-algebra", - "aptos-gas-meter", - "aptos-gas-profiling", - "aptos-gas-schedule", - "aptos-keygen", - "aptos-proptest-helpers", - "aptos-temppath", - "aptos-types", - "aptos-vm", - "aptos-vm-genesis", - "aptos-vm-logging", - "aptos-vm-types", - "bcs 0.1.4", - "bytes 1.7.2", - "goldenfile", - "move-binary-format", - "move-command-line-common", - "move-core-types", - "move-ir-compiler", - "move-model", - "move-vm-runtime", - "move-vm-types", - "num_cpus", - "once_cell", - "petgraph 0.5.1", - "proptest", - "proptest-derive", - "rand 0.7.3", - "rayon", - "serde", -] - -[[package]] -name = "aptos-ledger" -version = "0.2.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-crypto", - "aptos-types", - "hex", - "ledger-apdu", - "ledger-transport-hid", - "thiserror", -] - -[[package]] -name = "aptos-log-derive" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "aptos-logger" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-infallible", - "aptos-log-derive", - "aptos-node-identity", - "backtrace", - "chrono", - "erased-serde", - "futures", - "hostname", - "once_cell", - "prometheus", - "serde", - "serde_json", - "strum 0.24.1", - "strum_macros 0.24.3", - "tokio", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "aptos-memory-usage-tracker" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-gas-algebra", - "aptos-gas-meter", - "aptos-types", - "move-binary-format", - "move-core-types", - "move-vm-types", -] - -[[package]] -name = "aptos-mempool" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-bounded-executor", - "aptos-channels", - "aptos-config", - "aptos-consensus-types", - "aptos-crypto", - "aptos-event-notifications", - "aptos-infallible", - "aptos-logger", - "aptos-mempool-notifications", - "aptos-metrics-core", - "aptos-netcore", - "aptos-network", - "aptos-peer-monitoring-service-types", - "aptos-runtimes", - "aptos-short-hex-str", - "aptos-storage-interface", - "aptos-time-service", - "aptos-types", - "aptos-vm-validator", - "bcs 0.1.4", - "fail", - "futures", - "itertools 0.12.1", - "maplit", - "num_cpus", - "once_cell", - "rand 0.7.3", - "rayon", - "serde", - "thiserror", - "tokio", - "tokio-stream", -] - -[[package]] -name = "aptos-mempool-notifications" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-types", - "async-trait", - "futures", - "serde", - "thiserror", - "tokio", -] - -[[package]] -name = "aptos-memsocket" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-infallible", - "bytes 1.7.2", - "futures", - "once_cell", -] - -[[package]] -name = "aptos-metrics-core" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "prometheus", -] - -[[package]] -name = "aptos-move-stdlib" -version = "0.1.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-gas-schedule", - "aptos-native-interface", - "move-core-types", - "move-vm-runtime", - "move-vm-types", - "sha2 0.9.9", - "sha3", - "smallvec", -] - -[[package]] -name = "aptos-moving-average" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e#8e83cde3cb75fabdade9485e0af680cc4b73ca8e" -dependencies = [ - "chrono", -] - -[[package]] -name = "aptos-moving-average" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors#b5e05c12e6e6a353989a370dce1773255f7caca4" -dependencies = [ - "chrono", -] - -[[package]] -name = "aptos-mvhashmap" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-aggregator", - "aptos-crypto", - "aptos-types", - "aptos-vm-types", - "bytes 1.7.2", - "claims", - "crossbeam", - "dashmap 5.5.3", - "derivative", - "move-binary-format", - "move-core-types", - "move-vm-types", - "serde", -] - -[[package]] -name = "aptos-native-interface" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-gas-algebra", - "aptos-gas-schedule", - "aptos-types", - "bcs 0.1.4", - "bytes 1.7.2", - "move-binary-format", - "move-core-types", - "move-vm-runtime", - "move-vm-types", - "smallvec", -] - -[[package]] -name = "aptos-netcore" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-memsocket", - "aptos-proxy", - "aptos-types", - "bytes 1.7.2", - "futures", - "pin-project 1.1.5", - "serde", - "tokio", - "tokio-util", - "url", -] - -[[package]] -name = "aptos-network" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-bitvec", - "aptos-channels", - "aptos-compression", - "aptos-config", - "aptos-crypto", - "aptos-id-generator", - "aptos-infallible", - "aptos-logger", - "aptos-metrics-core", - "aptos-netcore", - "aptos-num-variants", - "aptos-peer-monitoring-service-types", - "aptos-short-hex-str", - "aptos-time-service", - "aptos-types", - "arc-swap", - "async-trait", - "bcs 0.1.4", - "bytes 1.7.2", - "futures", - "futures-util", - "hex", - "itertools 0.12.1", - "maplit", - "once_cell", - "ordered-float 3.9.2", - "pin-project 1.1.5", - "rand 0.7.3", - "rand 0.8.5", - "serde", - "serde_bytes", - "serde_json", - "thiserror", - "tokio", - "tokio-retry", - "tokio-stream", - "tokio-util", -] - -[[package]] -name = "aptos-node-identity" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-types", - "claims", - "once_cell", -] - -[[package]] -name = "aptos-node-resource-metrics" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-build-info", - "aptos-infallible", - "aptos-logger", - "aptos-metrics-core", - "cfg-if", - "once_cell", - "procfs", - "prometheus", - "sysinfo", -] - -[[package]] -name = "aptos-num-variants" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "aptos-openapi" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "async-trait", - "percent-encoding", - "poem", - "poem-openapi", - "serde", - "serde_json", -] - -[[package]] -name = "aptos-package-builder" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-framework", - "itertools 0.12.1", - "move-command-line-common", - "move-package", - "tempfile", -] - -[[package]] -name = "aptos-peer-monitoring-service-types" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-config", - "aptos-types", - "bcs 0.1.4", - "serde", - "thiserror", -] - -[[package]] -name = "aptos-profiler" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0#338f9a1bcc06f62ce4a4994f1642b9a61b631ee0" -dependencies = [ - "anyhow", - "backtrace", - "jemalloc-sys", - "jemallocator", - "pprof", - "regex", -] - -[[package]] -name = "aptos-proptest-helpers" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "crossbeam", - "proptest", - "proptest-derive", -] - -[[package]] -name = "aptos-protos" -version = "1.3.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0#338f9a1bcc06f62ce4a4994f1642b9a61b631ee0" -dependencies = [ - "futures-core", - "pbjson", - "prost 0.12.6", - "serde", - "tonic 0.11.0", -] - -[[package]] -name = "aptos-protos" -version = "1.3.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "futures-core", - "pbjson", - "prost 0.12.6", - "serde", - "tonic 0.11.0", -] - -[[package]] -name = "aptos-proxy" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "ipnet", -] - -[[package]] -name = "aptos-push-metrics" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-logger", - "aptos-metrics-core", - "ureq", - "url", -] - -[[package]] -name = "aptos-resource-viewer" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-types", - "aptos-vm", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "move-resource-viewer", -] - -[[package]] -name = "aptos-rest-client" -version = "0.0.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-api-types", - "aptos-crypto", - "aptos-infallible", - "aptos-logger", - "aptos-types", - "bcs 0.1.4", - "bytes 1.7.2", - "hex", - "move-core-types", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "tokio", - "url", -] - -[[package]] -name = "aptos-rocksdb-options" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-config", - "rocksdb", -] - -[[package]] -name = "aptos-runtimes" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "rayon", - "tokio", -] - -[[package]] -name = "aptos-schemadb" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-infallible", - "aptos-logger", - "aptos-metrics-core", - "aptos-storage-interface", - "dunce", - "once_cell", - "proptest", - "rand 0.7.3", - "rocksdb", -] - -[[package]] -name = "aptos-scratchpad" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-crypto", - "aptos-drop-helper", - "aptos-experimental-runtimes", - "aptos-infallible", - "aptos-metrics-core", - "aptos-types", - "bitvec 1.0.1", - "itertools 0.12.1", - "once_cell", - "proptest", - "rayon", - "thiserror", -] - -[[package]] -name = "aptos-sdk" -version = "0.0.3" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-cached-packages", - "aptos-crypto", - "aptos-global-constants", - "aptos-ledger", - "aptos-rest-client", - "aptos-types", - "base64 0.13.1", - "bcs 0.1.4", - "ed25519-dalek-bip32", - "hex", - "move-core-types", - "rand_core 0.5.1", - "serde_json", - "tiny-bip39", -] - -[[package]] -name = "aptos-sdk-builder" -version = "0.2.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-types", - "bcs 0.1.4", - "clap 4.5.19", - "heck 0.4.1", - "move-core-types", - "once_cell", - "serde-generate", - "serde-reflection", - "serde_yaml 0.8.26", - "textwrap 0.15.2", -] - -[[package]] -name = "aptos-secure-net" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-logger", - "aptos-metrics-core", - "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", - "bcs 0.1.4", - "crossbeam-channel", - "once_cell", - "serde", - "thiserror", - "tokio", - "tonic 0.11.0", - "tonic-reflection", -] - -[[package]] -name = "aptos-secure-storage" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-crypto", - "aptos-infallible", - "aptos-logger", - "aptos-temppath", - "aptos-time-service", - "aptos-vault-client", - "base64 0.13.1", - "bcs 0.1.4", - "chrono", - "enum_dispatch", - "rand 0.7.3", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "aptos-short-hex-str" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "mirai-annotations", - "serde", - "static_assertions", - "thiserror", -] - -[[package]] -name = "aptos-speculative-state-helper" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-infallible", - "crossbeam", - "rayon", -] - -[[package]] -name = "aptos-storage-interface" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-crypto", - "aptos-experimental-runtimes", - "aptos-logger", - "aptos-metrics-core", - "aptos-scratchpad", - "aptos-secure-net", - "aptos-types", - "aptos-vm", - "bcs 0.1.4", - "crossbeam-channel", - "dashmap 5.5.3", - "move-core-types", - "once_cell", - "parking_lot", - "proptest", - "proptest-derive", - "rayon", - "serde", - "thiserror", - "threadpool", -] - -[[package]] -name = "aptos-system-utils" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0#338f9a1bcc06f62ce4a4994f1642b9a61b631ee0" -dependencies = [ - "anyhow", - "aptos-profiler", - "async-mutex", - "http 0.2.12", - "hyper 0.14.30", - "lazy_static", - "mime", - "pprof", - "regex", - "rstack-self", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "aptos-table-natives" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-gas-schedule", - "aptos-native-interface", - "better_any", - "bytes 1.7.2", - "move-binary-format", - "move-core-types", - "move-table-extension", - "move-vm-runtime", - "move-vm-types", - "sha3", - "smallvec", -] - -[[package]] -name = "aptos-temppath" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "hex", - "rand 0.7.3", -] - -[[package]] -name = "aptos-time-service" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-infallible", - "enum_dispatch", - "futures", - "pin-project 1.1.5", - "thiserror", - "tokio", -] - -[[package]] -name = "aptos-types" -version = "0.0.3" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-bitvec", - "aptos-crypto", - "aptos-crypto-derive", - "aptos-dkg", - "aptos-experimental-runtimes", - "aptos-infallible", - "ark-bn254", - "ark-ff 0.4.2", - "ark-groth16", - "ark-serialize 0.4.2", - "arr_macro", - "base64 0.13.1", - "bcs 0.1.4", - "bytes 1.7.2", - "fixed", - "fxhash", - "hashbrown 0.14.5", - "hex", - "itertools 0.12.1", - "jsonwebtoken 8.3.0", - "move-binary-format", - "move-bytecode-verifier", - "move-core-types", - "move-table-extension", - "move-vm-runtime", - "move-vm-types", - "num-bigint 0.3.3", - "num-derive", - "num-traits", - "once_cell", - "passkey-types", - "poem-openapi", - "poem-openapi-derive", - "proptest", - "proptest-derive", - "quick_cache", - "rand 0.7.3", - "rayon", - "ring 0.16.20", - "rsa 0.9.6", - "serde", - "serde-big-array", - "serde_bytes", - "serde_json", - "serde_with", - "serde_yaml 0.8.26", - "strum 0.24.1", - "strum_macros 0.24.3", - "thiserror", -] - -[[package]] -name = "aptos-utils" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" - -[[package]] -name = "aptos-vault-client" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-crypto", - "base64 0.13.1", - "chrono", - "native-tls", - "once_cell", - "serde", - "serde_json", - "thiserror", - "ureq", -] - -[[package]] -name = "aptos-vm" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-aggregator", - "aptos-block-executor", - "aptos-block-partitioner", - "aptos-crypto", - "aptos-crypto-derive", - "aptos-experimental-runtimes", - "aptos-framework", - "aptos-gas-algebra", - "aptos-gas-meter", - "aptos-gas-schedule", - "aptos-infallible", - "aptos-logger", - "aptos-memory-usage-tracker", - "aptos-metrics-core", - "aptos-move-stdlib", - "aptos-mvhashmap", - "aptos-native-interface", - "aptos-table-natives", - "aptos-types", - "aptos-utils", - "aptos-vm-logging", - "aptos-vm-types", - "ark-bn254", - "ark-groth16", - "bcs 0.1.4", - "bytes 1.7.2", - "claims", - "crossbeam-channel", - "derive_more", - "fail", - "futures", - "hex", - "move-binary-format", - "move-core-types", - "move-vm-runtime", - "move-vm-types", - "num_cpus", - "once_cell", - "ouroboros", - "rand 0.7.3", - "rayon", - "serde", -] - -[[package]] -name = "aptos-vm-genesis" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-cached-packages", - "aptos-crypto", - "aptos-framework", - "aptos-gas-schedule", - "aptos-types", - "aptos-vm", - "bcs 0.1.4", - "bytes 1.7.2", - "move-core-types", - "move-vm-runtime", - "move-vm-types", - "once_cell", - "rand 0.7.3", - "serde", -] - -[[package]] -name = "aptos-vm-logging" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "aptos-crypto", - "aptos-logger", - "aptos-metrics-core", - "aptos-speculative-state-helper", - "aptos-types", - "arc-swap", - "once_cell", - "serde", -] - -[[package]] -name = "aptos-vm-types" -version = "0.0.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-aggregator", - "aptos-gas-algebra", - "aptos-gas-schedule", - "aptos-types", - "bcs 0.1.4", - "bytes 1.7.2", - "claims", - "either", - "move-binary-format", - "move-core-types", - "move-vm-runtime", - "move-vm-types", - "rand 0.7.3", - "serde", -] - -[[package]] -name = "aptos-vm-validator" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "aptos-logger", - "aptos-storage-interface", - "aptos-types", - "aptos-vm", - "aptos-vm-logging", - "fail", - "rand 0.7.3", -] - -[[package]] -name = "arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -dependencies = [ - "derive_arbitrary", -] - -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "ark-bls12-381" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" -dependencies = [ - "ark-ec", - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec", - "ark-ff 0.4.2", - "ark-std 0.4.0", -] - -[[package]] -name = "ark-crypto-primitives" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" -dependencies = [ - "ark-ec", - "ark-ff 0.4.2", - "ark-relations", - "ark-serialize 0.4.2", - "ark-snark", - "ark-std 0.4.0", - "blake2", - "derivative", - "digest 0.10.7", - "rayon", - "sha2 0.10.8", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff 0.4.2", - "ark-poly", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", - "num-traits", - "rayon", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" -dependencies = [ - "ark-ff-asm 0.3.0", - "ark-ff-macros 0.3.0", - "ark-serialize 0.3.0", - "ark-std 0.3.0", - "derivative", - "num-bigint 0.4.6", - "num-traits", - "paste", - "rustc_version 0.3.3", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint 0.4.6", - "num-traits", - "paste", - "rayon", - "rustc_version 0.4.1", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-groth16" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" -dependencies = [ - "ark-crypto-primitives", - "ark-ec", - "ark-ff 0.4.2", - "ark-poly", - "ark-relations", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "rayon", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", - "rayon", -] - -[[package]] -name = "ark-relations" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" -dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", - "tracing", - "tracing-subscriber 0.2.25", -] - -[[package]] -name = "ark-serialize" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" -dependencies = [ - "ark-std 0.3.0", - "digest 0.9.0", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive", - "ark-std 0.4.0", - "digest 0.10.7", - "num-bigint 0.4.6", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-snark" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" -dependencies = [ - "ark-ff 0.4.2", - "ark-relations", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - -[[package]] -name = "ark-std" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", - "rayon", -] - -[[package]] -name = "arr_macro" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c49336e062fa2ae8aca17a2f99c34d9c1a5d30827e8aff1cb4c294f253afe992" -dependencies = [ - "arr_macro_impl", - "proc-macro-hack", - "proc-macro-nested", -] - -[[package]] -name = "arr_macro_impl" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6368f9ae5c6ec403ca910327ae0c9437b0a85255b6950c90d497e6177f6e5e" -dependencies = [ - "proc-macro-hack", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite", - "log", - "parking", - "polling", - "rustix 0.37.27", - "slab", - "socket2 0.4.10", - "waker-fn", -] - -[[package]] -name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-mutex" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" -dependencies = [ - "event-listener", -] - -[[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.79", -] - -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "async-trait" -version = "0.1.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "async_io_stream" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" -dependencies = [ - "futures", - "pharos", - "rustc_version 0.4.1", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "auto_impl" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "aws-config" -version = "1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8191fb3091fa0561d1379ef80333c3c7191c6f0435d986e85821bcf7acbd1126" -dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-sdk-sso", - "aws-sdk-ssooidc", - "aws-sdk-sts", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes 1.7.2", - "fastrand 2.1.1", - "hex", - "http 0.2.12", - "ring 0.17.8", - "time", - "tokio", - "tracing", - "url", - "zeroize", -] - -[[package]] -name = "aws-credential-types" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" -dependencies = [ - "aws-smithy-async", - "aws-smithy-runtime-api", - "aws-smithy-types", - "zeroize", -] - -[[package]] -name = "aws-runtime" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a10d5c055aa540164d9561a0e2e74ad30f0dcf7393c3a92f6733ddf9c5762468" -dependencies = [ - "aws-credential-types", - "aws-sigv4", - "aws-smithy-async", - "aws-smithy-eventstream", - "aws-smithy-http", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes 1.7.2", - "fastrand 2.1.1", - "http 0.2.12", - "http-body 0.4.6", - "once_cell", - "percent-encoding", - "pin-project-lite", - "tracing", - "uuid", -] - -[[package]] -name = "aws-sdk-s3" -version = "1.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43fad71130014e11f42fadbdcce5df12ee61866f8ab9bad773b138d4b3c11087" -dependencies = [ - "ahash 0.8.11", - "aws-credential-types", - "aws-runtime", - "aws-sigv4", - "aws-smithy-async", - "aws-smithy-checksums", - "aws-smithy-eventstream", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-smithy-xml", - "aws-types", - "bytes 1.7.2", - "fastrand 2.1.1", - "hex", - "hmac 0.12.1", - "http 0.2.12", - "http-body 0.4.6", - "lru 0.12.4", - "once_cell", - "percent-encoding", - "regex-lite", - "sha2 0.10.8", - "tracing", - "url", -] - -[[package]] -name = "aws-sdk-sso" -version = "1.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b90cfe6504115e13c41d3ea90286ede5aa14da294f3fe077027a6e83850843c" -dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes 1.7.2", - "http 0.2.12", - "once_cell", - "regex-lite", - "tracing", -] - -[[package]] -name = "aws-sdk-ssooidc" -version = "1.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167c0fad1f212952084137308359e8e4c4724d1c643038ce163f06de9662c1d0" -dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes 1.7.2", - "http 0.2.12", - "once_cell", - "regex-lite", - "tracing", -] - -[[package]] -name = "aws-sdk-sts" -version = "1.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb5f98188ec1435b68097daa2a37d74b9d17c9caa799466338a8d1544e71b9d" -dependencies = [ - "aws-credential-types", - "aws-runtime", - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-query", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-smithy-xml", - "aws-types", - "http 0.2.12", - "once_cell", - "regex-lite", - "tracing", -] - -[[package]] -name = "aws-sigv4" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8db6904450bafe7473c6ca9123f88cc11089e41a025408f992db4e22d3be68" -dependencies = [ - "aws-credential-types", - "aws-smithy-eventstream", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes 1.7.2", - "crypto-bigint 0.5.5", - "form_urlencoded", - "hex", - "hmac 0.12.1", - "http 0.2.12", - "http 1.1.0", - "once_cell", - "p256 0.11.1", - "percent-encoding", - "ring 0.17.8", - "sha2 0.10.8", - "subtle", - "time", - "tracing", - "zeroize", -] - -[[package]] -name = "aws-smithy-async" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" -dependencies = [ - "futures-util", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "aws-smithy-checksums" -version = "0.60.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" -dependencies = [ - "aws-smithy-http", - "aws-smithy-types", - "bytes 1.7.2", - "crc32c", - "crc32fast", - "hex", - "http 0.2.12", - "http-body 0.4.6", - "md-5", - "pin-project-lite", - "sha1", - "sha2 0.10.8", - "tracing", -] - -[[package]] -name = "aws-smithy-eventstream" -version = "0.60.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef7d0a272725f87e51ba2bf89f8c21e4df61b9e49ae1ac367a6d69916ef7c90" -dependencies = [ - "aws-smithy-types", - "bytes 1.7.2", - "crc32fast", -] - -[[package]] -name = "aws-smithy-http" -version = "0.60.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" -dependencies = [ - "aws-smithy-eventstream", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes 1.7.2", - "bytes-utils", - "futures-core", - "http 0.2.12", - "http-body 0.4.6", - "once_cell", - "percent-encoding", - "pin-project-lite", - "pin-utils", - "tracing", -] - -[[package]] -name = "aws-smithy-json" -version = "0.60.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" -dependencies = [ - "aws-smithy-types", -] - -[[package]] -name = "aws-smithy-query" -version = "0.60.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb" -dependencies = [ - "aws-smithy-types", - "urlencoding", -] - -[[package]] -name = "aws-smithy-runtime" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1ce695746394772e7000b39fe073095db6d45a862d0767dd5ad0ac0d7f8eb87" -dependencies = [ - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "bytes 1.7.2", - "fastrand 2.1.1", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "http-body 1.0.1", - "httparse", - "hyper 0.14.30", - "hyper-rustls 0.24.2", - "once_cell", - "pin-project-lite", - "pin-utils", - "rustls 0.21.12", - "tokio", - "tracing", -] - -[[package]] -name = "aws-smithy-runtime-api" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" -dependencies = [ - "aws-smithy-async", - "aws-smithy-types", - "bytes 1.7.2", - "http 0.2.12", - "http 1.1.0", - "pin-project-lite", - "tokio", - "tracing", - "zeroize", -] - -[[package]] -name = "aws-smithy-types" -version = "1.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" -dependencies = [ - "base64-simd", - "bytes 1.7.2", - "bytes-utils", - "futures-core", - "http 0.2.12", - "http 1.1.0", - "http-body 0.4.6", - "http-body 1.0.1", - "http-body-util", - "itoa", - "num-integer", - "pin-project-lite", - "pin-utils", - "ryu", - "serde", - "time", - "tokio", - "tokio-util", -] - -[[package]] -name = "aws-smithy-xml" -version = "0.60.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab0b0166827aa700d3dc519f72f8b3a91c35d0b8d042dc5d643a91e6f80648fc" -dependencies = [ - "xmlparser", -] - -[[package]] -name = "aws-types" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef" -dependencies = [ - "aws-credential-types", - "aws-smithy-async", - "aws-smithy-runtime-api", - "aws-smithy-types", - "rustc_version 0.4.1", - "tracing", -] - -[[package]] -name = "axum" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" -dependencies = [ - "async-trait", - "axum-core", - "bitflags 1.3.2", - "bytes 1.7.2", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper 0.1.2", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes 1.7.2", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - -[[package]] -name = "az" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" - -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "futures-core", - "getrandom 0.2.15", - "instant", - "pin-project-lite", - "rand 0.8.5", - "tokio", -] - -[[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 = "base-x" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" - -[[package]] -name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[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 = "base64-simd" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" -dependencies = [ - "outref", - "vsimd", -] - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "bb8" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10cf871f3ff2ce56432fddc2615ac7acc3aa22ca321f8fea800846fbb32f188" -dependencies = [ - "async-trait", - "futures-util", - "parking_lot", - "tokio", -] - -[[package]] -name = "bcs" -version = "0.1.4" -source = "git+https://github.com/aptos-labs/bcs.git?rev=d31fab9d81748e2594be5cd5cdf845786a30562d#d31fab9d81748e2594be5cd5cdf845786a30562d" -dependencies = [ - "serde", - "thiserror", -] - -[[package]] -name = "bcs" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b6598a2f5d564fb7855dc6b06fd1c38cff5a72bd8b863a4d021938497b440a" -dependencies = [ - "serde", - "thiserror", -] - -[[package]] -name = "bech32" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" - -[[package]] -name = "beef" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" -dependencies = [ - "serde", -] - -[[package]] -name = "bellpepper" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae286c2cb403324ab644c7cc68dceb25fe52ca9429908a726d7ed272c1edf7b" -dependencies = [ - "bellpepper-core", - "byteorder", - "ff 0.13.0", -] - -[[package]] -name = "bellpepper-core" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8abb418570756396d722841b19edfec21d4e89e1cf8990610663040ecb1aea" -dependencies = [ - "blake2s_simd", - "byteorder", - "ff 0.13.0", - "serde", - "thiserror", -] - -[[package]] -name = "better_any" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b359aebd937c17c725e19efcb661200883f04c49c53e7132224dac26da39d4a0" -dependencies = [ - "better_typeid_derive", -] - -[[package]] -name = "better_typeid_derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3deeecb812ca5300b7d3f66f730cc2ebd3511c3d36c691dd79c165d5b19a26e3" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "bigdecimal" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d712318a27c7150326677b321a5fa91b55f6d9034ffd67f20319e147d40cee" -dependencies = [ - "autocfg", - "libm", - "num-bigint 0.4.6", - "num-integer", - "num-traits", - "serde", -] - -[[package]] -name = "bimap" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bindgen" -version = "0.69.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" -dependencies = [ - "bitflags 2.6.0", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.79", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" - -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - -[[package]] -name = "bitvec" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" -dependencies = [ - "funty 1.1.0", - "radium 0.6.2", - "tap", - "wyz 0.2.0", -] - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty 2.0.0", - "radium 0.7.0", - "tap", - "wyz 0.5.1", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq 0.1.5", -] - -[[package]] -name = "blake2b_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "constant_time_eq 0.3.1", -] - -[[package]] -name = "blake2s_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "constant_time_eq 0.3.1", -] - -[[package]] -name = "blake3" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "cc", - "cfg-if", - "constant_time_eq 0.3.1", - "digest 0.10.7", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "block-padding 0.2.1", - "generic-array", -] - -[[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 = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - -[[package]] -name = "blockstore" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc99329facbb960effbe7ed707c753a718877c1878eb8ca08704fa391c494020" -dependencies = [ - "cid", - "dashmap 6.1.0", - "multihash", - "thiserror", -] - -[[package]] -name = "blst" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" -dependencies = [ - "cc", - "glob", - "threadpool", - "zeroize", -] - -[[package]] -name = "blstrs" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8a8ed6fefbeef4a8c7b460e4110e12c5e22a5b7cf32621aae6ad650c4dcf29" -dependencies = [ - "blst", - "byte-slice-cast", - "ff 0.13.0", - "group 0.13.0", - "pairing", - "rand_core 0.6.4", - "serde", - "subtle", -] - -[[package]] -name = "borsh" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" -dependencies = [ - "borsh-derive 0.10.4", - "hashbrown 0.13.2", -] - -[[package]] -name = "borsh" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" -dependencies = [ - "borsh-derive 1.5.1", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" -dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" -dependencies = [ - "once_cell", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.79", - "syn_derive", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "bridge-config" -version = "0.0.2" -dependencies = [ - "alloy", - "anyhow", - "aptos-crypto", - "aptos-sdk", - "dot-movement", - "godfig", - "rand 0.7.3", - "serde", - "tokio", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "bridge-integration-tests" -version = "0.0.2" -dependencies = [ - "alloy", - "alloy-contract", - "alloy-network", - "alloy-sol-types", - "anyhow", - "aptos-framework", - "aptos-language-e2e-tests", - "aptos-logger", - "aptos-sdk", - "aptos-types", - "bcs 0.1.4", - "bridge-config", - "bridge-service", - "bridge-setup", - "dot-movement", - "futures", - "godfig", - "hex", - "rand 0.7.3", - "reqwest 0.12.8", - "serde_json", - "tokio", - "tokio-stream", - "tracing", - "tracing-subscriber 0.3.18", - "url", -] - -[[package]] -name = "bridge-service" -version = "0.0.2" -dependencies = [ - "alloy", - "alloy-network", - "alloy-rlp", - "anyhow", - "aptos-api", - "aptos-api-types", - "aptos-sdk", - "aptos-types", - "async-stream", - "async-trait", - "bcs 0.1.4", - "bridge-config", - "delegate", - "derive-new", - "derive_more", - "dot-movement", - "futures", - "futures-time", - "futures-timer", - "godfig", - "hex", - "keccak-hash", - "mcr-settlement-client", - "rand 0.7.3", - "rand_chacha 0.2.2", - "reqwest 0.12.8", - "serde", - "serde_json", - "serde_with", - "thiserror", - "tokio", - "tokio-stream", - "tracing", - "tracing-subscriber 0.3.18", - "url", -] - -[[package]] -name = "bridge-setup" -version = "0.0.2" -dependencies = [ - "alloy", - "alloy-primitives", - "anyhow", - "aptos-sdk", - "bridge-config", - "bridge-service", - "commander", - "dot-movement", - "godfig", - "hex", - "k256", - "maptos-execution-util", - "mcr-settlement-config", - "rand 0.7.3", - "serde_json", - "tokio", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "bstr" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" -dependencies = [ - "memchr", - "regex-automata 0.4.8", - "serde", -] - -[[package]] -name = "buildtime" -version = "0.0.2" -dependencies = [ - "anyhow", - "buildtime-helpers", - "buildtime-macros", -] - -[[package]] -name = "buildtime-helpers" -version = "0.0.2" -dependencies = [ - "anyhow", - "serde_json", - "toml 0.8.19", -] - -[[package]] -name = "buildtime-macros" -version = "0.0.2" -dependencies = [ - "buildtime-helpers", - "quote", - "syn 2.0.79", - "tonic-build", -] - -[[package]] -name = "bulletproofs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40e698f1df446cc6246afd823afbe2d121134d089c9102c1dd26d1264991ba32" -dependencies = [ - "byteorder", - "clear_on_drop", - "curve25519-dalek-ng", - "digest 0.9.0", - "merlin", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "serde_derive", - "sha3", - "subtle-ng", - "thiserror", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - -[[package]] -name = "bytecount" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" - -[[package]] -name = "bytemuck" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" - -[[package]] -name = "bytes" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" -dependencies = [ - "serde", -] - -[[package]] -name = "bytes-utils" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35" -dependencies = [ - "bytes 1.7.2", - "either", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "c-kzg" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" -dependencies = [ - "blst", - "cc", - "glob", - "hex", - "libc", - "once_cell", - "serde", -] - -[[package]] -name = "c_linked_list" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" - -[[package]] -name = "camino" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" -dependencies = [ - "serde", -] - -[[package]] -name = "canonical_json" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89083fd014d71c47a718d7f4ac050864dac8587668dbe90baf9e261064c5710" -dependencies = [ - "hex", - "regex", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "captcha" -version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db21780337b425f968a2c3efa842eeaa4fe53d2bcb1eb27d2877460a862fb0ab" -dependencies = [ - "base64 0.13.1", - "hound", - "image", - "lodepng", - "rand 0.8.5", - "serde_json", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.23", - "serde", - "serde_json", -] - -[[package]] -name = "cassowary" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher", -] - -[[package]] -name = "cc" -version = "1.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812acba72f0a070b003d3697490d2b55b837230ae7c6c6497f05cc2ddbb8d938" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "celestia-proto" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cde2c574760f88d5a6da8dfc55dbb79d91f4da15aa87b9e0d57d4d3a8fa5687" -dependencies = [ - "anyhow", - "celestia-tendermint-proto", - "prost 0.12.6", - "prost-build", - "prost-types 0.12.6", - "serde", -] - -[[package]] -name = "celestia-rpc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5110ce517363b075f3880f4bc88fd1f5c0b3f711a11daa3c34c66da7ae94b9a7" -dependencies = [ - "async-trait", - "celestia-types", - "http 1.1.0", - "jsonrpsee 0.24.5", - "serde", - "thiserror", - "tracing", -] - -[[package]] -name = "celestia-tendermint" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8c92a01145f79a0f3ac7c44a43a9b5ee58e8a4c716b56d98833a3848db1afd" -dependencies = [ - "bytes 1.7.2", - "celestia-tendermint-proto", - "digest 0.10.7", - "ed25519 2.2.3", - "ed25519-consensus", - "flex-error", - "futures", - "num-traits", - "once_cell", - "prost 0.12.6", - "prost-types 0.12.6", - "serde", - "serde_bytes", - "serde_json", - "serde_repr", - "sha2 0.10.8", - "signature 2.2.0", - "subtle", - "subtle-encoding", - "time", - "zeroize", -] - -[[package]] -name = "celestia-tendermint-proto" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a95746c5221a74d7b913a415fdbb9e7c90e1b4d818dbbff59bddc034cfce2ec" -dependencies = [ - "bytes 1.7.2", - "flex-error", - "num-derive", - "num-traits", - "prost 0.12.6", - "prost-types 0.12.6", - "serde", - "serde_bytes", - "subtle-encoding", - "time", -] - -[[package]] -name = "celestia-types" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08e6a207db787043faf6b630e2caa365d5be1b72553d541a75cfd4e17086191c" -dependencies = [ - "base64 0.22.1", - "bech32", - "blockstore", - "bytes 1.7.2", - "celestia-proto", - "celestia-tendermint", - "celestia-tendermint-proto", - "cid", - "const_format", - "enum_dispatch", - "leopard-codec", - "libp2p-identity", - "multiaddr", - "multihash", - "nmt-rs", - "ruint", - "serde", - "serde_repr", - "sha2 0.10.8", - "thiserror", - "time", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[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.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-targets 0.52.6", -] - -[[package]] -name = "chrono-tz" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" -dependencies = [ - "chrono", - "chrono-tz-build", - "phf", -] - -[[package]] -name = "chrono-tz-build" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" -dependencies = [ - "parse-zoneinfo", - "phf", - "phf_codegen", -] - -[[package]] -name = "chunked_transfer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901" - -[[package]] -name = "ciborium" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" - -[[package]] -name = "ciborium-ll" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" -dependencies = [ - "ciborium-io", - "half 2.4.1", -] - -[[package]] -name = "cid" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" -dependencies = [ - "core2", - "multibase", - "multihash", - "unsigned-varint 0.8.0", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - -[[package]] -name = "claims" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6995bbe186456c36307f8ea36be3eefe42f49d106896414e18efc4fb2f846b5" -dependencies = [ - "autocfg", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags 1.3.2", - "strsim 0.8.0", - "textwrap 0.11.0", - "unicode-width", - "vec_map", -] - -[[package]] -name = "clap" -version = "4.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap_builder" -version = "4.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim 0.11.1", -] - -[[package]] -name = "clap_derive" -version = "4.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "clap_lex" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[package]] -name = "clear_on_drop" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38508a63f4979f0048febc9966fadbd48e5dab31fd0ec6a3f151bbf4a74f7423" -dependencies = [ - "cc", -] - -[[package]] -name = "cloud-storage" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7602ac4363f68ac757d6b87dd5d850549a14d37489902ae639c06ecec06ad275" -dependencies = [ - "async-trait", - "base64 0.13.1", - "bytes 1.7.2", - "chrono", - "dotenv", - "futures-util", - "hex", - "jsonwebtoken 7.2.0", - "lazy_static", - "pem 0.8.3", - "percent-encoding", - "reqwest 0.11.27", - "ring 0.16.20", - "serde", - "serde_json", - "tokio", -] - -[[package]] -name = "cmac" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8543454e3c3f5126effff9cd44d562af4e31fb8ce1cc0d3dcd8f084515dbc1aa" -dependencies = [ - "cipher", - "dbl", - "digest 0.10.7", -] - -[[package]] -name = "codespan" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" -dependencies = [ - "codespan-reporting", - "serde", -] - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "serde", - "termcolor", - "unicode-width", -] - -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - -[[package]] -name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "colored" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" -dependencies = [ - "lazy_static", - "windows-sys 0.48.0", -] - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes 1.7.2", - "futures-core", - "memchr", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "commander" -version = "0.0.2" -dependencies = [ - "anyhow", - "futures", - "tokio", - "tracing", -] - -[[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 = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "console-api" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a257c22cd7e487dd4a13d413beabc512c5052f0bc048db0da6a84c3d8a6142fd" -dependencies = [ - "futures-core", - "prost 0.12.6", - "prost-types 0.12.6", - "tonic 0.11.0", - "tracing-core", -] - -[[package]] -name = "console-subscriber" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c4cc54bae66f7d9188996404abdf7fdfa23034ef8e43478c8810828abad758" -dependencies = [ - "console-api", - "crossbeam-channel", - "crossbeam-utils", - "futures-task", - "hdrhistogram", - "humantime", - "prost 0.12.6", - "prost-types 0.12.6", - "serde", - "serde_json", - "thread_local", - "tokio", - "tokio-stream", - "tonic 0.11.0", - "tracing", - "tracing-core", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "const-hex" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" -dependencies = [ - "cfg-if", - "cpufeatures", - "hex", - "proptest", - "serde", -] - -[[package]] -name = "const-oid" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "tiny-keccak", -] - -[[package]] -name = "const_fn" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373e9fafaa20882876db20562275ff58d50e0caa2590077fe7ce7bef90211d0d" - -[[package]] -name = "const_format" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c655d81ff1114fb0dcdea9225ea9f0cc712a6f8d189378e82bdf62a473a64b" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff1a44b93f47b1bac19a27932f5c591e43d1ba357ee4f61526c8a25603f0eb1" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "constant_time_eq" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" - -[[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.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" -dependencies = [ - "aes-gcm", - "base64 0.21.7", - "hkdf 0.12.4", - "hmac 0.12.1", - "percent-encoding", - "rand 0.8.5", - "sha2 0.10.8", - "subtle", - "time", - "version_check", -] - -[[package]] -name = "cookie_store" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" -dependencies = [ - "cookie", - "idna 0.3.0", - "log", - "publicsuffix", - "serde", - "serde_derive", - "serde_json", - "time", - "url", -] - -[[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-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - -[[package]] -name = "core_affinity" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622892f5635ce1fc38c8f16dfc938553ed64af482edb5e150bf4caedbfcb2304" -dependencies = [ - "libc", - "num_cpus", - "winapi 0.3.9", -] - -[[package]] -name = "coset" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8cc80f631f8307b887faca24dcc3abc427cd0367f6eb6188f6e8f5b7ad8fb" -dependencies = [ - "ciborium", - "ciborium-io", -] - -[[package]] -name = "cpp_demangle" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "cpufeatures" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32c" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" -dependencies = [ - "rustc_version 0.4.1", -] - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "criterion" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" -dependencies = [ - "atty", - "cast", - "clap 2.34.0", - "criterion-plot", - "csv", - "itertools 0.10.5", - "lazy_static", - "num-traits", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_cbor", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" -dependencies = [ - "cast", - "itertools 0.10.5", -] - -[[package]] -name = "crossbeam" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crossterm" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" -dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi 0.3.9", -] - -[[package]] -name = "crossterm" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" -dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi 0.3.9", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-bigint" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "crypto-bigint" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "typenum", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4857fd85a0c34b3c3297875b747c1e02e06b6a0ea32dd892d8192b9ce0813ea6" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - -[[package]] -name = "ctrlc" -version = "3.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" -dependencies = [ - "nix 0.29.0", - "windows-sys 0.59.0", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-ng" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.6.4", - "serde", - "subtle-ng", - "zeroize", -] - -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", -] - -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", -] - -[[package]] -name = "darling_core" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", -] - -[[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 0.11.1", - "syn 2.0.79", -] - -[[package]] -name = "darling_macro" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" -dependencies = [ - "darling_core 0.14.4", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core 0.20.10", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "dashmap" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "data-encoding" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" - -[[package]] -name = "data-encoding-macro" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" -dependencies = [ - "data-encoding", - "data-encoding-macro-internal", -] - -[[package]] -name = "data-encoding-macro-internal" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" -dependencies = [ - "data-encoding", - "syn 1.0.109", -] - -[[package]] -name = "dbl" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd2735a791158376708f9347fe8faba9667589d82427ef3aed6794a8981de3d9" -dependencies = [ - "generic-array", -] - -[[package]] -name = "deadpool" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "421fe0f90f2ab22016f32a9881be5134fdd71c65298917084b0c7477cbc3856e" -dependencies = [ - "async-trait", - "deadpool-runtime", - "num_cpus", - "retain_mut", - "tokio", -] - -[[package]] -name = "deadpool-redis" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8bde44cbfdf17ae5baa45c9f43073b320f1a19955389315629304a23909ad2" -dependencies = [ - "deadpool", - "redis", -] - -[[package]] -name = "deadpool-runtime" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" -dependencies = [ - "tokio", -] - -[[package]] -name = "debugid" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" -dependencies = [ - "uuid", -] - -[[package]] -name = "delegate" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e018fccbeeb50ff26562ece792ed06659b9c2dae79ece77c4456bb10d9bf79b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "der" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" -dependencies = [ - "const-oid 0.7.1", - "crypto-bigint 0.3.2", - "pem-rfc7468 0.3.1", -] - -[[package]] -name = "der" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" -dependencies = [ - "const-oid 0.9.6", - "zeroize", -] - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid 0.9.6", - "pem-rfc7468 0.7.0", - "zeroize", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", - "serde", -] - -[[package]] -name = "derivation-path" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[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.79", -] - -[[package]] -name = "derive_arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.1", - "syn 2.0.79", -] - -[[package]] -name = "deunicode" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00" - -[[package]] -name = "diesel" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98235fdc2f355d330a8244184ab6b4b33c28679c0b4158f63138e51d6cf7e88" -dependencies = [ - "bigdecimal", - "bitflags 2.6.0", - "byteorder", - "chrono", - "diesel_derives", - "itoa", - "num-bigint 0.4.6", - "num-integer", - "num-traits", - "pq-sys", - "r2d2", - "serde_json", -] - -[[package]] -name = "diesel-async" -version = "0.4.1" -source = "git+https://github.com/weiznich/diesel_async.git?rev=d02798c67065d763154d7272dd0c09b39757d0f2#d02798c67065d763154d7272dd0c09b39757d0f2" -dependencies = [ - "async-trait", - "bb8", - "diesel", - "futures-util", - "scoped-futures", - "tokio", - "tokio-postgres", -] - -[[package]] -name = "diesel_derives" -version = "2.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14701062d6bed917b5c7103bdffaee1e4609279e240488ad24e7bd979ca6866c" -dependencies = [ - "diesel_table_macro_syntax", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "diesel_migrations" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6036b3f0120c5961381b570ee20a02432d7e2d27ea60de9578799cf9156914ac" -dependencies = [ - "diesel", - "migrations_internals", - "migrations_macros", -] - -[[package]] -name = "diesel_table_macro_syntax" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" -dependencies = [ - "syn 2.0.79", -] - -[[package]] -name = "difference" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer 0.10.4", - "const-oid 0.9.6", - "crypto-common", - "subtle", -] - -[[package]] -name = "dirs" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi 0.3.9", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi 0.3.9", -] - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "doctest-file" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" - -[[package]] -name = "dot-movement" -version = "0.0.2" -dependencies = [ - "anyhow", - "movement-types", - "serde", - "serde_json", - "syncup", - "tokio", -] - -[[package]] -name = "dotenv" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "dw" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef0ed82b765c2ab79fb48e4bf2c95bd583202f4078a702bc714cc6e6f3ca80c3" -dependencies = [ - "dw-sys", - "foreign-types 0.5.0", - "libc", -] - -[[package]] -name = "dw-sys" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14eb35c87ff6626cd1021bb32bc7d9a5372ea72547e1eaf0343a841d9d55a973" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "dyn-clone" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" - -[[package]] -name = "ecdsa" -version = "0.14.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" -dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der 0.7.9", - "digest 0.10.7", - "elliptic-curve 0.13.8", - "rfc6979 0.4.0", - "signature 2.2.0", - "spki 0.7.3", -] - -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "serde", - "signature 1.6.4", -] - -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8 0.10.2", - "signature 2.2.0", -] - -[[package]] -name = "ed25519-consensus" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" -dependencies = [ - "curve25519-dalek-ng", - "hex", - "rand_core 0.6.4", - "sha2 0.9.9", - "zeroize", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "serde_bytes", - "sha2 0.9.9", - "zeroize", -] - -[[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", - "sha2 0.10.8", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "elliptic-curve" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" -dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", - "digest 0.10.7", - "ff 0.12.1", - "generic-array", - "group 0.12.1", - "pkcs8 0.9.0", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle", - "zeroize", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.5", - "digest 0.10.7", - "ff 0.13.0", - "generic-array", - "group 0.13.0", - "pem-rfc7468 0.7.0", - "pkcs8 0.10.2", - "rand_core 0.6.4", - "sec1 0.7.3", - "subtle", - "zeroize", -] - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "env_filter" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" -dependencies = [ - "log", -] - -[[package]] -name = "env_logger" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" -dependencies = [ - "env_filter", - "log", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "erased-serde" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" -dependencies = [ - "serde", -] - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", -] - -[[package]] -name = "ethnum" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "fail" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" -dependencies = [ - "log", - "once_cell", - "rand 0.8.5", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - -[[package]] -name = "fastrlp" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" -dependencies = [ - "arrayvec 0.7.6", - "auto_impl", - "bytes 1.7.2", -] - -[[package]] -name = "fdeflate" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "bitvec 1.0.1", - "byteorder", - "ff_derive", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "ff_derive" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" -dependencies = [ - "addchain", - "cfg-if", - "num-bigint 0.3.3", - "num-integer", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "field_count" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284d5f85dd574cf01094bca24aefa69a43539dbfc72b1326f038d540b2daadc7" -dependencies = [ - "field_count_derive", -] - -[[package]] -name = "field_count_derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1320970ff3b1c1cacc6a38e8cdb1aced955f29627697cd992c5ded82eb646a8" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "filetime" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - -[[package]] -name = "findshlibs" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" -dependencies = [ - "cc", - "lazy_static", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "fixed" -version = "1.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c6e0b89bf864acd20590dbdbad56f69aeb898abfc9443008fd7bd48b2cc85a" -dependencies = [ - "az", - "bytemuck", - "half 2.4.1", - "typenum", -] - -[[package]] -name = "fixed-hash" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixedbitset" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flate2" -version = "1.0.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "flex-error" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" -dependencies = [ - "eyre", - "paste", -] - -[[package]] -name = "flexi_logger" -version = "0.27.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469e584c031833564840fb0cdbce99bdfe946fd45480a188545e73a76f45461c" -dependencies = [ - "chrono", - "glob", - "is-terminal", - "lazy_static", - "log", - "nu-ansi-term 0.49.0", - "regex", - "thiserror", -] - -[[package]] -name = "flocks" -version = "0.0.2" -dependencies = [ - "anyhow", - "futures", - "rustix 0.38.37", - "serde", - "tempfile", - "thiserror", - "tokio", -] - -[[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.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared 0.1.1", -] - -[[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 0.3.1", -] - -[[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.79", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[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 = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-lite" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" -dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-time" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6404853a6824881fe5f7d662d147dc4e84ecd2259ba0378f272a71dab600758a" -dependencies = [ - "async-channel", - "async-io", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "futures-utils-wasm" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" - -[[package]] -name = "futures_codec" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b" -dependencies = [ - "bytes 0.5.6", - "futures", - "memchr", - "pin-project 0.4.30", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "gcc" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "get_if_addrs" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7" -dependencies = [ - "c_linked_list", - "get_if_addrs-sys", - "libc", - "winapi 0.2.8", -] - -[[package]] -name = "get_if_addrs-sys" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d04f9fb746cf36b191c00f3ede8bde9c8e64f9f4b05ae2694a9ccf5e3f5ab48" -dependencies = [ - "gcc", - "libc", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "ghash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" -dependencies = [ - "opaque-debug", - "polyval", -] - -[[package]] -name = "gimli" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" - -[[package]] -name = "git2" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2994bee4a3a6a51eb90c218523be382fd7ea09b16380b9312e9dbe955ff7c7d1" -dependencies = [ - "bitflags 1.3.2", - "libc", - "libgit2-sys", - "log", - "url", -] - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "globset" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", -] - -[[package]] -name = "globwalk" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" -dependencies = [ - "bitflags 2.6.0", - "ignore", - "walkdir", -] - -[[package]] -name = "godfig" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-stream", - "flocks", - "futures", - "serde", - "serde_json", - "tempfile", - "thiserror", - "tokio", -] - -[[package]] -name = "goldenfile" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "672ff1c2f0537cf3f92065ce8aa77e2fc3f2abae2c805eb67f40ceecfbdee428" -dependencies = [ - "scopeguard", - "similar-asserts", - "tempfile", - "yansi", -] - -[[package]] -name = "google-cloud-auth" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931bedb2264cb00f914b0a6a5c304e34865c34306632d3932e0951a073e4a67d" -dependencies = [ - "async-trait", - "base64 0.21.7", - "google-cloud-metadata", - "google-cloud-token", - "home", - "jsonwebtoken 8.3.0", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror", - "time", - "tokio", - "tracing", - "urlencoding", -] - -[[package]] -name = "google-cloud-gax" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8bdaaa4bc036e8318274d1b25f0f2265b3e95418b765fd1ea1c7ef938fd69bd" -dependencies = [ - "google-cloud-token", - "http 0.2.12", - "thiserror", - "tokio", - "tokio-retry", - "tonic 0.9.2", - "tower", - "tracing", -] - -[[package]] -name = "google-cloud-googleapis" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3b24a3f57be08afc02344e693afb55e48172c9c2ab86ff3fdb8efff550e4b9" -dependencies = [ - "prost 0.11.9", - "prost-types 0.11.9", - "tonic 0.9.2", -] - -[[package]] -name = "google-cloud-metadata" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96e4ad0802d3f416f62e7ce01ac1460898ee0efc98f8b45cd4aab7611607012f" -dependencies = [ - "reqwest 0.11.27", - "thiserror", - "tokio", -] - -[[package]] -name = "google-cloud-pubsub" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "095b104502b6e1abbad9b9768af944b9202e032dbc7f0947d3c30d4191761071" -dependencies = [ - "async-channel", - "async-stream", - "google-cloud-auth", - "google-cloud-gax", - "google-cloud-googleapis", - "google-cloud-token", - "prost-types 0.11.9", - "thiserror", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "google-cloud-storage" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22c57ca1d971d7c6f852c02eda4e87e88b1247b6ed8be9fa5b2768c68b0f2ca5" -dependencies = [ - "async-stream", - "base64 0.21.7", - "bytes 1.7.2", - "futures-util", - "google-cloud-auth", - "google-cloud-metadata", - "google-cloud-token", - "hex", - "once_cell", - "percent-encoding", - "regex", - "reqwest 0.11.27", - "ring 0.16.20", - "rsa 0.6.1", - "serde", - "serde_json", - "sha2 0.10.8", - "thiserror", - "time", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "google-cloud-token" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" -dependencies = [ - "async-trait", -] - -[[package]] -name = "group" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" -dependencies = [ - "ff 0.12.1", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff 0.13.0", - "rand 0.8.5", - "rand_core 0.6.4", - "rand_xorshift", - "subtle", -] - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes 1.7.2", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.6.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" -dependencies = [ - "atomic-waker", - "bytes 1.7.2", - "fnv", - "futures-core", - "futures-sink", - "http 1.1.0", - "indexmap 2.6.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "half" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" - -[[package]] -name = "half" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" -dependencies = [ - "cfg-if", - "crunchy", - "num-traits", -] - -[[package]] -name = "handlebars" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" -dependencies = [ - "log", - "pest", - "pest_derive", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash 0.8.11", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash 0.8.11", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" - -[[package]] -name = "hdrhistogram" -version = "7.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" -dependencies = [ - "base64 0.21.7", - "byteorder", - "flate2", - "nom", - "num-traits", -] - -[[package]] -name = "headers" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" -dependencies = [ - "base64 0.21.7", - "bytes 1.7.2", - "headers-core", - "http 0.2.12", - "httpdate", - "mime", - "sha1", -] - -[[package]] -name = "headers-core" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" -dependencies = [ - "http 0.2.12", -] - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[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 = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -dependencies = [ - "serde", -] - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "hidapi" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "798154e4b6570af74899d71155fb0072d5b17e6aa12f39c8ef22c60fb8ec99e7" -dependencies = [ - "cc", - "libc", - "pkg-config", - "winapi 0.3.9", -] - -[[package]] -name = "hkdf" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f" -dependencies = [ - "digest 0.9.0", - "hmac 0.10.1", -] - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac 0.12.1", -] - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", -] - -[[package]] -name = "hmac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" -dependencies = [ - "crypto-mac 0.10.0", - "digest 0.9.0", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", -] - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - -[[package]] -name = "hound" -version = "3.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" - -[[package]] -name = "howzit" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-cached-packages", - "aptos-framework", - "aptos-sdk", - "aptos-types", - "bcs 0.1.4", - "chrono", - "futures", - "godfig", - "rand 0.7.3", - "serde", - "tokio", - "tracing", - "tracing-subscriber 0.3.18", - "url", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes 1.7.2", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes 1.7.2", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes 1.7.2", - "http 0.2.12", - "pin-project-lite", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes 1.7.2", - "http 1.1.0", -] - -[[package]] -name = "http-body-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" -dependencies = [ - "bytes 1.7.2", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "pin-project-lite", -] - -[[package]] -name = "http-range-header" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" - -[[package]] -name = "httparse" -version = "1.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "humansize" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" -dependencies = [ - "libm", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.14.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" -dependencies = [ - "bytes 1.7.2", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.5.7", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" -dependencies = [ - "bytes 1.7.2", - "futures-channel", - "futures-util", - "h2 0.4.6", - "http 1.1.0", - "http-body 1.0.1", - "httparse", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.30", - "log", - "rustls 0.21.12", - "rustls-native-certs 0.6.3", - "tokio", - "tokio-rustls 0.24.1", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" -dependencies = [ - "futures-util", - "http 1.1.0", - "hyper 1.4.1", - "hyper-util", - "log", - "rustls 0.23.13", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.26.0", - "tower-service", -] - -[[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -dependencies = [ - "hyper 0.14.30", - "pin-project-lite", - "tokio", - "tokio-io-timeout", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes 1.7.2", - "hyper 0.14.30", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes 1.7.2", - "http-body-util", - "hyper 1.4.1", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" -dependencies = [ - "bytes 1.7.2", - "futures-channel", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "hyper 1.4.1", - "pin-project-lite", - "socket2 0.5.7", - "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", -] - -[[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 = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata 0.4.8", - "same-file", - "walkdir", - "winapi-util", -] - -[[package]] -name = "im" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" -dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "sized-chunks", - "typenum", - "version_check", -] - -[[package]] -name = "image" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" -dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-traits", - "png", -] - -[[package]] -name = "impl-codec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" -dependencies = [ - "parity-scale-codec 2.3.1", -] - -[[package]] -name = "impl-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" -dependencies = [ - "parity-scale-codec 3.6.12", -] - -[[package]] -name = "impl-serde" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "include_dir" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b56e147e6187d61e9d0f039f10e070d0c0a887e24fe0bb9ca3f29bfde62cab" -dependencies = [ - "glob", - "include_dir_impl", - "proc-macro-hack", -] - -[[package]] -name = "include_dir_impl" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a0c890c85da4bab7bce4204c707396bbd3c6c8a681716a51c8814cfc2b682df" -dependencies = [ - "anyhow", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - -[[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.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" -dependencies = [ - "equivalent", - "hashbrown 0.15.0", - "serde", -] - -[[package]] -name = "indoc" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" - -[[package]] -name = "inferno" -version = "0.11.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" -dependencies = [ - "ahash 0.8.11", - "clap 4.5.19", - "crossbeam-channel", - "crossbeam-utils", - "dashmap 6.1.0", - "env_logger", - "indexmap 2.6.0", - "is-terminal", - "itoa", - "log", - "num-format", - "once_cell", - "quick-xml 0.26.0", - "rgb", - "str_stack", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "block-padding 0.3.3", - "generic-array", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "integer-encoding" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" - -[[package]] -name = "internment" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab388864246d58a276e60e7569a833d9cc4cd75c66e5ca77c177dad38e59996" -dependencies = [ - "ahash 0.7.8", - "dashmap 5.5.3", - "hashbrown 0.12.3", - "once_cell", - "parking_lot", -] - -[[package]] -name = "interprocess" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f4e4a06d42fab3e85ab1b419ad32b09eab58b901d40c57935ff92db3287a13" -dependencies = [ - "doctest-file", - "futures-core", - "libc", - "recvmsg", - "tokio", - "widestring 1.1.0", - "windows-sys 0.52.0", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ipnet" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" - -[[package]] -name = "iprange" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37209be0ad225457e63814401415e748e2453a5297f9b637338f5fb8afa4ec00" -dependencies = [ - "ipnet", -] - -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "is_debug" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06d198e9919d9822d5f7083ba8530e04de87841eaf21ead9af8f2304efd57c89" - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jemalloc-sys" -version = "0.5.4+5.3.0-patched" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "jemallocator" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc" -dependencies = [ - "jemalloc-sys", - "libc", -] - -[[package]] -name = "jni" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" -dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "jsonrpsee" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138572befc78a9793240645926f30161f8b4143d2be18d09e44ed9814bd7ee2c" -dependencies = [ - "jsonrpsee-types 0.20.4", -] - -[[package]] -name = "jsonrpsee" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126b48a5acc3c52fbd5381a77898cb60e145123179588a29e7ac48f9c06e401b" -dependencies = [ - "jsonrpsee-core", - "jsonrpsee-http-client", - "jsonrpsee-proc-macros", - "jsonrpsee-types 0.24.5", - "jsonrpsee-ws-client", - "tracing", -] - -[[package]] -name = "jsonrpsee-client-transport" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf679a8e0e083c77997f7c4bb4ca826577105906027ae462aac70ff348d02c6a" -dependencies = [ - "base64 0.22.1", - "futures-util", - "http 1.1.0", - "jsonrpsee-core", - "pin-project 1.1.5", - "rustls 0.23.13", - "rustls-pki-types", - "rustls-platform-verifier", - "soketto", - "thiserror", - "tokio", - "tokio-rustls 0.26.0", - "tokio-util", - "tracing", - "url", -] - -[[package]] -name = "jsonrpsee-core" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e503369a76e195b65af35058add0e6900b794a4e9a9316900ddd3a87a80477" -dependencies = [ - "async-trait", - "bytes 1.7.2", - "futures-timer", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "jsonrpsee-types 0.24.5", - "pin-project 1.1.5", - "rustc-hash 2.0.0", - "serde", - "serde_json", - "thiserror", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "jsonrpsee-http-client" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c0caba4a6a8efbafeec9baa986aa22a75a96c29d3e4b0091b0098d6470efb5" -dependencies = [ - "async-trait", - "base64 0.22.1", - "http-body 1.0.1", - "hyper 1.4.1", - "hyper-rustls 0.27.3", - "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types 0.24.5", - "rustls 0.23.13", - "rustls-platform-verifier", - "serde", - "serde_json", - "thiserror", - "tokio", - "tower", - "tracing", - "url", -] - -[[package]] -name = "jsonrpsee-proc-macros" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc660a9389e2748e794a40673a4155d501f32db667757cdb80edeff0306b489b" -dependencies = [ - "heck 0.5.0", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "jsonrpsee-types" -version = "0.20.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3264e339143fe37ed081953842ee67bfafa99e3b91559bdded6e4abd8fc8535e" -dependencies = [ - "anyhow", - "beef", - "serde", - "serde_json", - "thiserror", - "tracing", -] - -[[package]] -name = "jsonrpsee-types" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8fb16314327cbc94fdf7965ef7e4422509cd5597f76d137bd104eb34aeede67" -dependencies = [ - "http 1.1.0", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "jsonrpsee-ws-client" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39aabf5d6c6f22da8d5b808eea1fab0736059f11fb42f71f141b14f404e5046a" -dependencies = [ - "http 1.1.0", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types 0.24.5", - "url", -] - -[[package]] -name = "jsonwebtoken" -version = "7.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afabcc15e437a6484fc4f12d0fd63068fe457bf93f1c148d3d9649c60b103f32" -dependencies = [ - "base64 0.12.3", - "pem 0.8.3", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1 0.4.1", -] - -[[package]] -name = "jsonwebtoken" -version = "8.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" -dependencies = [ - "base64 0.21.7", - "pem 1.1.1", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1 0.6.2", -] - -[[package]] -name = "jsonwebtoken" -version = "9.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" -dependencies = [ - "base64 0.21.7", - "js-sys", - "pem 3.0.4", - "ring 0.17.8", - "serde", - "serde_json", - "simple_asn1 0.6.2", -] - -[[package]] -name = "k256" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" -dependencies = [ - "cfg-if", - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "once_cell", - "sha2 0.10.8", - "signature 2.2.0", -] - -[[package]] -name = "kanal" -version = "0.1.0-pre8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05d55519627edaf7fd0f29981f6dc03fb52df3f5b257130eb8d0bf2801ea1d7" -dependencies = [ - "futures-core", - "lock_api", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "keccak-asm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" -dependencies = [ - "digest 0.10.7", - "sha3-asm", -] - -[[package]] -name = "keccak-hash" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b286e6b663fb926e1eeb68528e69cb70ed46c6d65871a21b2215ae8154c6d3c" -dependencies = [ - "primitive-types 0.12.2", - "tiny-keccak", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin 0.9.8", -] - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "ledger-apdu" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe435806c197dfeaa5efcded5e623c4b8230fd28fdf1e91e7a86e40ef2acbf90" -dependencies = [ - "arrayref", - "no-std-compat", - "snafu", -] - -[[package]] -name = "ledger-transport" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1117f2143d92c157197785bf57711d7b02f2cfa101e162f8ca7900fb7f976321" -dependencies = [ - "async-trait", - "ledger-apdu", -] - -[[package]] -name = "ledger-transport-hid" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ba81a1f5f24396b37211478aff7fbcd605dd4544df8dbed07b9da3c2057aee" -dependencies = [ - "byteorder", - "cfg-if", - "hex", - "hidapi", - "ledger-transport", - "libc", - "log", - "thiserror", -] - -[[package]] -name = "leopard-codec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee58dbc414bd23885d7da915e0457618b36d1fc950a6169ef2cb29829d1b1a1d" -dependencies = [ - "bytes 1.7.2", - "lazy_static", - "thiserror", -] - -[[package]] -name = "libc" -version = "0.2.159" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" - -[[package]] -name = "libgit2-sys" -version = "0.14.2+1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] - -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libp2p-identity" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" -dependencies = [ - "bs58", - "hkdf 0.12.4", - "multihash", - "quick-protobuf", - "sha2 0.10.8", - "thiserror", - "tracing", -] - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall", -] - -[[package]] -name = "librocksdb-sys" -version = "0.16.0+8.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c" -dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "lz4-sys", - "zstd-sys", -] - -[[package]] -name = "libsecp256k1" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" -dependencies = [ - "arrayref", - "base64 0.13.1", - "digest 0.9.0", - "hmac-drbg", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.8.5", - "serde", - "sha2 0.9.9", - "typenum", -] - -[[package]] -name = "libsecp256k1-core" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", -] - -[[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libusb1-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da050ade7ac4ff1ba5379af847a10a10a8e284181e060105bf8d86960ce9ce0f" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libz-sys" -version = "1.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - -[[package]] -name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[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 = "lodepng" -version = "3.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2dea7cda68e381418c985fd8f32a9c279a21ae8c715f2376adb20c27a0fad3" -dependencies = [ - "crc32fast", - "flate2", - "libc", - "rgb", -] - -[[package]] -name = "log" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -dependencies = [ - "serde", -] - -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown 0.12.3", -] - -[[package]] -name = "lru" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17" -dependencies = [ - "hashbrown 0.13.2", -] - -[[package]] -name = "lru" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "lz4" -version = "1.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" -dependencies = [ - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.11.1+lz4-1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "lz4_flex" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" -dependencies = [ - "twox-hash", -] - -[[package]] -name = "m1-da-light-node" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-stream", - "bcs 0.1.4", - "celestia-rpc", - "celestia-types", - "chrono", - "dot-movement", - "futures", - "godfig", - "hex", - "m1-da-light-node-grpc", - "m1-da-light-node-util", - "m1-da-light-node-verifier", - "memseq", - "movement-algs", - "movement-tracing", - "movement-types", - "prost 0.12.6", - "serde", - "serde_json", - "tempfile", - "tokio", - "tokio-stream", - "tonic 0.11.0", - "tonic-reflection", - "tonic-web", - "tracing", - "zstd 0.13.2", -] - -[[package]] -name = "m1-da-light-node-client" -version = "0.0.2" -dependencies = [ - "anyhow", - "m1-da-light-node-grpc", - "movement-types", - "serde_json", - "tokio", - "tokio-stream", -] - -[[package]] -name = "m1-da-light-node-grpc" -version = "0.0.2" -dependencies = [ - "buildtime", - "prost 0.12.6", - "tonic 0.11.0", - "tonic-build", - "tonic-reflection", - "tonic-web", -] - -[[package]] -name = "m1-da-light-node-runners" -version = "0.0.2" -dependencies = [ - "anyhow", - "commander", - "dot-movement", - "godfig", - "hex", - "m1-da-light-node-util", - "rand 0.7.3", - "reqwest 0.12.8", - "serde", - "serde_json", - "tempfile", - "tokio", - "tokio-stream", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "m1-da-light-node-setup" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-recursion", - "celestia-rpc", - "celestia-types", - "commander", - "dot-movement", - "godfig", - "hex", - "m1-da-light-node-util", - "rand 0.7.3", - "reqwest 0.12.8", - "serde", - "serde_json", - "tempfile", - "tokio", - "tokio-stream", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "m1-da-light-node-util" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-stream", - "celestia-rpc", - "celestia-types", - "dot-movement", - "godfig", - "hex", - "jsonrpsee 0.20.4", - "m1-da-light-node-grpc", - "memseq-util", - "prost 0.12.6", - "serde", - "serde_derive", - "serde_json", - "tempfile", - "tokio", - "tokio-stream", - "toml 0.8.19", - "tonic 0.11.0", - "tonic-reflection", - "tonic-web", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "m1-da-light-node-verifier" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-stream", - "celestia-rpc", - "celestia-types", - "dot-movement", - "hex", - "m1-da-light-node-grpc", - "m1-da-light-node-setup", - "m1-da-light-node-util", - "prost 0.12.6", - "serde_json", - "tokio", - "tokio-stream", - "tonic 0.11.0", - "tonic-reflection", - "tonic-web", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - -[[package]] -name = "maptos-dof-execution" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-api", - "aptos-config", - "aptos-crypto", - "aptos-db", - "aptos-mempool", - "aptos-proptest-helpers", - "aptos-sdk", - "aptos-types", - "async-trait", - "chrono", - "futures", - "maptos-execution-util", - "maptos-fin-view", - "maptos-opt-executor", - "movement-types", - "rand 0.7.3", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "maptos-execution-util" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-crypto", - "aptos-sdk", - "aptos-types", - "godfig", - "hex", - "m1-da-light-node-util", - "rand 0.7.3", - "serde", - "serde_derive", - "serde_json", - "tempfile", - "toml 0.8.19", -] - -[[package]] -name = "maptos-fin-view" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-api", - "aptos-config", - "aptos-mempool", - "aptos-sdk", - "aptos-storage-interface", - "aptos-types", - "chrono", - "futures", - "maptos-execution-util", - "maptos-opt-executor", - "poem", - "rand 0.7.3", - "tokio", - "tracing", -] - -[[package]] -name = "maptos-opt-executor" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-api", - "aptos-api-types", - "aptos-bitvec", - "aptos-block-executor", - "aptos-cached-packages", - "aptos-config", - "aptos-consensus-types", - "aptos-crypto", - "aptos-db", - "aptos-executor", - "aptos-executor-test-helpers", - "aptos-executor-types", - "aptos-faucet-core", - "aptos-framework", - "aptos-indexer", - "aptos-indexer-grpc-fullnode", - "aptos-indexer-grpc-table-info", - "aptos-language-e2e-tests", - "aptos-logger", - "aptos-mempool", - "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", - "aptos-sdk", - "aptos-storage-interface", - "aptos-temppath", - "aptos-types", - "aptos-vm", - "aptos-vm-genesis", - "aptos-vm-logging", - "aptos-vm-types", - "aptos-vm-validator", - "async-trait", - "bcs 0.1.4", - "borsh 0.10.4", - "bytes 1.7.2", - "chrono", - "clap 4.5.19", - "derive_more", - "dirs", - "fail", - "futures", - "hex", - "lazy_static", - "maptos-execution-util", - "movement-rest", - "movement-types", - "poem", - "poem-openapi", - "rand 0.7.3", - "rand_core 0.5.1", - "schemars", - "serde", - "serde_json", - "tempfile", - "thiserror", - "tokio", - "tonic 0.11.0", - "tracing", - "tracing-test", -] - -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "mcr-settlement-client" -version = "0.0.2" -dependencies = [ - "alloy", - "alloy-contract", - "alloy-network", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types", - "alloy-signer", - "alloy-sol-types", - "alloy-transport", - "alloy-transport-ws", - "anyhow", - "async-stream", - "async-trait", - "dot-movement", - "futures", - "godfig", - "mcr-settlement-config", - "movement-types", - "serde", - "serde_json", - "thiserror", - "tokio", - "tokio-stream", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "mcr-settlement-config" -version = "0.0.2" -dependencies = [ - "alloy", - "anyhow", - "godfig", - "serde", -] - -[[package]] -name = "mcr-settlement-manager" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-stream", - "async-trait", - "futures", - "mcr-settlement-client", - "mcr-settlement-config", - "movement-types", - "serde_json", - "tokio", - "tokio-stream", -] - -[[package]] -name = "mcr-settlement-runner" -version = "0.0.2" -dependencies = [ - "alloy-primitives", - "anyhow", - "commander", - "dot-movement", - "godfig", - "k256", - "mcr-settlement-client", - "mcr-settlement-config", - "mcr-settlement-setup", - "rand 0.7.3", - "serde_json", - "tokio", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "mcr-settlement-setup" -version = "0.0.2" -dependencies = [ - "alloy", - "alloy-primitives", - "anyhow", - "commander", - "dot-movement", - "godfig", - "k256", - "mcr-settlement-client", - "mcr-settlement-config", - "rand 0.7.3", - "serde_json", - "tokio", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest 0.10.7", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "mempool-util" -version = "0.0.2" -dependencies = [ - "anyhow", - "movement-types", - "serde", -] - -[[package]] -name = "memseq" -version = "0.0.2" -dependencies = [ - "anyhow", - "dot-movement", - "futures", - "mempool-util", - "memseq-util", - "move-rocks", - "movement-types", - "sequencing-util", - "serde", - "serde_derive", - "tempfile", - "tokio", - "toml 0.8.19", - "tracing", -] - -[[package]] -name = "memseq-util" -version = "0.0.2" -dependencies = [ - "anyhow", - "dot-movement", - "futures", - "godfig", - "serde", - "serde_derive", - "tempfile", - "toml 0.8.19", -] - -[[package]] -name = "merlin" -version = "3.0.0" -source = "git+https://github.com/aptos-labs/merlin#3454ccc85e37355c729ba40e6dac6e867ddf59f5" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.6.4", - "zeroize", -] - -[[package]] -name = "migrations_internals" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f23f71580015254b020e856feac3df5878c2c7a8812297edd6c0a485ac9dada" -dependencies = [ - "serde", - "toml 0.7.8", -] - -[[package]] -name = "migrations_macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce3325ac70e67bbab5bd837a31cae01f1a6db64e0e744a33cb03a543469ef08" -dependencies = [ - "migrations_internals", - "proc-macro2", - "quote", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime_guess" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "mini-moka" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" -dependencies = [ - "crossbeam-channel", - "crossbeam-utils", - "dashmap 5.5.3", - "skeptic", - "smallvec", - "tagptr", - "triomphe", -] - -[[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.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", -] - -[[package]] -name = "mio" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", -] - -[[package]] -name = "mirai-annotations" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" - -[[package]] -name = "more-asserts" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" - -[[package]] -name = "move-abigen" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "heck 0.4.1", - "log", - "move-binary-format", - "move-bytecode-verifier", - "move-command-line-common", - "move-core-types", - "move-model", - "serde", -] - -[[package]] -name = "move-binary-format" -version = "0.0.3" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "backtrace", - "indexmap 1.9.3", - "move-bytecode-spec", - "move-core-types", - "ref-cast", - "serde", - "variant_count", -] - -[[package]] -name = "move-borrow-graph" -version = "0.0.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" - -[[package]] -name = "move-bytecode-source-map" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "move-binary-format", - "move-command-line-common", - "move-core-types", - "move-ir-types", - "move-symbol-pool", - "serde", -] - -[[package]] -name = "move-bytecode-spec" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "once_cell", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "move-bytecode-utils" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "move-binary-format", - "move-core-types", - "petgraph 0.5.1", - "serde-reflection", -] - -[[package]] -name = "move-bytecode-verifier" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "fail", - "move-binary-format", - "move-borrow-graph", - "move-core-types", - "petgraph 0.5.1", - "serde", - "typed-arena", -] - -[[package]] -name = "move-bytecode-viewer" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "clap 4.5.19", - "crossterm 0.26.1", - "move-binary-format", - "move-bytecode-source-map", - "move-disassembler", - "regex", - "tui", -] - -[[package]] -name = "move-cli" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "clap 4.5.19", - "codespan-reporting", - "colored", - "move-binary-format", - "move-bytecode-viewer", - "move-command-line-common", - "move-compiler", - "move-compiler-v2", - "move-core-types", - "move-coverage", - "move-disassembler", - "move-docgen", - "move-errmapgen", - "move-model", - "move-package", - "move-prover", - "move-stdlib", - "move-unit-test", - "move-vm-runtime", - "move-vm-test-utils", - "once_cell", - "tempfile", -] - -[[package]] -name = "move-command-line-common" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "difference", - "dirs-next", - "hex", - "move-core-types", - "num-bigint 0.3.3", - "once_cell", - "serde", - "sha2 0.9.9", - "walkdir", -] - -[[package]] -name = "move-compiler" -version = "0.0.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "clap 4.5.19", - "codespan-reporting", - "hex", - "move-binary-format", - "move-borrow-graph", - "move-bytecode-source-map", - "move-bytecode-verifier", - "move-command-line-common", - "move-core-types", - "move-ir-to-bytecode", - "move-ir-types", - "move-symbol-pool", - "once_cell", - "petgraph 0.5.1", - "regex", - "sha3", - "tempfile", -] - -[[package]] -name = "move-compiler-v2" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "abstract-domain-derive", - "anyhow", - "bcs 0.1.4", - "clap 4.5.19", - "codespan-reporting", - "ethnum", - "flexi_logger", - "im", - "itertools 0.12.1", - "log", - "move-binary-format", - "move-bytecode-source-map", - "move-bytecode-verifier", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-disassembler", - "move-ir-types", - "move-model", - "move-stackless-bytecode", - "move-symbol-pool", - "num", - "once_cell", - "petgraph 0.5.1", -] - -[[package]] -name = "move-core-types" -version = "0.0.4" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "arbitrary", - "bcs 0.1.4", - "bytes 1.7.2", - "ethnum", - "hashbrown 0.14.5", - "hex", - "num", - "once_cell", - "primitive-types 0.10.1", - "proptest", - "proptest-derive", - "rand 0.8.5", - "ref-cast", - "serde", - "serde_bytes", - "thiserror", - "uint", -] - -[[package]] -name = "move-coverage" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "clap 4.5.19", - "codespan", - "colored", - "move-binary-format", - "move-bytecode-source-map", - "move-command-line-common", - "move-core-types", - "move-ir-types", - "petgraph 0.5.1", - "serde", -] - -[[package]] -name = "move-disassembler" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "clap 4.5.19", - "colored", - "move-binary-format", - "move-bytecode-source-map", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-coverage", - "move-ir-types", -] - -[[package]] -name = "move-docgen" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "clap 4.5.19", - "codespan", - "codespan-reporting", - "itertools 0.12.1", - "log", - "move-compiler", - "move-core-types", - "move-model", - "once_cell", - "regex", - "serde", -] - -[[package]] -name = "move-errmapgen" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "move-command-line-common", - "move-core-types", - "move-model", - "serde", -] - -[[package]] -name = "move-ir-compiler" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "clap 4.5.19", - "move-binary-format", - "move-bytecode-source-map", - "move-bytecode-verifier", - "move-command-line-common", - "move-ir-to-bytecode", - "serde_json", -] - -[[package]] -name = "move-ir-to-bytecode" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "codespan-reporting", - "log", - "move-binary-format", - "move-bytecode-source-map", - "move-command-line-common", - "move-core-types", - "move-ir-to-bytecode-syntax", - "move-ir-types", - "move-symbol-pool", - "ouroboros", -] - -[[package]] -name = "move-ir-to-bytecode-syntax" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "hex", - "move-command-line-common", - "move-core-types", - "move-ir-types", - "move-symbol-pool", -] - -[[package]] -name = "move-ir-types" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "hex", - "move-command-line-common", - "move-core-types", - "move-symbol-pool", - "once_cell", - "serde", -] - -[[package]] -name = "move-model" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "codespan", - "codespan-reporting", - "internment", - "itertools 0.12.1", - "log", - "move-binary-format", - "move-bytecode-source-map", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-disassembler", - "move-ir-types", - "move-symbol-pool", - "num", - "num-traits", - "once_cell", - "regex", - "serde", -] - -[[package]] -name = "move-package" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "clap 4.5.19", - "colored", - "itertools 0.12.1", - "move-abigen", - "move-binary-format", - "move-bytecode-source-map", - "move-bytecode-utils", - "move-command-line-common", - "move-compiler", - "move-compiler-v2", - "move-core-types", - "move-docgen", - "move-model", - "move-symbol-pool", - "named-lock", - "once_cell", - "petgraph 0.5.1", - "regex", - "serde", - "serde_yaml 0.8.26", - "sha2 0.9.9", - "tempfile", - "termcolor", - "toml 0.7.8", - "walkdir", - "whoami", -] - -[[package]] -name = "move-prover" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "atty", - "clap 4.5.19", - "codespan-reporting", - "itertools 0.12.1", - "log", - "move-abigen", - "move-command-line-common", - "move-compiler", - "move-compiler-v2", - "move-docgen", - "move-errmapgen", - "move-model", - "move-prover-boogie-backend", - "move-prover-bytecode-pipeline", - "move-stackless-bytecode", - "once_cell", - "serde", - "simplelog", - "toml 0.7.8", -] - -[[package]] -name = "move-prover-boogie-backend" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "async-trait", - "codespan", - "codespan-reporting", - "futures", - "itertools 0.12.1", - "log", - "move-binary-format", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-model", - "move-prover-bytecode-pipeline", - "move-stackless-bytecode", - "num", - "once_cell", - "pretty", - "rand 0.7.3", - "regex", - "serde", - "tera", - "tokio", -] - -[[package]] -name = "move-prover-bytecode-pipeline" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "abstract-domain-derive", - "anyhow", - "codespan-reporting", - "itertools 0.12.1", - "log", - "move-binary-format", - "move-core-types", - "move-model", - "move-stackless-bytecode", - "serde", -] - -[[package]] -name = "move-resource-viewer" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "hex", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "serde", -] - -[[package]] -name = "move-rocks" -version = "0.0.2" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "mempool-util", - "movement-types", - "rand 0.7.3", - "rocksdb", - "tempfile", - "tokio", -] - -[[package]] -name = "move-stackless-bytecode" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "abstract-domain-derive", - "codespan-reporting", - "ethnum", - "im", - "itertools 0.12.1", - "log", - "move-binary-format", - "move-core-types", - "move-model", - "num", - "paste", - "petgraph 0.5.1", -] - -[[package]] -name = "move-stdlib" -version = "0.1.1" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "hex", - "log", - "move-binary-format", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-docgen", - "move-errmapgen", - "move-prover", - "move-vm-runtime", - "move-vm-types", - "sha2 0.9.9", - "sha3", - "smallvec", - "walkdir", -] - -[[package]] -name = "move-symbol-pool" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "once_cell", - "serde", -] - -[[package]] -name = "move-table-extension" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "better_any", - "bytes 1.7.2", - "move-binary-format", - "move-core-types", - "move-vm-runtime", - "move-vm-types", - "sha3", - "smallvec", -] - -[[package]] -name = "move-unit-test" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "better_any", - "clap 4.5.19", - "codespan-reporting", - "colored", - "itertools 0.12.1", - "move-binary-format", - "move-bytecode-utils", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-ir-types", - "move-resource-viewer", - "move-stdlib", - "move-symbol-pool", - "move-table-extension", - "move-vm-runtime", - "move-vm-test-utils", - "once_cell", - "rayon", - "regex", -] - -[[package]] -name = "move-vm-runtime" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "better_any", - "bytes 1.7.2", - "fail", - "hashbrown 0.14.5", - "lazy_static", - "lru 0.7.8", - "move-binary-format", - "move-bytecode-verifier", - "move-core-types", - "move-vm-types", - "once_cell", - "parking_lot", - "serde", - "sha3", - "tracing", - "triomphe", - "typed-arena", -] - -[[package]] -name = "move-vm-test-utils" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "anyhow", - "bytes 1.7.2", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "move-vm-types", - "once_cell", - "serde", -] - -[[package]] -name = "move-vm-types" -version = "0.1.0" -source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" -dependencies = [ - "bcs 0.1.4", - "derivative", - "itertools 0.12.1", - "move-binary-format", - "move-core-types", - "serde", - "smallbitvec", - "smallvec", - "triomphe", -] - -[[package]] -name = "movement-algs" -version = "0.0.2" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "movement-types", - "tokio", -] - -[[package]] -name = "movement-rest" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-api", - "futures", - "poem", - "tokio", - "tracing", -] - -[[package]] -name = "movement-tracing" -version = "0.0.2" -dependencies = [ - "tracing-appender", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "movement-types" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-types", - "bcs 0.1.4", - "blake3", - "rand 0.7.3", - "serde", - "serde_with", - "sha2 0.10.8", - "tokio", -] - -[[package]] -name = "multer" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" -dependencies = [ - "bytes 1.7.2", - "encoding_rs", - "futures-util", - "http 0.2.12", - "httparse", - "log", - "memchr", - "mime", - "spin 0.9.8", - "tokio", - "version_check", -] - -[[package]] -name = "multiaddr" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" -dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "libp2p-identity", - "multibase", - "multihash", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint 0.8.0", - "url", -] - -[[package]] -name = "multibase" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" -dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", -] - -[[package]] -name = "multihash" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" -dependencies = [ - "core2", - "unsigned-varint 0.7.2", -] - -[[package]] -name = "multimap" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" - -[[package]] -name = "named-lock" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a3eb6b7c682b65d1f631ec3176829d72ab450b3aacdd3f719bf220822e59ac" -dependencies = [ - "libc", - "once_cell", - "parking_lot", - "thiserror", - "widestring 0.5.1", - "winapi 0.3.9", -] - -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "neptune" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06626c9ac04c894e9a23d061ba1309f28506cdc5fe64156d28a15fb57fc8e438" -dependencies = [ - "bellpepper", - "bellpepper-core", - "blake2s_simd", - "blstrs", - "byteorder", - "ff 0.13.0", - "generic-array", - "log", - "pasta_curves", - "serde", - "trait-set", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", -] - -[[package]] -name = "nix" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "libc", -] - -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "nmt-rs" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e408e823bdc9b4bb525a61b44e846239833a8f9bd86c03a43e4ca314a5497582" -dependencies = [ - "borsh 1.5.1", - "bytes 1.7.2", - "serde", - "sha2 0.10.8", -] - -[[package]] -name = "no-std-compat" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" - -[[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 = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi 0.3.9", -] - -[[package]] -name = "nu-ansi-term" -version = "0.49.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68" -dependencies = [ - "windows-sys 0.48.0", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint 0.4.6", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", - "rand 0.7.3", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num-format" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" -dependencies = [ - "arrayvec 0.7.6", - "itoa", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint 0.4.6", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - -[[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-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - -[[package]] -name = "number_range" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60080faccd4ca50ad0b801b2be686136376b13f691f6eac84817e40973b2e1bb" -dependencies = [ - "anyhow", - "itertools 0.10.5", - "num", -] - -[[package]] -name = "object" -version = "0.36.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" -dependencies = [ - "portable-atomic", -] - -[[package]] -name = "oorandom" -version = "11.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "openssl" -version = "0.10.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types 0.3.2", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - -[[package]] -name = "ordered-float" -version = "3.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" -dependencies = [ - "num-traits", -] - -[[package]] -name = "ouroboros" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" -dependencies = [ - "aliasable", - "ouroboros_macro", -] - -[[package]] -name = "ouroboros_macro" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" -dependencies = [ - "Inflector", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "outref" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "p256" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" -dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.8", -] - -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder", - "sha2 0.10.8", -] - -[[package]] -name = "p384" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" -dependencies = [ - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder", - "sha2 0.10.8", -] - -[[package]] -name = "pairing" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" -dependencies = [ - "group 0.13.0", -] - -[[package]] -name = "parity-scale-codec" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" -dependencies = [ - "arrayvec 0.7.6", - "bitvec 0.20.4", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive 2.3.1", - "serde", -] - -[[package]] -name = "parity-scale-codec" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" -dependencies = [ - "arrayvec 0.7.6", - "bitvec 1.0.1", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive 3.6.12", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[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 = "parquet" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e977b9066b4d3b03555c22bdc442f3fadebd96a39111249113087d0edb2691cd" -dependencies = [ - "ahash 0.8.11", - "bytes 1.7.2", - "chrono", - "futures", - "half 2.4.1", - "hashbrown 0.14.5", - "lz4_flex", - "num", - "num-bigint 0.4.6", - "paste", - "seq-macro", - "thrift", - "tokio", - "twox-hash", -] - -[[package]] -name = "parquet_derive" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e57262f900bc3e93755be67e0fc4e2fcdae416b563472528e413c6e0a52ee81" -dependencies = [ - "parquet", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "parse-zoneinfo" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" -dependencies = [ - "regex", -] - -[[package]] -name = "passkey-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "499cff8432e71c5f8784d9645aac0f9fca604d67f59b68a606170b5e229c6538" -dependencies = [ - "bitflags 2.6.0", - "ciborium", - "coset", - "data-encoding", - "indexmap 2.6.0", - "rand 0.8.5", - "serde", - "serde_json", - "sha2 0.10.8", - "strum 0.25.0", - "typeshare", -] - -[[package]] -name = "pasta_curves" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" -dependencies = [ - "blake2b_simd", - "ff 0.13.0", - "group 0.13.0", - "hex", - "lazy_static", - "rand 0.8.5", - "serde", - "static_assertions", - "subtle", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pbjson" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048f9ac93c1eab514f9470c4bc8d97ca2a0a236b84f45cc19d69a59fc11467f6" -dependencies = [ - "base64 0.13.1", - "serde", -] - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac 0.8.0", -] - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac 0.12.1", -] - -[[package]] -name = "pem" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd56cbd21fea48d0c440b41cd69c589faacade08c992d9a54e471b79d0fd13eb" -dependencies = [ - "base64 0.13.1", - "once_cell", - "regex", -] - -[[package]] -name = "pem" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" -dependencies = [ - "base64 0.13.1", -] - -[[package]] -name = "pem" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" -dependencies = [ - "base64 0.22.1", - "serde", -] - -[[package]] -name = "pem-rfc7468" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30" -dependencies = [ - "base64ct", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pest" -version = "2.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" -dependencies = [ - "memchr", - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "pest_meta" -version = "2.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" -dependencies = [ - "once_cell", - "pest", - "sha2 0.10.8", -] - -[[package]] -name = "petgraph" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" -dependencies = [ - "fixedbitset 0.2.0", - "indexmap 1.9.3", -] - -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset 0.4.2", - "indexmap 2.6.0", -] - -[[package]] -name = "pharos" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" -dependencies = [ - "futures", - "rustc_version 0.4.1", -] - -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_codegen" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" -dependencies = [ - "phf_generator", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared", - "rand 0.8.5", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef0f924a5ee7ea9cbcea77529dba45f8a9ba9f622419fe3386ca581a3ae9d5a" -dependencies = [ - "pin-project-internal 0.4.30", -] - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal 1.1.5", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs1" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320" -dependencies = [ - "der 0.5.1", - "pkcs8 0.8.0", - "zeroize", -] - -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der 0.7.9", - "pkcs8 0.10.2", - "spki 0.7.3", -] - -[[package]] -name = "pkcs8" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" -dependencies = [ - "der 0.5.1", - "spki 0.5.4", - "zeroize", -] - -[[package]] -name = "pkcs8" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" -dependencies = [ - "der 0.6.1", - "spki 0.6.0", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der 0.7.9", - "spki 0.7.3", -] - -[[package]] -name = "pkg-config" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" - -[[package]] -name = "plotters" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" - -[[package]] -name = "plotters-svg" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "png" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "poem" -version = "1.3.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504774c97b0744c1ee108a37e5a65a9745a4725c4c06277521dabc28eb53a904" -dependencies = [ - "anyhow", - "async-trait", - "bytes 1.7.2", - "chrono", - "cookie", - "futures-util", - "headers", - "http 0.2.12", - "hyper 0.14.30", - "mime", - "multer", - "nix 0.27.1", - "parking_lot", - "percent-encoding", - "pin-project-lite", - "poem-derive", - "quick-xml 0.30.0", - "regex", - "rfc7239", - "rustls-pemfile 1.0.4", - "serde", - "serde_json", - "serde_urlencoded", - "smallvec", - "sse-codec", - "tempfile", - "thiserror", - "time", - "tokio", - "tokio-rustls 0.24.1", - "tokio-stream", - "tokio-util", - "tracing", - "wildmatch", -] - -[[package]] -name = "poem-derive" -version = "1.3.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ddcf4680d8d867e1e375116203846acb088483fa2070244f90589f458bbb31" -dependencies = [ - "proc-macro-crate 2.0.0", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "poem-openapi" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69c569eb0671cc85e65cfb6bd960d0168d24732ff58825227b4d2a10167ba91" -dependencies = [ - "base64 0.13.1", - "bytes 1.7.2", - "derive_more", - "futures-util", - "mime", - "num-traits", - "poem", - "poem-openapi-derive", - "quick-xml 0.23.1", - "regex", - "serde", - "serde_json", - "serde_urlencoded", - "serde_yaml 0.9.34+deprecated", - "thiserror", - "tokio", - "url", -] - -[[package]] -name = "poem-openapi-derive" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "274cf13f710999977a3c1e396c2a5000d104075a7127ce6470fbdae4706be621" -dependencies = [ - "darling 0.14.4", - "http 0.2.12", - "indexmap 1.9.3", - "mime", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "polling" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "concurrent-queue", - "libc", - "log", - "pin-project-lite", - "windows-sys 0.48.0", -] - -[[package]] -name = "polyval" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "portable-atomic" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" - -[[package]] -name = "poseidon-ark" -version = "0.0.1" -source = "git+https://github.com/arnaucube/poseidon-ark.git?rev=6d2487aa1308d9d3860a2b724c485d73095c1c68#6d2487aa1308d9d3860a2b724c485d73095c1c68" -dependencies = [ - "ark-bn254", - "ark-ff 0.4.2", - "ark-std 0.4.0", -] - -[[package]] -name = "postgres-native-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d442770e2b1e244bb5eb03b31c79b65bb2568f413b899eaba850fa945a65954" -dependencies = [ - "futures", - "native-tls", - "tokio", - "tokio-native-tls", - "tokio-postgres", -] - -[[package]] -name = "postgres-protocol" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acda0ebdebc28befa84bee35e651e4c5f09073d668c7aed4cf7e23c3cda84b23" -dependencies = [ - "base64 0.22.1", - "byteorder", - "bytes 1.7.2", - "fallible-iterator", - "hmac 0.12.1", - "md-5", - "memchr", - "rand 0.8.5", - "sha2 0.10.8", - "stringprep", -] - -[[package]] -name = "postgres-types" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66ea23a2d0e5734297357705193335e0a957696f34bed2f2faefacb2fec336f" -dependencies = [ - "bytes 1.7.2", - "fallible-iterator", - "postgres-protocol", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "pprof" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196ded5d4be535690899a4631cc9f18cdc41b7ebf24a79400f46f48e49a11059" -dependencies = [ - "backtrace", - "cfg-if", - "findshlibs", - "inferno", - "libc", - "log", - "nix 0.26.4", - "once_cell", - "parking_lot", - "protobuf", - "protobuf-codegen-pure", - "smallvec", - "symbolic-demangle", - "tempfile", - "thiserror", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "pq-sys" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0052426df997c0cbd30789eb44ca097e3541717a7b8fa36b1c464ee7edebd" -dependencies = [ - "vcpkg", -] - -[[package]] -name = "pretty" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad9940b913ee56ddd94aec2d3cd179dd47068236f42a1a6415ccf9d880ce2a61" -dependencies = [ - "arrayvec 0.5.2", - "typed-arena", -] - -[[package]] -name = "prettyplease" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" -dependencies = [ - "proc-macro2", - "syn 2.0.79", -] - -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve 0.13.8", -] - -[[package]] -name = "primitive-types" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" -dependencies = [ - "fixed-hash 0.7.0", - "impl-codec 0.5.1", - "impl-serde", - "uint", -] - -[[package]] -name = "primitive-types" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" -dependencies = [ - "fixed-hash 0.8.0", - "impl-codec 0.6.0", - "uint", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml 0.5.11", -] - -[[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.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" -dependencies = [ - "toml_edit 0.22.22", -] - -[[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-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "processor" -version = "1.0.0" -source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e#8e83cde3cb75fabdade9485e0af680cc4b73ca8e" -dependencies = [ - "ahash 0.8.11", - "allocative", - "allocative_derive", - "anyhow", - "aptos-moving-average 0.1.0 (git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e)", - "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0)", - "async-trait", - "bcs 0.1.4", - "bigdecimal", - "bitflags 2.6.0", - "canonical_json", - "chrono", - "clap 4.5.19", - "diesel", - "diesel-async", - "diesel_migrations", - "enum_dispatch", - "field_count", - "futures", - "futures-util", - "google-cloud-googleapis", - "google-cloud-pubsub", - "google-cloud-storage", - "hex", - "hyper 0.14.30", - "itertools 0.12.1", - "jemallocator", - "kanal", - "lazy_static", - "native-tls", - "num", - "num_cpus", - "once_cell", - "parquet", - "parquet_derive", - "postgres-native-tls", - "prometheus", - "prost 0.12.6", - "regex", - "serde", - "serde_json", - "server-framework", - "sha2 0.9.9", - "sha3", - "strum 0.24.1", - "tiny-keccak", - "tokio", - "tokio-postgres", - "tonic 0.11.0", - "tracing", - "unescape", - "url", -] - -[[package]] -name = "procfs" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de8dacb0873f77e6aefc6d71e044761fcc68060290f5b1089fcdf84626bb69" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "chrono", - "flate2", - "hex", - "lazy_static", - "rustix 0.36.17", -] - -[[package]] -name = "prometheus" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" -dependencies = [ - "cfg-if", - "fnv", - "lazy_static", - "memchr", - "parking_lot", - "thiserror", -] - -[[package]] -name = "proptest" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" -dependencies = [ - "bit-set", - "bit-vec", - "bitflags 2.6.0", - "lazy_static", - "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift", - "regex-syntax 0.8.5", - "rusty-fork", - "tempfile", - "unarray", -] - -[[package]] -name = "proptest-derive" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "prost" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" -dependencies = [ - "bytes 1.7.2", - "prost-derive 0.11.9", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes 1.7.2", - "prost-derive 0.12.6", -] - -[[package]] -name = "prost-build" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" -dependencies = [ - "bytes 1.7.2", - "heck 0.5.0", - "itertools 0.12.1", - "log", - "multimap", - "once_cell", - "petgraph 0.6.5", - "prettyplease", - "prost 0.12.6", - "prost-types 0.12.6", - "regex", - "syn 2.0.79", - "tempfile", -] - -[[package]] -name = "prost-derive" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" -dependencies = [ - "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" -dependencies = [ - "prost 0.11.9", -] - -[[package]] -name = "prost-types" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" -dependencies = [ - "prost 0.12.6", -] - -[[package]] -name = "protobuf" -version = "2.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" - -[[package]] -name = "protobuf-codegen" -version = "2.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033460afb75cf755fcfc16dfaed20b86468082a2ea24e05ac35ab4a099a017d6" -dependencies = [ - "protobuf", -] - -[[package]] -name = "protobuf-codegen-pure" -version = "2.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a29399fc94bcd3eeaa951c715f7bea69409b2445356b00519740bcd6ddd865" -dependencies = [ - "protobuf", - "protobuf-codegen", -] - -[[package]] -name = "psl-types" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" - -[[package]] -name = "publicsuffix" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457" -dependencies = [ - "idna 0.3.0", - "psl-types", -] - -[[package]] -name = "pulldown-cmark" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" -dependencies = [ - "bitflags 2.6.0", - "memchr", - "unicase", -] - -[[package]] -name = "qstring" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quick-protobuf" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" -dependencies = [ - "byteorder", -] - -[[package]] -name = "quick-xml" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "quick-xml" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" -dependencies = [ - "memchr", -] - -[[package]] -name = "quick-xml" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "quick_cache" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb55a1aa7668676bb93926cd4e9cdfe60f03bb866553bcca9112554911b6d3dc" -dependencies = [ - "ahash 0.8.11", - "equivalent", - "hashbrown 0.14.5", - "parking_lot", -] - -[[package]] -name = "quote" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r2d2" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" -dependencies = [ - "log", - "parking_lot", - "scheduled-thread-pool", -] - -[[package]] -name = "radium" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" - -[[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_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_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_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 = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "recvmsg" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" - -[[package]] -name = "redis" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa8455fa3621f6b41c514946de66ea0531f57ca017b2e6c7cc368035ea5b46df" -dependencies = [ - "arc-swap", - "async-trait", - "bytes 1.7.2", - "combine", - "futures", - "futures-util", - "itoa", - "percent-encoding", - "pin-project-lite", - "ryu", - "sha1_smol", - "tokio", - "tokio-util", - "url", -] - -[[package]] -name = "redis-test" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9ceb100979db7292de8a3d4ecdde659cccc85133303ea0741e1618a5bd73df" -dependencies = [ - "futures", - "redis", -] - -[[package]] -name = "redox_syscall" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror", -] - -[[package]] -name = "ref-cast" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "regex" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-lite" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes 1.7.2", - "cookie", - "cookie_store", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-rustls 0.24.2", - "hyper-tls 0.5.0", - "ipnet", - "js-sys", - "log", - "mime", - "mime_guess", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration 0.5.1", - "tokio", - "tokio-native-tls", - "tokio-rustls 0.24.1", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots 0.25.4", - "winreg", -] - -[[package]] -name = "reqwest" -version = "0.12.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" -dependencies = [ - "base64 0.22.1", - "bytes 1.7.2", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.4.6", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", - "hyper 1.4.1", - "hyper-rustls 0.27.3", - "hyper-tls 0.6.0", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile 2.2.0", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration 0.6.1", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-registry", -] - -[[package]] -name = "retain_mut" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" - -[[package]] -name = "rfc6979" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" -dependencies = [ - "crypto-bigint 0.4.9", - "hmac 0.12.1", - "zeroize", -] - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac 0.12.1", - "subtle", -] - -[[package]] -name = "rfc7239" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b106a85eeb5b0336d16d6a20eab857f92861d4fbb1eb9a239866fb98fb6a1063" -dependencies = [ - "uncased", -] - -[[package]] -name = "rgb" -version = "0.8.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi 0.3.9", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.15", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "rlp" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" -dependencies = [ - "bytes 1.7.2", - "rustc-hex", -] - -[[package]] -name = "rocksdb" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7" -dependencies = [ - "libc", - "librocksdb-sys", -] - -[[package]] -name = "rsa" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b" -dependencies = [ - "byteorder", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-iter", - "num-traits", - "pkcs1 0.3.3", - "pkcs8 0.8.0", - "rand_core 0.6.4", - "smallvec", - "subtle", - "zeroize", -] - -[[package]] -name = "rsa" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" -dependencies = [ - "const-oid 0.9.6", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1 0.7.5", - "pkcs8 0.10.2", - "rand_core 0.6.4", - "signature 2.2.0", - "spki 0.7.3", - "subtle", - "zeroize", -] - -[[package]] -name = "rstack" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7df9d3ebd4f17b52e6134efe2fa20021c80688cbe823d481a729a993b730493" -dependencies = [ - "cfg-if", - "dw", - "lazy_static", - "libc", - "log", -] - -[[package]] -name = "rstack-self" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd5030da3aba0ec731502f74ec38e63798eea6bc8b8ba5972129afe3eababd2" -dependencies = [ - "antidote", - "backtrace", - "bincode", - "lazy_static", - "libc", - "rstack", - "serde", -] - -[[package]] -name = "ruint" -version = "1.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" -dependencies = [ - "alloy-rlp", - "ark-ff 0.3.0", - "ark-ff 0.4.2", - "bytes 1.7.2", - "fastrlp", - "num-bigint 0.4.6", - "num-traits", - "parity-scale-codec 3.6.12", - "primitive-types 0.12.2", - "proptest", - "rand 0.8.5", - "rlp", - "ruint-macro", - "serde", - "valuable", - "zeroize", -] - -[[package]] -name = "ruint-macro" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" - -[[package]] -name = "rusb" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab9f9ff05b63a786553a4c02943b74b34a988448671001e9a27e2f0565cc05a4" -dependencies = [ - "libc", - "libusb1-sys", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hash" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" -dependencies = [ - "semver 0.11.0", -] - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver 1.0.23", -] - -[[package]] -name = "rustix" -version = "0.36.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - -[[package]] -name = "rustix" -version = "0.37.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki 0.101.7", - "sct", -] - -[[package]] -name = "rustls" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" -dependencies = [ - "log", - "ring 0.17.8", - "rustls-pki-types", - "rustls-webpki 0.102.8", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls" -version = "0.23.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" -dependencies = [ - "log", - "once_cell", - "ring 0.17.8", - "rustls-pki-types", - "rustls-webpki 0.102.8", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.4", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-native-certs" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" -dependencies = [ - "openssl-probe", - "rustls-pemfile 2.2.0", - "rustls-pki-types", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" - -[[package]] -name = "rustls-platform-verifier" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" -dependencies = [ - "core-foundation", - "core-foundation-sys", - "jni", - "log", - "once_cell", - "rustls 0.23.13", - "rustls-native-certs 0.7.3", - "rustls-platform-verifier-android", - "rustls-webpki 0.102.8", - "security-framework", - "security-framework-sys", - "webpki-roots 0.26.6", - "winapi 0.3.9", -] - -[[package]] -name = "rustls-platform-verifier-android" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" - -[[package]] -name = "rustls-webpki" -version = "0.100.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6a5fc258f1c1276dfe3016516945546e2d5383911efc0fc4f1cdc5df3a4ae3" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "rustls-webpki" -version = "0.102.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" -dependencies = [ - "ring 0.17.8", - "rustls-pki-types", - "untrusted 0.9.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "rusty-fork" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" -dependencies = [ - "fnv", - "quick-error", - "tempfile", - "wait-timeout", -] - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[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 = "schannel" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "scheduled-thread-pool" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" -dependencies = [ - "parking_lot", -] - -[[package]] -name = "schemars" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" -dependencies = [ - "dyn-clone", - "schemars_derive", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.79", -] - -[[package]] -name = "scoped-futures" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1473e24c637950c9bd38763220bea91ec3e095a89f672bbd7a10d03e77ba467" -dependencies = [ - "cfg-if", - "pin-utils", -] - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "sec1" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" -dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array", - "pkcs8 0.9.0", - "subtle", - "zeroize", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct 0.2.0", - "der 0.7.9", - "generic-array", - "pkcs8 0.10.2", - "subtle", - "zeroize", -] - -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "core-foundation-sys", - "libc", - "num-bigint 0.4.6", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - -[[package]] -name = "seq-macro" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" - -[[package]] -name = "sequencing-util" -version = "0.0.2" -dependencies = [ - "anyhow", - "movement-types", - "tokio", -] - -[[package]] -name = "serde" -version = "1.0.210" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-big-array" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" -dependencies = [ - "serde", -] - -[[package]] -name = "serde-generate" -version = "0.20.6" -source = "git+https://github.com/aptos-labs/serde-reflection?rev=73b6bbf748334b71ff6d7d09d06a29e3062ca075#73b6bbf748334b71ff6d7d09d06a29e3062ca075" -dependencies = [ - "bcs 0.1.6", - "bincode", - "heck 0.3.3", - "include_dir", - "maplit", - "serde", - "serde-reflection", - "serde_bytes", - "serde_yaml 0.8.26", - "structopt", - "textwrap 0.13.4", -] - -[[package]] -name = "serde-name" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12c47087018ec281d1cdab673d36aea22d816b54d498264029c05d5fa1910da6" -dependencies = [ - "serde", - "thiserror", -] - -[[package]] -name = "serde-reflection" -version = "0.3.5" -source = "git+https://github.com/aptos-labs/serde-reflection?rev=73b6bbf748334b71ff6d7d09d06a29e3062ca075#73b6bbf748334b71ff6d7d09d06a29e3062ca075" -dependencies = [ - "once_cell", - "serde", - "thiserror", -] - -[[package]] -name = "serde_bytes" -version = "0.11.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_cbor" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" -dependencies = [ - "half 1.8.3", - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.210" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[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.79", -] - -[[package]] -name = "serde_json" -version = "1.0.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" -dependencies = [ - "indexmap 2.6.0", - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_merge" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "606e91878516232ac3b16c12e063d4468d762f16d77e7aef14a1f2326c5f409b" -dependencies = [ - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "serde_repr" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[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", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "3.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9720086b3357bcb44fce40117d769a4d068c70ecfa190850a980a71755f66fcc" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.6.0", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f1abbfe725f27678f4663bcacb75a83e829fd464c25d78dd038a3a29e307cec" -dependencies = [ - "darling 0.20.10", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "serde_yaml" -version = "0.8.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" -dependencies = [ - "indexmap 1.9.3", - "ryu", - "serde", - "yaml-rust", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.6.0", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "server-framework" -version = "1.0.0" -source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e#8e83cde3cb75fabdade9485e0af680cc4b73ca8e" -dependencies = [ - "anyhow", - "aptos-system-utils", - "async-trait", - "backtrace", - "clap 4.5.19", - "prometheus", - "serde", - "serde_yaml 0.8.26", - "tempfile", - "tokio", - "toml 0.7.8", - "tracing", - "tracing-subscriber 0.3.18", - "warp", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha1_smol" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug", -] - -[[package]] -name = "sha3-asm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" -dependencies = [ - "cc", - "cfg-if", -] - -[[package]] -name = "shadow-rs" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c0ea0c68418544f725eba5401a5b965a2263254c92458d04aeae74e9d88ff4e" -dependencies = [ - "const_format", - "git2", - "is_debug", - "time", - "tzdb", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" -dependencies = [ - "libc", - "mio 0.8.11", - "signal-hook", -] - -[[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 = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", - "signature_derive", -] - -[[package]] -name = "signature_derive" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab0381d1913eeaf4c7bc4094016c9a8de6c1120663afe32a90ff268ad7f80486" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - -[[package]] -name = "similar" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" -dependencies = [ - "bstr", - "unicode-segmentation", -] - -[[package]] -name = "similar-asserts" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" -dependencies = [ - "console", - "similar", -] - -[[package]] -name = "simple_asn1" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692ca13de57ce0613a363c8c2f1de925adebc81b04c923ac60c5488bb44abe4b" -dependencies = [ - "chrono", - "num-bigint 0.2.6", - "num-traits", -] - -[[package]] -name = "simple_asn1" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "thiserror", - "time", -] - -[[package]] -name = "simplelog" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bc0ffd69814a9b251d43afcabf96dad1b29f5028378056257be9e3fecc9f720" -dependencies = [ - "chrono", - "log", - "termcolor", -] - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - -[[package]] -name = "skeptic" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" -dependencies = [ - "bytecount", - "cargo_metadata", - "error-chain", - "glob", - "pulldown-cmark", - "tempfile", - "walkdir", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slug" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882a80f72ee45de3cc9a5afeb2da0331d58df69e4e7d8eeb5d3c7784ae67e724" -dependencies = [ - "deunicode", - "wasm-bindgen", -] - -[[package]] -name = "smallbitvec" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3fc564a4b53fd1e8589628efafe57602d91bde78be18186b5f61e8faea470" - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "smawk" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" - -[[package]] -name = "snafu" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" -dependencies = [ - "doc-comment", - "snafu-derive", -] - -[[package]] -name = "snafu-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "soketto" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" -dependencies = [ - "base64 0.22.1", - "bytes 1.7.2", - "futures", - "httparse", - "log", - "rand 0.8.5", - "sha1", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "spki" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" -dependencies = [ - "base64ct", - "der 0.5.1", -] - -[[package]] -name = "spki" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" -dependencies = [ - "base64ct", - "der 0.6.1", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der 0.7.9", -] - -[[package]] -name = "sse-codec" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a59f811350c44b4a037aabeb72dc6a9591fc22aa95a036db9a96297c58085a" -dependencies = [ - "bytes 0.5.6", - "futures-io", - "futures_codec", - "memchr", -] - -[[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 = "status-line" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20cc99bbe608305546a850ec4352907279a8b8044f9c13ae58bd0a8ab46ebc1" -dependencies = [ - "ansi-escapes", - "atty", -] - -[[package]] -name = "str_stack" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb" - -[[package]] -name = "stringprep" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" -dependencies = [ - "unicode-bidi", - "unicode-normalization", - "unicode-properties", -] - -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "structopt" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" -dependencies = [ - "clap 2.34.0", - "lazy_static", - "structopt-derive", -] - -[[package]] -name = "structopt-derive" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" -dependencies = [ - "heck 0.3.3", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" -dependencies = [ - "strum_macros 0.24.3", -] - -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.79", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.79", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "subtle-encoding" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] - -[[package]] -name = "subtle-ng" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" - -[[package]] -name = "suzuka-client" -version = "0.0.2" -dependencies = [ - "anyhow", - "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", - "aptos-sdk", - "aptos-types", - "async-trait", - "bcs 0.1.4", - "buildtime-helpers", - "chrono", - "commander", - "dot-movement", - "futures", - "itertools 0.12.1", - "maptos-execution-util", - "mcr-settlement-client", - "movement-tracing", - "once_cell", - "rand 0.7.3", - "rayon", - "reqwest 0.12.8", - "serde", - "serde_json", - "serde_yaml 0.9.34+deprecated", - "suzuka-config", - "thiserror", - "tokio", - "tonic 0.11.0", - "tracing", - "tracing-subscriber 0.3.18", - "url", -] - -[[package]] -name = "suzuka-config" -version = "0.0.2" -dependencies = [ - "anyhow", - "godfig", - "m1-da-light-node-util", - "maptos-execution-util", - "mcr-settlement-client", - "mcr-settlement-config", - "serde", - "serde_derive", - "tokio", - "toml 0.8.19", - "tracing", -] - -[[package]] -name = "suzuka-faucet-service" -version = "2.0.1" -dependencies = [ - "anyhow", - "aptos-config", - "aptos-faucet-core", - "aptos-logger", - "aptos-sdk", - "clap 4.5.19", - "dot-movement", - "suzuka-config", - "tokio", - "tracing", -] - -[[package]] -name = "suzuka-full-node" -version = "0.0.2" -dependencies = [ - "anyhow", - "bcs 0.1.4", - "console-subscriber", - "dot-movement", - "futures", - "godfig", - "m1-da-light-node-client", - "m1-da-light-node-util", - "maptos-dof-execution", - "mcr-settlement-client", - "mcr-settlement-manager", - "movement-rest", - "movement-tracing", - "movement-types", - "rocksdb", - "serde_json", - "sha2 0.10.8", - "suzuka-config", - "tokio", - "tokio-stream", - "tonic 0.11.0", - "tracing", - "tracing-subscriber 0.3.18", - "zstd 0.13.2", -] - -[[package]] -name = "suzuka-full-node-setup" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-recursion", - "celestia-rpc", - "celestia-types", - "commander", - "dot-movement", - "futures", - "godfig", - "hex", - "m1-da-light-node-setup", - "m1-da-light-node-util", - "mcr-settlement-config", - "mcr-settlement-setup", - "movement-types", - "rand 0.7.3", - "serde", - "serde_json", - "suzuka-config", - "syncup", - "tempfile", - "tokio", - "tokio-stream", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "suzuka-indexer-service" -version = "0.0.2" -dependencies = [ - "anyhow", - "clap 4.5.19", - "dot-movement", - "maptos-execution-util", - "num_cpus", - "processor", - "reqwest 0.12.8", - "serde_json", - "server-framework", - "tempfile", - "tokio", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "symbolic-common" -version = "10.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b55cdc318ede251d0957f07afe5fed912119b8c1bc5a7804151826db999e737" -dependencies = [ - "debugid", - "memmap2", - "stable_deref_trait", - "uuid", -] - -[[package]] -name = "symbolic-demangle" -version = "10.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79be897be8a483a81fff6a3a4e195b4ac838ef73ca42d348b3f722da9902e489" -dependencies = [ - "cpp_demangle", - "rustc-demangle", - "symbolic-common", -] - -[[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.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn-solidity" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" -dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "sync_wrapper" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" -dependencies = [ - "futures-core", -] - -[[package]] -name = "syncador" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-stream", - "async-trait", - "aws-config", - "aws-sdk-s3", - "aws-types", - "clap 4.5.19", - "flate2", - "flocks", - "futures", - "glob", - "globset", - "movement-types", - "serde", - "serde_json", - "tar", - "tempfile", - "thiserror", - "tokio", - "tracing", - "uuid", -] - -[[package]] -name = "syncup" -version = "0.0.2" -dependencies = [ - "anyhow", - "async-stream", - "async-trait", - "futures", - "movement-types", - "syncador", - "tokio", - "tracing", -] - -[[package]] -name = "sysinfo" -version = "0.28.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2f3ca6693feb29a89724516f016488e9aafc7f37264f898593ee4b942f31b" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "rayon", - "winapi 0.3.9", -] - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys 0.5.0", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "system-configuration-sys 0.6.0", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tar" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "tempfile" -version = "3.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" -dependencies = [ - "cfg-if", - "fastrand 2.1.1", - "once_cell", - "rustix 0.38.37", - "windows-sys 0.59.0", -] - -[[package]] -name = "tera" -version = "1.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab9d851b45e865f178319da0abdbfe6acbc4328759ff18dafc3a41c16b4cd2ee" -dependencies = [ - "chrono", - "chrono-tz", - "globwalk", - "humansize", - "lazy_static", - "percent-encoding", - "pest", - "pest_derive", - "rand 0.8.5", - "regex", - "serde", - "serde_json", - "slug", - "unic-segment", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "textwrap" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835" -dependencies = [ - "smawk", - "unicode-width", -] - -[[package]] -name = "textwrap" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "thrift" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" -dependencies = [ - "byteorder", - "integer-encoding", - "ordered-float 2.10.1", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-bip39" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash 1.1.0", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -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.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" -dependencies = [ - "backtrace", - "bytes 1.7.2", - "libc", - "mio 1.0.2", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2 0.5.7", - "tokio-macros", - "tracing", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-macros" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-postgres" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5d3742945bc7d7f210693b0c58ae542c6fd47b17adbbda0885f3dcb34a6bdb" -dependencies = [ - "async-trait", - "byteorder", - "bytes 1.7.2", - "fallible-iterator", - "futures-channel", - "futures-util", - "log", - "parking_lot", - "percent-encoding", - "phf", - "pin-project-lite", - "postgres-protocol", - "postgres-types", - "rand 0.8.5", - "socket2 0.5.7", - "tokio", - "tokio-util", - "whoami", -] - -[[package]] -name = "tokio-retry" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" -dependencies = [ - "pin-project 1.1.5", - "rand 0.8.5", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls 0.22.4", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" -dependencies = [ - "rustls 0.23.13", - "rustls-pki-types", - "tokio", -] - -[[package]] -name = "tokio-stream" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" -dependencies = [ - "futures-util", - "log", - "tokio", - "tungstenite 0.21.0", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" -dependencies = [ - "futures-util", - "log", - "rustls 0.23.13", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.26.0", - "tungstenite 0.23.0", - "webpki-roots 0.26.6", -] - -[[package]] -name = "tokio-util" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" -dependencies = [ - "bytes 1.7.2", - "futures-core", - "futures-io", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - -[[package]] -name = "toml" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.22", -] - -[[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.6.0", - "serde", - "serde_spanned", - "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.6.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" -dependencies = [ - "indexmap 2.6.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.20", -] - -[[package]] -name = "tonic" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64 0.21.7", - "bytes 1.7.2", - "flate2", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-timeout", - "percent-encoding", - "pin-project 1.1.5", - "prost 0.11.9", - "rustls-pemfile 1.0.4", - "tokio", - "tokio-rustls 0.24.1", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", - "webpki-roots 0.23.1", -] - -[[package]] -name = "tonic" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64 0.21.7", - "bytes 1.7.2", - "flate2", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-timeout", - "percent-encoding", - "pin-project 1.1.5", - "prost 0.12.6", - "rustls-native-certs 0.7.3", - "rustls-pemfile 2.2.0", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.25.0", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", - "zstd 0.12.4", -] - -[[package]] -name = "tonic-build" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" -dependencies = [ - "prettyplease", - "proc-macro2", - "prost-build", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "tonic-reflection" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "548c227bd5c0fae5925812c4ec6c66ffcfced23ea370cb823f4d18f0fc1cb6a7" -dependencies = [ - "prost 0.12.6", - "prost-types 0.12.6", - "tokio", - "tokio-stream", - "tonic 0.11.0", -] - -[[package]] -name = "tonic-web" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc3b0e1cedbf19fdfb78ef3d672cb9928e0a91a9cb4629cc0c916e8cff8aaaa1" -dependencies = [ - "base64 0.21.7", - "bytes 1.7.2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "pin-project 1.1.5", - "tokio-stream", - "tonic 0.11.0", - "tower-http", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project 1.1.5", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-http" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" -dependencies = [ - "bitflags 2.6.0", - "bytes 1.7.2", - "futures-core", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "http-range-header", - "pin-project-lite", - "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.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-appender" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" -dependencies = [ - "crossbeam-channel", - "thiserror", - "time", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-serde" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" -dependencies = [ - "serde", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" -dependencies = [ - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "matchers", - "nu-ansi-term 0.46.0", - "once_cell", - "regex", - "serde", - "serde_json", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", - "tracing-serde", -] - -[[package]] -name = "tracing-test" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557b891436fe0d5e0e363427fc7f217abf9ccd510d5136549847bdcbcd011d68" -dependencies = [ - "tracing-core", - "tracing-subscriber 0.3.18", - "tracing-test-macro", -] - -[[package]] -name = "tracing-test-macro" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" -dependencies = [ - "quote", - "syn 2.0.79", -] - -[[package]] -name = "trait-set" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79e2e9c9ab44c6d7c20d5976961b47e8f49ac199154daa514b77cd1ab536625" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "triomphe" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" -dependencies = [ - "serde", - "stable_deref_trait", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tui" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" -dependencies = [ - "bitflags 1.3.2", - "cassowary", - "crossterm 0.25.0", - "unicode-segmentation", - "unicode-width", -] - -[[package]] -name = "tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" -dependencies = [ - "byteorder", - "bytes 1.7.2", - "data-encoding", - "http 1.1.0", - "httparse", - "log", - "rand 0.8.5", - "sha1", - "thiserror", - "url", - "utf-8", -] - -[[package]] -name = "tungstenite" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" -dependencies = [ - "byteorder", - "bytes 1.7.2", - "data-encoding", - "http 1.1.0", - "httparse", - "log", - "rand 0.8.5", - "rustls 0.23.13", - "rustls-pki-types", - "sha1", - "thiserror", - "utf-8", -] - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - -[[package]] -name = "typed-arena" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "typeshare" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f17399b76c2e743d58eac0635d7686e9c00f48cd4776f00695d9882a7d3187" -dependencies = [ - "chrono", - "serde", - "serde_json", - "typeshare-annotation", -] - -[[package]] -name = "typeshare-annotation" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f" -dependencies = [ - "quote", - "syn 2.0.79", -] - -[[package]] -name = "tz-rs" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33851b15c848fad2cf4b105c6bb66eb9512b6f6c44a4b13f57c53c73c707e2b4" -dependencies = [ - "const_fn", -] - -[[package]] -name = "tzdb" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c420cf38925a5a6a3dc56e1c8f56f17a5b7755edd5adeb7cdab8b847e1fbe2af" -dependencies = [ - "iana-time-zone", - "tz-rs", - "tzdb_data", - "utcnow", -] - -[[package]] -name = "tzdb_data" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "654c1ec546942ce0594e8d220e6b8e3899e0a0a8fe70ddd54d32a376dfefe3f8" -dependencies = [ - "tz-rs", -] - -[[package]] -name = "ucd-trie" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" - -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - -[[package]] -name = "uncased" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" -dependencies = [ - "version_check", -] - -[[package]] -name = "unescape" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e" - -[[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-segment" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23" -dependencies = [ - "unic-ucd-segment", -] - -[[package]] -name = "unic-ucd-segment" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700" -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 = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - -[[package]] -name = "unicode-ident" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[package]] -name = "universal-hash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" -dependencies = [ - "crypto-common", - "subtle", -] - -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" - -[[package]] -name = "unsigned-varint" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" - -[[package]] -name = "unsigned-varint" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "ureq" -version = "1.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8b063c2d59218ae09f22b53c42eaad0d53516457905f5235ca4bc9e99daa71" -dependencies = [ - "base64 0.13.1", - "chunked_transfer", - "log", - "native-tls", - "once_cell", - "qstring", - "serde", - "serde_json", - "url", -] - -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna 0.5.0", - "percent-encoding", - "serde", -] - -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "utcnow" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb0d3098213b3f48185495cf55494b3201824dae380b9d7e408fedcd793ffcd" -dependencies = [ - "const_fn", - "errno", - "js-sys", - "libc", - "rustix 0.38.37", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", - "winapi 0.3.9", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "uuid" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" -dependencies = [ - "getrandom 0.2.15", - "serde", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "variant_count" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae2faf80ac463422992abf4de234731279c058aaf33171ca70277c98406b124" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "vsimd" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" - -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - -[[package]] -name = "waker-fn" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" - -[[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 = "warp" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c" -dependencies = [ - "bytes 1.7.2", - "futures-channel", - "futures-util", - "headers", - "http 0.2.12", - "hyper 0.14.30", - "log", - "mime", - "mime_guess", - "multer", - "percent-encoding", - "pin-project 1.1.5", - "rustls-pemfile 2.2.0", - "scoped-tls", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-rustls 0.25.0", - "tokio-tungstenite 0.21.0", - "tokio-util", - "tower-service", - "tracing", -] - -[[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 = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.79", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" - -[[package]] -name = "wasm-streams" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-roots" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" -dependencies = [ - "rustls-webpki 0.100.3", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "webpki-roots" -version = "0.26.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "whoami" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" -dependencies = [ - "redox_syscall", - "wasite", - "web-sys", -] - -[[package]] -name = "widestring" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" - -[[package]] -name = "widestring" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" - -[[package]] -name = "wildmatch" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ce1ab1f8c62655ebe1350f589c61e505cf94d385bc6a12899442d9081e71fd" - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - -[[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 = "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-registry" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" -dependencies = [ - "windows-result", - "windows-strings", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-strings" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result", - "windows-targets 0.52.6", -] - -[[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", - "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_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_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_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_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[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_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_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_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 = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "ws_stream_wasm" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" -dependencies = [ - "async_io_stream", - "futures", - "js-sys", - "log", - "pharos", - "rustc_version 0.4.1", - "send_wrapper", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "x25519-dalek" -version = "1.2.0" -source = "git+https://github.com/aptos-labs/x25519-dalek?branch=zeroize_v1#762a9501668d213daa4a1864fa1f9db22716b661" -dependencies = [ - "curve25519-dalek", - "rand_core 0.5.1", - "zeroize", -] - -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" -dependencies = [ - "libc", - "linux-raw-sys 0.4.14", - "rustix 0.38.37", -] - -[[package]] -name = "xmlparser" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" - -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "yansi" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" - -[[package]] -name = "yubihsm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "467a4c054be41ff657a6823246b0194cd727fadc3c539b265d7bc125ac6d4884" -dependencies = [ - "aes", - "bitflags 2.6.0", - "cbc", - "cmac", - "ecdsa 0.16.9", - "ed25519 2.2.3", - "hmac 0.12.1", - "k256", - "log", - "p256 0.13.2", - "p384", - "pbkdf2 0.12.2", - "rand_core 0.6.4", - "rusb", - "serde", - "serde_json", - "sha2 0.10.8", - "signature 2.2.0", - "subtle", - "thiserror", - "time", - "uuid", - "zeroize", -] - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe 6.0.6", -] - -[[package]] -name = "zstd" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" -dependencies = [ - "zstd-safe 7.2.1", -] - -[[package]] -name = "zstd-safe" -version = "6.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-safe" -version = "7.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" -dependencies = [ - "cc", - "pkg-config", -] - -[[patch.unused]] -name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" -source = "git+https://github.com/gyscos/zstd-rs.git?rev=1779b385b42b08f958b767a37878dfa6a0b4f6a4#1779b385b42b08f958b767a37878dfa6a0b4f6a4" diff --git a/Cargo.toml b/Cargo.toml index 04db262d7..6cb84ad90 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -249,7 +249,7 @@ once_cell = "1.8.0" parking_lot = { version = "0.12.1" } poem = { version = "=1.3.59", features = ["anyhow", "rustls"] } poem-openapi = { version = "=2.0.11", features = ["swagger-ui", "url"] } -prost = "0.12" +prost = "0.13.3" proptest = { version = "1.3.1", default-features = false, features = ["alloc"] } proptest-derive = "0.4" quote = "1.0" @@ -277,10 +277,10 @@ tokio-console = "0.1.0" console-subscriber = "0.3.0" tokio-stream = "0.1.15" toml = "0.8" -tonic = "0.11" -tonic-build = { version = "0.11", features = ["prost"] } -tonic-reflection = "0.11" -tonic-web = "0.11" +tonic = "0.12.3" +tonic-build = { version = "0.12.3", features = ["prost"] } +tonic-reflection = "0.12.3" +tonic-web = "0.12.3" ### To try (experimental) std support, add `features = [ "std" ]` to risc0-zkvm tracing = "0.1.40" tracing-appender = "0.2" diff --git a/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs b/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs index a02108f53..bf3d036e9 100644 --- a/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs +++ b/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs @@ -102,8 +102,24 @@ impl Task { // spawn the actual batch write request in the background let mut da_light_node_client = self.da_light_node_client.clone(); tokio::spawn(async move { - if let Err(e) = da_light_node_client.batch_write(batch_write).await { - warn!("failed to write batch to DA: {:?}", e); + let retries = 5; + for i in 0..retries { + match da_light_node_client.batch_write(batch_write.clone()).await { + Ok(_) => { + info!( + target: "movement_timing", + batch_id = %batch_id, + "batch_write_success" + ); + return; + } + Err(e) => { + warn!( + "failed to write batch to DA on attempt {}: {:?} {:?}", + i, e, batch_write + ); + } + } } }); } diff --git a/process-compose/suzuka-full-node/process-compose.test-followers.yml b/process-compose/suzuka-full-node/process-compose.test-followers.yml index a4bb9eec4..32c9fcca5 100644 --- a/process-compose/suzuka-full-node/process-compose.test-followers.yml +++ b/process-compose/suzuka-full-node/process-compose.test-followers.yml @@ -18,7 +18,7 @@ processes: setup-follower-1: command: | - sleep 180 + sleep 120 export AWS_REGION=us-west-2 export MAYBE_RUN_LOCAL=false export MAYBE_DEPLOY_MCR=false @@ -56,7 +56,7 @@ processes: setup-follower-2: command: | - sleep 180 + sleep 120 export AWS_REGION=us-west-2 export MAYBE_RUN_LOCAL=false export MAYBE_DEPLOY_MCR=false diff --git a/process-compose/suzuka-full-node/process-compose.yml b/process-compose/suzuka-full-node/process-compose.yml index cfb8a1365..b57bb0efd 100644 --- a/process-compose/suzuka-full-node/process-compose.yml +++ b/process-compose/suzuka-full-node/process-compose.yml @@ -61,7 +61,8 @@ processes: suzuka-full-node: condition: process_healthy readiness_probe: - initial_delay_seconds: 30 + initial_delay_seconds: 10 + failure_threshold: 12 exec: command: curl http://0.0.0.0:30732 From fbea7e325636d407d78480f8fbecb47fc3ee3ec9 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Fri, 11 Oct 2024 05:41:47 -0700 Subject: [PATCH 12/16] fix: typo. --- Cargo.lock | 15726 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 15726 insertions(+) create mode 100644 Cargo.lock diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 000000000..02eb8e2b5 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,15726 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" + +[[package]] +name = "abstract-domain-derive" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "addchain" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2e69442aa5628ea6951fa33e24efe8313f4321a91bd729fc2f75bdfc858570" +dependencies = [ + "num-bigint 0.3.3", + "num-integer", + "num-traits", +] + +[[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 = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + +[[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 = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "const-random", + "getrandom 0.2.15", + "once_cell", + "serde", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "aliasable" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" + +[[package]] +name = "allocative" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "082af274fd02beef17b7f0725a49ecafe6c075ef56cac9d6363eb3916a9817ae" +dependencies = [ + "allocative_derive", + "ctor", +] + +[[package]] +name = "allocative_derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe233a377643e0fc1a56421d7c90acdec45c291b30345eb9f08e8d0ddce5a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "alloy" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-consensus", + "alloy-contract", + "alloy-core", + "alloy-eips", + "alloy-genesis", + "alloy-json-rpc", + "alloy-network", + "alloy-node-bindings", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-serde", + "alloy-signer", + "alloy-signer-local", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", +] + +[[package]] +name = "alloy-chains" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c54e2fbc026948a0f638bf6a94fc0ce6e44652280fed40bb0dd970e3357bc5f2" +dependencies = [ + "alloy-primitives 0.8.7", + "num_enum", + "strum 0.26.3", +] + +[[package]] +name = "alloy-consensus" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-eips", + "alloy-primitives 0.7.7", + "alloy-rlp", + "alloy-serde", + "c-kzg", + "serde", +] + +[[package]] +name = "alloy-contract" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network", + "alloy-primitives 0.7.7", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-types-eth", + "alloy-sol-types", + "alloy-transport", + "futures", + "futures-util", + "thiserror", +] + +[[package]] +name = "alloy-core" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "529fc6310dc1126c8de51c376cbc59c79c7f662bd742be7dc67055d5421a81b4" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives 0.7.7", + "alloy-rlp", + "alloy-sol-types", +] + +[[package]] +name = "alloy-dyn-abi" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413902aa18a97569e60f679c23f46a18db1656d87ab4d4e49d0e1e52042f66df" +dependencies = [ + "alloy-json-abi", + "alloy-primitives 0.7.7", + "alloy-sol-type-parser", + "alloy-sol-types", + "const-hex", + "itoa", + "serde", + "serde_json", + "winnow 0.6.20", +] + +[[package]] +name = "alloy-eips" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-primitives 0.7.7", + "alloy-rlp", + "alloy-serde", + "c-kzg", + "derive_more 0.99.18", + "once_cell", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "alloy-genesis" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-primitives 0.7.7", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-json-abi" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc05b04ac331a9f07e3a4036ef7926e49a8bf84a99a1ccfc7e2ab55a5fcbb372" +dependencies = [ + "alloy-primitives 0.7.7", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-primitives 0.7.7", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-primitives 0.7.7", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "thiserror", +] + +[[package]] +name = "alloy-node-bindings" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-genesis", + "alloy-primitives 0.7.7", + "k256", + "serde_json", + "tempfile", + "thiserror", + "tracing", + "url", +] + +[[package]] +name = "alloy-primitives" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" +dependencies = [ + "alloy-rlp", + "bytes 1.7.2", + "cfg-if", + "const-hex", + "derive_more 0.99.18", + "hex-literal", + "itoa", + "k256", + "keccak-asm", + "proptest", + "rand 0.8.5", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-primitives" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb848c43f6b06ae3de2e4a67496cbbabd78ae87db0f1248934f15d76192c6a" +dependencies = [ + "bytes 1.7.2", + "cfg-if", + "const-hex", + "derive_more 1.0.0", + "hex-literal", + "itoa", + "paste", + "ruint", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network", + "alloy-node-bindings", + "alloy-primitives 0.7.7", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types-anvil", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-signer-local", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", + "async-stream", + "async-trait", + "auto_impl", + "dashmap 5.5.3", + "futures", + "futures-utils-wasm", + "lru 0.12.5", + "pin-project 1.1.6", + "reqwest 0.12.8", + "serde", + "serde_json", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "alloy-pubsub" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives 0.7.7", + "alloy-transport", + "bimap", + "futures", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tracing", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +dependencies = [ + "alloy-rlp-derive", + "arrayvec 0.7.6", + "bytes 1.7.2", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives 0.7.7", + "alloy-pubsub", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", + "futures", + "pin-project 1.1.6", + "reqwest 0.12.8", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tracing", + "url", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-anvil" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-primitives 0.7.7", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-engine" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives 0.7.7", + "alloy-rlp", + "alloy-rpc-types-eth", + "alloy-serde", + "jsonwebtoken 9.3.0", + "rand 0.8.5", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives 0.7.7", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.13.0", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-trace" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-primitives 0.7.7", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-serde" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-primitives 0.7.7", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-primitives 0.7.7", + "async-trait", + "auto_impl", + "elliptic-curve 0.13.8", + "k256", + "thiserror", +] + +[[package]] +name = "alloy-signer-local" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives 0.7.7", + "alloy-signer", + "async-trait", + "elliptic-curve 0.13.8", + "k256", + "rand 0.8.5", + "thiserror", + "yubihsm", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" +dependencies = [ + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" +dependencies = [ + "alloy-json-abi", + "alloy-sol-macro-input", + "const-hex", + "heck 0.5.0", + "indexmap 2.6.0", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.79", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" +dependencies = [ + "alloy-json-abi", + "const-hex", + "dunce", + "heck 0.5.0", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.79", + "syn-solidity", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbcba3ca07cf7975f15d871b721fb18031eec8bce51103907f6dcce00b255d98" +dependencies = [ + "serde", + "winnow 0.6.20", +] + +[[package]] +name = "alloy-sol-types" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" +dependencies = [ + "alloy-json-abi", + "alloy-primitives 0.7.7", + "alloy-sol-macro", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-json-rpc", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower 0.4.13", + "tracing", + "url", +] + +[[package]] +name = "alloy-transport-http" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest 0.12.8", + "serde_json", + "tower 0.4.13", + "tracing", + "url", +] + +[[package]] +name = "alloy-transport-ipc" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-json-rpc", + "alloy-pubsub", + "alloy-transport", + "bytes 1.7.2", + "futures", + "interprocess", + "pin-project 1.1.6", + "serde_json", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "alloy-transport-ws" +version = "0.1.4" +source = "git+https://github.com/alloy-rs/alloy.git?rev=83343b172585fe4e040fb104b4d1421f58cbf9a2#83343b172585fe4e040fb104b4d1421f58cbf9a2" +dependencies = [ + "alloy-pubsub", + "alloy-transport", + "futures", + "http 1.1.0", + "rustls 0.23.14", + "serde_json", + "tokio", + "tokio-tungstenite 0.23.1", + "tracing", + "ws_stream_wasm", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[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 = "ansi-escapes" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3c0daaaae24df5995734b689627f8fa02101bc5bbc768be3055b66a010d7af" + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "antidote" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5" + +[[package]] +name = "anyhow" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" + +[[package]] +name = "aptos-abstract-gas-usage" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-gas-algebra", + "aptos-gas-meter", + "aptos-gas-schedule", + "aptos-vm-types", + "move-binary-format", +] + +[[package]] +name = "aptos-accumulator" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-types", +] + +[[package]] +name = "aptos-aggregator" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-logger", + "aptos-types", + "bcs 0.1.4", + "claims", + "move-binary-format", + "move-core-types", + "move-vm-types", +] + +[[package]] +name = "aptos-api" +version = "0.2.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-api-types", + "aptos-bcs-utils", + "aptos-build-info", + "aptos-config", + "aptos-crypto", + "aptos-gas-schedule", + "aptos-global-constants", + "aptos-logger", + "aptos-mempool", + "aptos-metrics-core", + "aptos-runtimes", + "aptos-storage-interface", + "aptos-types", + "aptos-vm", + "async-trait", + "bcs 0.1.4", + "bytes 1.7.2", + "fail", + "futures", + "hex", + "hyper 0.14.30", + "itertools 0.12.1", + "mime", + "mini-moka", + "move-core-types", + "num_cpus", + "once_cell", + "paste", + "poem", + "poem-openapi", + "regex", + "serde", + "serde_json", + "tokio", +] + +[[package]] +name = "aptos-api-types" +version = "0.0.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-config", + "aptos-crypto", + "aptos-framework", + "aptos-logger", + "aptos-openapi", + "aptos-resource-viewer", + "aptos-storage-interface", + "aptos-types", + "aptos-vm", + "async-trait", + "bcs 0.1.4", + "bytes 1.7.2", + "hex", + "indoc", + "move-binary-format", + "move-core-types", + "once_cell", + "poem", + "poem-openapi", + "poem-openapi-derive", + "serde", + "serde_json", +] + +[[package]] +name = "aptos-bcs-utils" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "hex", +] + +[[package]] +name = "aptos-bitvec" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "serde", + "serde_bytes", +] + +[[package]] +name = "aptos-block-executor" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-drop-helper", + "aptos-infallible", + "aptos-logger", + "aptos-metrics-core", + "aptos-mvhashmap", + "aptos-types", + "aptos-vm-logging", + "aptos-vm-types", + "arc-swap", + "bcs 0.1.4", + "bytes 1.7.2", + "claims", + "concurrent-queue", + "crossbeam", + "dashmap 5.5.3", + "derivative", + "fail", + "move-binary-format", + "move-core-types", + "move-vm-types", + "num_cpus", + "once_cell", + "parking_lot", + "rand 0.7.3", + "rayon", + "scopeguard", +] + +[[package]] +name = "aptos-block-partitioner" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-crypto", + "aptos-logger", + "aptos-metrics-core", + "aptos-types", + "bcs 0.1.4", + "clap 4.5.20", + "dashmap 5.5.3", + "itertools 0.12.1", + "jemallocator", + "move-core-types", + "once_cell", + "rand 0.7.3", + "rayon", + "serde", +] + +[[package]] +name = "aptos-bounded-executor" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "futures", + "rustversion", + "tokio", +] + +[[package]] +name = "aptos-build-info" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "shadow-rs", +] + +[[package]] +name = "aptos-cached-packages" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-framework", + "aptos-package-builder", + "aptos-types", + "bcs 0.1.4", + "move-core-types", + "once_cell", +] + +[[package]] +name = "aptos-channels" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-infallible", + "aptos-metrics-core", + "futures", +] + +[[package]] +name = "aptos-compression" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-logger", + "aptos-metrics-core", + "lz4", + "once_cell", + "thiserror", +] + +[[package]] +name = "aptos-config" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-global-constants", + "aptos-logger", + "aptos-secure-storage", + "aptos-short-hex-str", + "aptos-temppath", + "aptos-types", + "arr_macro", + "bcs 0.1.4", + "byteorder", + "cfg-if", + "get_if_addrs", + "maplit", + "num_cpus", + "number_range", + "poem-openapi", + "rand 0.7.3", + "serde", + "serde_json", + "serde_merge", + "serde_yaml 0.8.26", + "thiserror", + "url", +] + +[[package]] +name = "aptos-consensus-types" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-bitvec", + "aptos-crypto", + "aptos-crypto-derive", + "aptos-executor-types", + "aptos-infallible", + "aptos-logger", + "aptos-short-hex-str", + "aptos-types", + "bcs 0.1.4", + "fail", + "futures", + "itertools 0.12.1", + "mini-moka", + "mirai-annotations", + "once_cell", + "rand 0.7.3", + "rayon", + "serde", + "tokio", +] + +[[package]] +name = "aptos-crypto" +version = "0.0.3" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aes-gcm", + "anyhow", + "aptos-crypto-derive", + "ark-bn254", + "ark-ec", + "ark-ff 0.4.2", + "ark-groth16", + "ark-std 0.4.0", + "base64 0.13.1", + "bcs 0.1.4", + "blst", + "bulletproofs", + "bytes 1.7.2", + "curve25519-dalek", + "curve25519-dalek-ng", + "digest 0.9.0", + "ed25519-dalek", + "ff 0.13.0", + "hex", + "hkdf 0.10.0", + "libsecp256k1", + "merlin", + "more-asserts", + "neptune", + "num-bigint 0.3.3", + "num-integer", + "once_cell", + "p256 0.13.2", + "poseidon-ark", + "proptest", + "proptest-derive", + "rand 0.7.3", + "rand_core 0.5.1", + "ring 0.16.20", + "serde", + "serde-name", + "serde_bytes", + "sha2 0.10.8", + "sha2 0.9.9", + "sha3", + "signature 2.2.0", + "static_assertions", + "thiserror", + "tiny-keccak", + "typenum", + "x25519-dalek", +] + +[[package]] +name = "aptos-crypto-derive" +version = "0.0.3" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "aptos-db" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-accumulator", + "aptos-config", + "aptos-crypto", + "aptos-db-indexer", + "aptos-db-indexer-schemas", + "aptos-executor", + "aptos-executor-types", + "aptos-experimental-runtimes", + "aptos-infallible", + "aptos-jellyfish-merkle", + "aptos-logger", + "aptos-metrics-core", + "aptos-proptest-helpers", + "aptos-resource-viewer", + "aptos-rocksdb-options", + "aptos-schemadb", + "aptos-scratchpad", + "aptos-storage-interface", + "aptos-temppath", + "aptos-types", + "arc-swap", + "arr_macro", + "bcs 0.1.4", + "byteorder", + "claims", + "dashmap 5.5.3", + "either", + "hex", + "itertools 0.12.1", + "lru 0.7.8", + "move-core-types", + "num-derive", + "once_cell", + "proptest", + "proptest-derive", + "rayon", + "serde", + "static_assertions", + "status-line", + "tracing", +] + +[[package]] +name = "aptos-db-indexer" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-config", + "aptos-db-indexer-schemas", + "aptos-logger", + "aptos-resource-viewer", + "aptos-rocksdb-options", + "aptos-schemadb", + "aptos-storage-interface", + "aptos-types", + "bcs 0.1.4", + "bytes 1.7.2", + "dashmap 5.5.3", + "move-core-types", +] + +[[package]] +name = "aptos-db-indexer-schemas" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-schemadb", + "aptos-storage-interface", + "aptos-types", + "bcs 0.1.4", + "byteorder", + "serde", +] + +[[package]] +name = "aptos-dkg" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-crypto-derive", + "bcs 0.1.4", + "blst", + "blstrs", + "criterion", + "ff 0.13.0", + "group 0.13.0", + "hex", + "merlin", + "more-asserts", + "num-bigint 0.3.3", + "num-integer", + "num-traits", + "once_cell", + "pairing", + "rand 0.7.3", + "rand_core 0.5.1", + "rayon", + "serde", + "serde_bytes", + "sha3", + "static_assertions", +] + +[[package]] +name = "aptos-drop-helper" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-infallible", + "aptos-metrics-core", + "once_cell", + "threadpool", +] + +[[package]] +name = "aptos-event-notifications" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-channels", + "aptos-id-generator", + "aptos-infallible", + "aptos-storage-interface", + "aptos-types", + "futures", + "serde", + "thiserror", +] + +[[package]] +name = "aptos-executor" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-consensus-types", + "aptos-crypto", + "aptos-drop-helper", + "aptos-executor-service", + "aptos-executor-types", + "aptos-experimental-runtimes", + "aptos-infallible", + "aptos-logger", + "aptos-metrics-core", + "aptos-scratchpad", + "aptos-sdk", + "aptos-storage-interface", + "aptos-types", + "aptos-vm", + "arr_macro", + "bcs 0.1.4", + "bytes 1.7.2", + "dashmap 5.5.3", + "fail", + "itertools 0.12.1", + "move-core-types", + "once_cell", + "rayon", + "serde", +] + +[[package]] +name = "aptos-executor-service" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-block-partitioner", + "aptos-config", + "aptos-infallible", + "aptos-language-e2e-tests", + "aptos-logger", + "aptos-metrics-core", + "aptos-node-resource-metrics", + "aptos-push-metrics", + "aptos-secure-net", + "aptos-storage-interface", + "aptos-types", + "aptos-vm", + "bcs 0.1.4", + "clap 4.5.20", + "crossbeam-channel", + "ctrlc", + "dashmap 5.5.3", + "itertools 0.12.1", + "num_cpus", + "once_cell", + "rayon", + "serde", + "thiserror", +] + +[[package]] +name = "aptos-executor-test-helpers" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-cached-packages", + "aptos-config", + "aptos-consensus-types", + "aptos-crypto", + "aptos-db", + "aptos-executor", + "aptos-executor-types", + "aptos-sdk", + "aptos-storage-interface", + "aptos-temppath", + "aptos-types", + "aptos-vm", + "aptos-vm-genesis", + "rand 0.7.3", +] + +[[package]] +name = "aptos-executor-types" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-drop-helper", + "aptos-scratchpad", + "aptos-secure-net", + "aptos-storage-interface", + "aptos-types", + "bcs 0.1.4", + "criterion", + "itertools 0.12.1", + "once_cell", + "serde", + "thiserror", +] + +[[package]] +name = "aptos-experimental-runtimes" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-runtimes", + "core_affinity", + "libc", + "num_cpus", + "once_cell", + "rayon", +] + +[[package]] +name = "aptos-faucet-core" +version = "2.0.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-config", + "aptos-faucet-metrics-server", + "aptos-logger", + "aptos-metrics-core", + "aptos-sdk", + "async-trait", + "captcha", + "clap 4.5.20", + "deadpool-redis", + "enum_dispatch", + "futures", + "hex", + "ipnet", + "iprange", + "lru 0.9.0", + "once_cell", + "poem", + "poem-openapi", + "rand 0.7.3", + "redis", + "reqwest 0.11.27", + "serde", + "serde_json", + "serde_yaml 0.8.26", + "tokio", + "url", +] + +[[package]] +name = "aptos-faucet-metrics-server" +version = "2.0.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-logger", + "aptos-metrics-core", + "once_cell", + "poem", + "prometheus", + "serde", +] + +[[package]] +name = "aptos-framework" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-crypto", + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-move-stdlib", + "aptos-native-interface", + "aptos-sdk-builder", + "aptos-types", + "aptos-vm-types", + "ark-bls12-381", + "ark-bn254", + "ark-ec", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "bcs 0.1.4", + "better_any", + "blake2-rfc", + "bulletproofs", + "byteorder", + "clap 4.5.20", + "codespan-reporting", + "curve25519-dalek-ng", + "either", + "flate2", + "hex", + "itertools 0.12.1", + "libsecp256k1", + "log", + "lru 0.7.8", + "merlin", + "move-binary-format", + "move-cli", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-docgen", + "move-model", + "move-package", + "move-prover", + "move-prover-boogie-backend", + "move-prover-bytecode-pipeline", + "move-stackless-bytecode", + "move-vm-runtime", + "move-vm-types", + "num-traits", + "once_cell", + "rand 0.7.3", + "rand_core 0.5.1", + "ripemd", + "serde", + "serde_bytes", + "sha2 0.10.8", + "sha2 0.9.9", + "sha3", + "siphasher", + "smallvec", + "tempfile", + "thiserror", + "tiny-keccak", +] + +[[package]] +name = "aptos-gas-algebra" +version = "0.0.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "either", + "move-core-types", +] + +[[package]] +name = "aptos-gas-meter" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-logger", + "aptos-types", + "aptos-vm-types", + "move-binary-format", + "move-core-types", + "move-vm-types", +] + +[[package]] +name = "aptos-gas-profiling" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-gas-algebra", + "aptos-gas-meter", + "aptos-types", + "aptos-vm-types", + "handlebars", + "inferno", + "move-binary-format", + "move-core-types", + "move-vm-types", + "regex", + "serde_json", + "smallvec", +] + +[[package]] +name = "aptos-gas-schedule" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-gas-algebra", + "aptos-global-constants", + "move-core-types", + "move-vm-types", + "paste", + "rand 0.7.3", +] + +[[package]] +name = "aptos-global-constants" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" + +[[package]] +name = "aptos-id-generator" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" + +[[package]] +name = "aptos-indexer" +version = "0.0.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-api", + "aptos-api-types", + "aptos-bitvec", + "aptos-config", + "aptos-logger", + "aptos-mempool", + "aptos-metrics-core", + "aptos-runtimes", + "aptos-storage-interface", + "aptos-types", + "async-trait", + "bcs 0.1.4", + "bigdecimal", + "chrono", + "diesel", + "diesel_migrations", + "field_count", + "futures", + "hex", + "once_cell", + "serde", + "serde_json", + "sha2 0.9.9", + "tokio", +] + +[[package]] +name = "aptos-indexer-grpc-fullnode" +version = "1.0.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-api", + "aptos-api-types", + "aptos-bitvec", + "aptos-config", + "aptos-indexer-grpc-utils", + "aptos-logger", + "aptos-mempool", + "aptos-metrics-core", + "aptos-moving-average 0.1.0 (git+https://github.com/movementlabsxyz/aptos-indexer-processors)", + "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", + "aptos-runtimes", + "aptos-storage-interface", + "aptos-types", + "bcs 0.1.4", + "bytes 1.7.2", + "chrono", + "futures", + "hex", + "hyper 0.14.30", + "itertools 0.12.1", + "move-binary-format", + "move-core-types", + "move-package", + "once_cell", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tonic 0.11.0", + "tonic-reflection 0.11.0", +] + +[[package]] +name = "aptos-indexer-grpc-table-info" +version = "1.0.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-api", + "aptos-api-types", + "aptos-config", + "aptos-db-indexer", + "aptos-indexer-grpc-fullnode", + "aptos-indexer-grpc-utils", + "aptos-logger", + "aptos-mempool", + "aptos-runtimes", + "aptos-schemadb", + "aptos-storage-interface", + "aptos-types", + "flate2", + "futures", + "google-cloud-storage", + "hyper 0.14.30", + "serde", + "serde_json", + "tar", + "tokio", + "tokio-stream", + "tokio-util", + "tonic 0.11.0", +] + +[[package]] +name = "aptos-indexer-grpc-utils" +version = "1.0.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-metrics-core", + "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", + "async-trait", + "backoff", + "base64 0.13.1", + "chrono", + "cloud-storage", + "dashmap 5.5.3", + "futures", + "itertools 0.12.1", + "lz4", + "once_cell", + "prometheus", + "prost 0.12.6", + "redis", + "redis-test", + "ripemd", + "serde", + "serde_json", + "tokio", + "tokio-util", + "tonic 0.11.0", + "tracing", + "url", +] + +[[package]] +name = "aptos-infallible" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" + +[[package]] +name = "aptos-jellyfish-merkle" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-crypto-derive", + "aptos-experimental-runtimes", + "aptos-infallible", + "aptos-logger", + "aptos-metrics-core", + "aptos-storage-interface", + "aptos-types", + "arr_macro", + "bcs 0.1.4", + "byteorder", + "itertools 0.12.1", + "num-derive", + "num-traits", + "once_cell", + "proptest", + "proptest-derive", + "rayon", + "serde", + "thiserror", +] + +[[package]] +name = "aptos-keygen" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-crypto", + "aptos-types", + "rand 0.7.3", +] + +[[package]] +name = "aptos-language-e2e-tests" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-abstract-gas-usage", + "aptos-bitvec", + "aptos-block-executor", + "aptos-cached-packages", + "aptos-crypto", + "aptos-framework", + "aptos-gas-algebra", + "aptos-gas-meter", + "aptos-gas-profiling", + "aptos-gas-schedule", + "aptos-keygen", + "aptos-proptest-helpers", + "aptos-temppath", + "aptos-types", + "aptos-vm", + "aptos-vm-genesis", + "aptos-vm-logging", + "aptos-vm-types", + "bcs 0.1.4", + "bytes 1.7.2", + "goldenfile", + "move-binary-format", + "move-command-line-common", + "move-core-types", + "move-ir-compiler", + "move-model", + "move-vm-runtime", + "move-vm-types", + "num_cpus", + "once_cell", + "petgraph 0.5.1", + "proptest", + "proptest-derive", + "rand 0.7.3", + "rayon", + "serde", +] + +[[package]] +name = "aptos-ledger" +version = "0.2.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-crypto", + "aptos-types", + "hex", + "ledger-apdu", + "ledger-transport-hid", + "thiserror", +] + +[[package]] +name = "aptos-log-derive" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "aptos-logger" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-infallible", + "aptos-log-derive", + "aptos-node-identity", + "backtrace", + "chrono", + "erased-serde", + "futures", + "hostname", + "once_cell", + "prometheus", + "serde", + "serde_json", + "strum 0.24.1", + "strum_macros 0.24.3", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "aptos-memory-usage-tracker" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-gas-algebra", + "aptos-gas-meter", + "aptos-types", + "move-binary-format", + "move-core-types", + "move-vm-types", +] + +[[package]] +name = "aptos-mempool" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-bounded-executor", + "aptos-channels", + "aptos-config", + "aptos-consensus-types", + "aptos-crypto", + "aptos-event-notifications", + "aptos-infallible", + "aptos-logger", + "aptos-mempool-notifications", + "aptos-metrics-core", + "aptos-netcore", + "aptos-network", + "aptos-peer-monitoring-service-types", + "aptos-runtimes", + "aptos-short-hex-str", + "aptos-storage-interface", + "aptos-time-service", + "aptos-types", + "aptos-vm-validator", + "bcs 0.1.4", + "fail", + "futures", + "itertools 0.12.1", + "maplit", + "num_cpus", + "once_cell", + "rand 0.7.3", + "rayon", + "serde", + "thiserror", + "tokio", + "tokio-stream", +] + +[[package]] +name = "aptos-mempool-notifications" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-types", + "async-trait", + "futures", + "serde", + "thiserror", + "tokio", +] + +[[package]] +name = "aptos-memsocket" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-infallible", + "bytes 1.7.2", + "futures", + "once_cell", +] + +[[package]] +name = "aptos-metrics-core" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "prometheus", +] + +[[package]] +name = "aptos-move-stdlib" +version = "0.1.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-gas-schedule", + "aptos-native-interface", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "sha2 0.9.9", + "sha3", + "smallvec", +] + +[[package]] +name = "aptos-moving-average" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e#8e83cde3cb75fabdade9485e0af680cc4b73ca8e" +dependencies = [ + "chrono", +] + +[[package]] +name = "aptos-moving-average" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors#8e83cde3cb75fabdade9485e0af680cc4b73ca8e" +dependencies = [ + "chrono", +] + +[[package]] +name = "aptos-mvhashmap" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-crypto", + "aptos-types", + "aptos-vm-types", + "bytes 1.7.2", + "claims", + "crossbeam", + "dashmap 5.5.3", + "derivative", + "move-binary-format", + "move-core-types", + "move-vm-types", + "serde", +] + +[[package]] +name = "aptos-native-interface" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-types", + "bcs 0.1.4", + "bytes 1.7.2", + "move-binary-format", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "smallvec", +] + +[[package]] +name = "aptos-netcore" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-memsocket", + "aptos-proxy", + "aptos-types", + "bytes 1.7.2", + "futures", + "pin-project 1.1.6", + "serde", + "tokio", + "tokio-util", + "url", +] + +[[package]] +name = "aptos-network" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-bitvec", + "aptos-channels", + "aptos-compression", + "aptos-config", + "aptos-crypto", + "aptos-id-generator", + "aptos-infallible", + "aptos-logger", + "aptos-metrics-core", + "aptos-netcore", + "aptos-num-variants", + "aptos-peer-monitoring-service-types", + "aptos-short-hex-str", + "aptos-time-service", + "aptos-types", + "arc-swap", + "async-trait", + "bcs 0.1.4", + "bytes 1.7.2", + "futures", + "futures-util", + "hex", + "itertools 0.12.1", + "maplit", + "once_cell", + "ordered-float 3.9.2", + "pin-project 1.1.6", + "rand 0.7.3", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_json", + "thiserror", + "tokio", + "tokio-retry", + "tokio-stream", + "tokio-util", +] + +[[package]] +name = "aptos-node-identity" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-types", + "claims", + "once_cell", +] + +[[package]] +name = "aptos-node-resource-metrics" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-build-info", + "aptos-infallible", + "aptos-logger", + "aptos-metrics-core", + "cfg-if", + "once_cell", + "procfs", + "prometheus", + "sysinfo", +] + +[[package]] +name = "aptos-num-variants" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "aptos-openapi" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "async-trait", + "percent-encoding", + "poem", + "poem-openapi", + "serde", + "serde_json", +] + +[[package]] +name = "aptos-package-builder" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-framework", + "itertools 0.12.1", + "move-command-line-common", + "move-package", + "tempfile", +] + +[[package]] +name = "aptos-peer-monitoring-service-types" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-config", + "aptos-types", + "bcs 0.1.4", + "serde", + "thiserror", +] + +[[package]] +name = "aptos-profiler" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0#338f9a1bcc06f62ce4a4994f1642b9a61b631ee0" +dependencies = [ + "anyhow", + "backtrace", + "jemalloc-sys", + "jemallocator", + "pprof", + "regex", +] + +[[package]] +name = "aptos-proptest-helpers" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "crossbeam", + "proptest", + "proptest-derive", +] + +[[package]] +name = "aptos-protos" +version = "1.3.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0#338f9a1bcc06f62ce4a4994f1642b9a61b631ee0" +dependencies = [ + "futures-core", + "pbjson", + "prost 0.12.6", + "serde", + "tonic 0.11.0", +] + +[[package]] +name = "aptos-protos" +version = "1.3.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "futures-core", + "pbjson", + "prost 0.12.6", + "serde", + "tonic 0.11.0", +] + +[[package]] +name = "aptos-proxy" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "ipnet", +] + +[[package]] +name = "aptos-push-metrics" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-logger", + "aptos-metrics-core", + "ureq", + "url", +] + +[[package]] +name = "aptos-resource-viewer" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-types", + "aptos-vm", + "move-binary-format", + "move-bytecode-utils", + "move-core-types", + "move-resource-viewer", +] + +[[package]] +name = "aptos-rest-client" +version = "0.0.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-api-types", + "aptos-crypto", + "aptos-infallible", + "aptos-logger", + "aptos-types", + "bcs 0.1.4", + "bytes 1.7.2", + "hex", + "move-core-types", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "tokio", + "url", +] + +[[package]] +name = "aptos-rocksdb-options" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-config", + "rocksdb", +] + +[[package]] +name = "aptos-runtimes" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "rayon", + "tokio", +] + +[[package]] +name = "aptos-schemadb" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-infallible", + "aptos-logger", + "aptos-metrics-core", + "aptos-storage-interface", + "dunce", + "once_cell", + "proptest", + "rand 0.7.3", + "rocksdb", +] + +[[package]] +name = "aptos-scratchpad" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-crypto", + "aptos-drop-helper", + "aptos-experimental-runtimes", + "aptos-infallible", + "aptos-metrics-core", + "aptos-types", + "bitvec 1.0.1", + "itertools 0.12.1", + "once_cell", + "proptest", + "rayon", + "thiserror", +] + +[[package]] +name = "aptos-sdk" +version = "0.0.3" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-cached-packages", + "aptos-crypto", + "aptos-global-constants", + "aptos-ledger", + "aptos-rest-client", + "aptos-types", + "base64 0.13.1", + "bcs 0.1.4", + "ed25519-dalek-bip32", + "hex", + "move-core-types", + "rand_core 0.5.1", + "serde_json", + "tiny-bip39", +] + +[[package]] +name = "aptos-sdk-builder" +version = "0.2.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-types", + "bcs 0.1.4", + "clap 4.5.20", + "heck 0.4.1", + "move-core-types", + "once_cell", + "serde-generate", + "serde-reflection", + "serde_yaml 0.8.26", + "textwrap 0.15.2", +] + +[[package]] +name = "aptos-secure-net" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-logger", + "aptos-metrics-core", + "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", + "bcs 0.1.4", + "crossbeam-channel", + "once_cell", + "serde", + "thiserror", + "tokio", + "tonic 0.11.0", + "tonic-reflection 0.11.0", +] + +[[package]] +name = "aptos-secure-storage" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-crypto", + "aptos-infallible", + "aptos-logger", + "aptos-temppath", + "aptos-time-service", + "aptos-vault-client", + "base64 0.13.1", + "bcs 0.1.4", + "chrono", + "enum_dispatch", + "rand 0.7.3", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "aptos-short-hex-str" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "mirai-annotations", + "serde", + "static_assertions", + "thiserror", +] + +[[package]] +name = "aptos-speculative-state-helper" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-infallible", + "crossbeam", + "rayon", +] + +[[package]] +name = "aptos-storage-interface" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-experimental-runtimes", + "aptos-logger", + "aptos-metrics-core", + "aptos-scratchpad", + "aptos-secure-net", + "aptos-types", + "aptos-vm", + "bcs 0.1.4", + "crossbeam-channel", + "dashmap 5.5.3", + "move-core-types", + "once_cell", + "parking_lot", + "proptest", + "proptest-derive", + "rayon", + "serde", + "thiserror", + "threadpool", +] + +[[package]] +name = "aptos-system-utils" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0#338f9a1bcc06f62ce4a4994f1642b9a61b631ee0" +dependencies = [ + "anyhow", + "aptos-profiler", + "async-mutex", + "http 0.2.12", + "hyper 0.14.30", + "lazy_static", + "mime", + "pprof", + "regex", + "rstack-self", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "aptos-table-natives" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-gas-schedule", + "aptos-native-interface", + "better_any", + "bytes 1.7.2", + "move-binary-format", + "move-core-types", + "move-table-extension", + "move-vm-runtime", + "move-vm-types", + "sha3", + "smallvec", +] + +[[package]] +name = "aptos-temppath" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "hex", + "rand 0.7.3", +] + +[[package]] +name = "aptos-time-service" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-infallible", + "enum_dispatch", + "futures", + "pin-project 1.1.6", + "thiserror", + "tokio", +] + +[[package]] +name = "aptos-types" +version = "0.0.3" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-bitvec", + "aptos-crypto", + "aptos-crypto-derive", + "aptos-dkg", + "aptos-experimental-runtimes", + "aptos-infallible", + "ark-bn254", + "ark-ff 0.4.2", + "ark-groth16", + "ark-serialize 0.4.2", + "arr_macro", + "base64 0.13.1", + "bcs 0.1.4", + "bytes 1.7.2", + "fixed", + "fxhash", + "hashbrown 0.14.5", + "hex", + "itertools 0.12.1", + "jsonwebtoken 8.3.0", + "move-binary-format", + "move-bytecode-verifier", + "move-core-types", + "move-table-extension", + "move-vm-runtime", + "move-vm-types", + "num-bigint 0.3.3", + "num-derive", + "num-traits", + "once_cell", + "passkey-types", + "poem-openapi", + "poem-openapi-derive", + "proptest", + "proptest-derive", + "quick_cache", + "rand 0.7.3", + "rayon", + "ring 0.16.20", + "rsa 0.9.6", + "serde", + "serde-big-array", + "serde_bytes", + "serde_json", + "serde_with", + "serde_yaml 0.8.26", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror", +] + +[[package]] +name = "aptos-utils" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" + +[[package]] +name = "aptos-vault-client" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-crypto", + "base64 0.13.1", + "chrono", + "native-tls", + "once_cell", + "serde", + "serde_json", + "thiserror", + "ureq", +] + +[[package]] +name = "aptos-vm" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-block-executor", + "aptos-block-partitioner", + "aptos-crypto", + "aptos-crypto-derive", + "aptos-experimental-runtimes", + "aptos-framework", + "aptos-gas-algebra", + "aptos-gas-meter", + "aptos-gas-schedule", + "aptos-infallible", + "aptos-logger", + "aptos-memory-usage-tracker", + "aptos-metrics-core", + "aptos-move-stdlib", + "aptos-mvhashmap", + "aptos-native-interface", + "aptos-table-natives", + "aptos-types", + "aptos-utils", + "aptos-vm-logging", + "aptos-vm-types", + "ark-bn254", + "ark-groth16", + "bcs 0.1.4", + "bytes 1.7.2", + "claims", + "crossbeam-channel", + "derive_more 0.99.18", + "fail", + "futures", + "hex", + "move-binary-format", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "num_cpus", + "once_cell", + "ouroboros", + "rand 0.7.3", + "rayon", + "serde", +] + +[[package]] +name = "aptos-vm-genesis" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-cached-packages", + "aptos-crypto", + "aptos-framework", + "aptos-gas-schedule", + "aptos-types", + "aptos-vm", + "bcs 0.1.4", + "bytes 1.7.2", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "once_cell", + "rand 0.7.3", + "serde", +] + +[[package]] +name = "aptos-vm-logging" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "aptos-crypto", + "aptos-logger", + "aptos-metrics-core", + "aptos-speculative-state-helper", + "aptos-types", + "arc-swap", + "once_cell", + "serde", +] + +[[package]] +name = "aptos-vm-types" +version = "0.0.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-types", + "bcs 0.1.4", + "bytes 1.7.2", + "claims", + "either", + "move-binary-format", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "rand 0.7.3", + "serde", +] + +[[package]] +name = "aptos-vm-validator" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "aptos-logger", + "aptos-storage-interface", + "aptos-types", + "aptos-vm", + "aptos-vm-logging", + "fail", + "rand 0.7.3", +] + +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +dependencies = [ + "derive_arbitrary", +] + +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "ark-bls12-381" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-crypto-primitives" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-relations", + "ark-serialize 0.4.2", + "ark-snark", + "ark-std 0.4.0", + "blake2", + "derivative", + "digest 0.10.7", + "rayon", + "sha2 0.10.8", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff 0.4.2", + "ark-poly", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", + "itertools 0.10.5", + "num-traits", + "rayon", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint 0.4.6", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint 0.4.6", + "num-traits", + "paste", + "rayon", + "rustc_version 0.4.1", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-groth16" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" +dependencies = [ + "ark-crypto-primitives", + "ark-ec", + "ark-ff 0.4.2", + "ark-poly", + "ark-relations", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "rayon", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", + "rayon", +] + +[[package]] +name = "ark-relations" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" +dependencies = [ + "ark-ff 0.4.2", + "ark-std 0.4.0", + "tracing", + "tracing-subscriber 0.2.25", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint 0.4.6", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-snark" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" +dependencies = [ + "ark-ff 0.4.2", + "ark-relations", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", + "rayon", +] + +[[package]] +name = "arr_macro" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c49336e062fa2ae8aca17a2f99c34d9c1a5d30827e8aff1cb4c294f253afe992" +dependencies = [ + "arr_macro_impl", + "proc-macro-hack", + "proc-macro-nested", +] + +[[package]] +name = "arr_macro_impl" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c6368f9ae5c6ec403ca910327ae0c9437b0a85255b6950c90d497e6177f6e5e" +dependencies = [ + "proc-macro-hack", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" +dependencies = [ + "nodrop", +] + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite", + "log", + "parking", + "polling", + "rustix 0.37.27", + "slab", + "socket2 0.4.10", + "waker-fn", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-mutex" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +dependencies = [ + "event-listener", +] + +[[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.79", +] + +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "async-trait" +version = "0.1.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.1", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "aws-config" +version = "1.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7198e6f03240fdceba36656d8be440297b6b82270325908c7381f37d826a74f6" +dependencies = [ + "aws-credential-types", + "aws-runtime", + "aws-sdk-sso", + "aws-sdk-ssooidc", + "aws-sdk-sts", + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-types", + "bytes 1.7.2", + "fastrand 2.1.1", + "hex", + "http 0.2.12", + "ring 0.17.8", + "time", + "tokio", + "tracing", + "url", + "zeroize", +] + +[[package]] +name = "aws-credential-types" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" +dependencies = [ + "aws-smithy-async", + "aws-smithy-runtime-api", + "aws-smithy-types", + "zeroize", +] + +[[package]] +name = "aws-runtime" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a10d5c055aa540164d9561a0e2e74ad30f0dcf7393c3a92f6733ddf9c5762468" +dependencies = [ + "aws-credential-types", + "aws-sigv4", + "aws-smithy-async", + "aws-smithy-eventstream", + "aws-smithy-http", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-types", + "bytes 1.7.2", + "fastrand 2.1.1", + "http 0.2.12", + "http-body 0.4.6", + "once_cell", + "percent-encoding", + "pin-project-lite", + "tracing", + "uuid", +] + +[[package]] +name = "aws-sdk-s3" +version = "1.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef7861e9bdaff3e7f69cd636ceaa1d8d083076c69f69edc7f953a33661b86991" +dependencies = [ + "ahash 0.8.11", + "aws-credential-types", + "aws-runtime", + "aws-sigv4", + "aws-smithy-async", + "aws-smithy-checksums", + "aws-smithy-eventstream", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-smithy-xml", + "aws-types", + "bytes 1.7.2", + "fastrand 2.1.1", + "hex", + "hmac 0.12.1", + "http 0.2.12", + "http-body 0.4.6", + "lru 0.12.5", + "once_cell", + "percent-encoding", + "regex-lite", + "sha2 0.10.8", + "tracing", + "url", +] + +[[package]] +name = "aws-sdk-sso" +version = "1.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc2faec3205d496c7e57eff685dd944203df7ce16a4116d0281c44021788a7b" +dependencies = [ + "aws-credential-types", + "aws-runtime", + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-types", + "bytes 1.7.2", + "http 0.2.12", + "once_cell", + "regex-lite", + "tracing", +] + +[[package]] +name = "aws-sdk-ssooidc" +version = "1.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c93c241f52bc5e0476e259c953234dab7e2a35ee207ee202e86c0095ec4951dc" +dependencies = [ + "aws-credential-types", + "aws-runtime", + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-types", + "bytes 1.7.2", + "http 0.2.12", + "once_cell", + "regex-lite", + "tracing", +] + +[[package]] +name = "aws-sdk-sts" +version = "1.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b259429be94a3459fa1b00c5684faee118d74f9577cc50aebadc36e507c63b5f" +dependencies = [ + "aws-credential-types", + "aws-runtime", + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-query", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-smithy-xml", + "aws-types", + "http 0.2.12", + "once_cell", + "regex-lite", + "tracing", +] + +[[package]] +name = "aws-sigv4" +version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc8db6904450bafe7473c6ca9123f88cc11089e41a025408f992db4e22d3be68" +dependencies = [ + "aws-credential-types", + "aws-smithy-eventstream", + "aws-smithy-http", + "aws-smithy-runtime-api", + "aws-smithy-types", + "bytes 1.7.2", + "crypto-bigint 0.5.5", + "form_urlencoded", + "hex", + "hmac 0.12.1", + "http 0.2.12", + "http 1.1.0", + "once_cell", + "p256 0.11.1", + "percent-encoding", + "ring 0.17.8", + "sha2 0.10.8", + "subtle", + "time", + "tracing", + "zeroize", +] + +[[package]] +name = "aws-smithy-async" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" +dependencies = [ + "futures-util", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "aws-smithy-checksums" +version = "0.60.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" +dependencies = [ + "aws-smithy-http", + "aws-smithy-types", + "bytes 1.7.2", + "crc32c", + "crc32fast", + "hex", + "http 0.2.12", + "http-body 0.4.6", + "md-5", + "pin-project-lite", + "sha1", + "sha2 0.10.8", + "tracing", +] + +[[package]] +name = "aws-smithy-eventstream" +version = "0.60.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cef7d0a272725f87e51ba2bf89f8c21e4df61b9e49ae1ac367a6d69916ef7c90" +dependencies = [ + "aws-smithy-types", + "bytes 1.7.2", + "crc32fast", +] + +[[package]] +name = "aws-smithy-http" +version = "0.60.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" +dependencies = [ + "aws-smithy-eventstream", + "aws-smithy-runtime-api", + "aws-smithy-types", + "bytes 1.7.2", + "bytes-utils", + "futures-core", + "http 0.2.12", + "http-body 0.4.6", + "once_cell", + "percent-encoding", + "pin-project-lite", + "pin-utils", + "tracing", +] + +[[package]] +name = "aws-smithy-json" +version = "0.60.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" +dependencies = [ + "aws-smithy-types", +] + +[[package]] +name = "aws-smithy-query" +version = "0.60.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb" +dependencies = [ + "aws-smithy-types", + "urlencoding", +] + +[[package]] +name = "aws-smithy-runtime" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a065c0fe6fdbdf9f11817eb68582b2ab4aff9e9c39e986ae48f7ec576c6322db" +dependencies = [ + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-runtime-api", + "aws-smithy-types", + "bytes 1.7.2", + "fastrand 2.1.1", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "http-body 1.0.1", + "httparse", + "hyper 0.14.30", + "hyper-rustls 0.24.2", + "once_cell", + "pin-project-lite", + "pin-utils", + "rustls 0.21.12", + "tokio", + "tracing", +] + +[[package]] +name = "aws-smithy-runtime-api" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" +dependencies = [ + "aws-smithy-async", + "aws-smithy-types", + "bytes 1.7.2", + "http 0.2.12", + "http 1.1.0", + "pin-project-lite", + "tokio", + "tracing", + "zeroize", +] + +[[package]] +name = "aws-smithy-types" +version = "1.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" +dependencies = [ + "base64-simd", + "bytes 1.7.2", + "bytes-utils", + "futures-core", + "http 0.2.12", + "http 1.1.0", + "http-body 0.4.6", + "http-body 1.0.1", + "http-body-util", + "itoa", + "num-integer", + "pin-project-lite", + "pin-utils", + "ryu", + "serde", + "time", + "tokio", + "tokio-util", +] + +[[package]] +name = "aws-smithy-xml" +version = "0.60.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab0b0166827aa700d3dc519f72f8b3a91c35d0b8d042dc5d643a91e6f80648fc" +dependencies = [ + "xmlparser", +] + +[[package]] +name = "aws-types" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef" +dependencies = [ + "aws-credential-types", + "aws-smithy-async", + "aws-smithy-runtime-api", + "aws-smithy-types", + "rustc_version 0.4.1", + "tracing", +] + +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core 0.3.4", + "bitflags 1.3.2", + "bytes 1.7.2", + "futures-util", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.30", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper 0.1.2", + "tower 0.4.13", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504e3947307ac8326a5437504c517c4b56716c9d98fac0028c2acc7ca47d70ae" +dependencies = [ + "async-trait", + "axum-core 0.4.5", + "bytes 1.7.2", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper 1.0.1", + "tower 0.5.1", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes 1.7.2", + "futures-util", + "http 0.2.12", + "http-body 0.4.6", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +dependencies = [ + "async-trait", + "bytes 1.7.2", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 1.0.1", + "tower-layer", + "tower-service", +] + +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" + +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom 0.2.15", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", +] + +[[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 = "base-x" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" + +[[package]] +name = "base16ct" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[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 = "base64-simd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" +dependencies = [ + "outref", + "vsimd", +] + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bb8" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b10cf871f3ff2ce56432fddc2615ac7acc3aa22ca321f8fea800846fbb32f188" +dependencies = [ + "async-trait", + "futures-util", + "parking_lot", + "tokio", +] + +[[package]] +name = "bcs" +version = "0.1.4" +source = "git+https://github.com/aptos-labs/bcs.git?rev=d31fab9d81748e2594be5cd5cdf845786a30562d#d31fab9d81748e2594be5cd5cdf845786a30562d" +dependencies = [ + "serde", + "thiserror", +] + +[[package]] +name = "bcs" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b6598a2f5d564fb7855dc6b06fd1c38cff5a72bd8b863a4d021938497b440a" +dependencies = [ + "serde", + "thiserror", +] + +[[package]] +name = "bech32" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" + +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + +[[package]] +name = "bellpepper" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae286c2cb403324ab644c7cc68dceb25fe52ca9429908a726d7ed272c1edf7b" +dependencies = [ + "bellpepper-core", + "byteorder", + "ff 0.13.0", +] + +[[package]] +name = "bellpepper-core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8abb418570756396d722841b19edfec21d4e89e1cf8990610663040ecb1aea" +dependencies = [ + "blake2s_simd", + "byteorder", + "ff 0.13.0", + "serde", + "thiserror", +] + +[[package]] +name = "better_any" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b359aebd937c17c725e19efcb661200883f04c49c53e7132224dac26da39d4a0" +dependencies = [ + "better_typeid_derive", +] + +[[package]] +name = "better_typeid_derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3deeecb812ca5300b7d3f66f730cc2ebd3511c3d36c691dd79c165d5b19a26e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bigdecimal" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d712318a27c7150326677b321a5fa91b55f6d9034ffd67f20319e147d40cee" +dependencies = [ + "autocfg", + "libm", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "bimap" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bindgen" +version = "0.69.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.12.1", + "lazy_static", + "lazycell", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.79", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty 1.1.0", + "radium 0.6.2", + "tap", + "wyz 0.2.0", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty 2.0.0", + "radium 0.7.0", + "tap", + "wyz 0.5.1", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2-rfc" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +dependencies = [ + "arrayvec 0.4.12", + "constant_time_eq 0.1.5", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "blake2s_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "blake3" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "cc", + "cfg-if", + "constant_time_eq 0.3.1", + "digest 0.10.7", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "block-padding 0.2.1", + "generic-array", +] + +[[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 = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blockstore" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc99329facbb960effbe7ed707c753a718877c1878eb8ca08704fa391c494020" +dependencies = [ + "cid", + "dashmap 6.1.0", + "multihash", + "thiserror", +] + +[[package]] +name = "blst" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "blstrs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a8a8ed6fefbeef4a8c7b460e4110e12c5e22a5b7cf32621aae6ad650c4dcf29" +dependencies = [ + "blst", + "byte-slice-cast", + "ff 0.13.0", + "group 0.13.0", + "pairing", + "rand_core 0.6.4", + "serde", + "subtle", +] + +[[package]] +name = "borsh" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" +dependencies = [ + "borsh-derive 0.10.4", + "hashbrown 0.13.2", +] + +[[package]] +name = "borsh" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" +dependencies = [ + "borsh-derive 1.5.1", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +dependencies = [ + "once_cell", + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.79", + "syn_derive", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bridge-config" +version = "0.0.2" +dependencies = [ + "alloy", + "anyhow", + "aptos-crypto", + "aptos-sdk", + "dot-movement", + "godfig", + "rand 0.7.3", + "serde", + "tokio", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "bridge-integration-tests" +version = "0.0.2" +dependencies = [ + "alloy", + "alloy-contract", + "alloy-network", + "alloy-sol-types", + "anyhow", + "aptos-framework", + "aptos-language-e2e-tests", + "aptos-logger", + "aptos-sdk", + "aptos-types", + "bcs 0.1.4", + "bridge-config", + "bridge-service", + "bridge-setup", + "dot-movement", + "futures", + "godfig", + "hex", + "rand 0.7.3", + "reqwest 0.12.8", + "serde_json", + "tokio", + "tokio-stream", + "tracing", + "tracing-subscriber 0.3.18", + "url", +] + +[[package]] +name = "bridge-service" +version = "0.0.2" +dependencies = [ + "alloy", + "alloy-network", + "alloy-rlp", + "anyhow", + "aptos-api", + "aptos-api-types", + "aptos-sdk", + "aptos-types", + "async-stream", + "async-trait", + "bcs 0.1.4", + "bridge-config", + "delegate", + "derive-new", + "derive_more 0.99.18", + "dot-movement", + "futures", + "futures-time", + "futures-timer", + "godfig", + "hex", + "keccak-hash", + "mcr-settlement-client", + "rand 0.7.3", + "rand_chacha 0.2.2", + "reqwest 0.12.8", + "serde", + "serde_json", + "serde_with", + "thiserror", + "tokio", + "tokio-stream", + "tracing", + "tracing-subscriber 0.3.18", + "url", +] + +[[package]] +name = "bridge-setup" +version = "0.0.2" +dependencies = [ + "alloy", + "alloy-primitives 0.7.7", + "anyhow", + "aptos-sdk", + "bridge-config", + "bridge-service", + "commander", + "dot-movement", + "godfig", + "hex", + "k256", + "maptos-execution-util", + "mcr-settlement-config", + "rand 0.7.3", + "serde_json", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bstr" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +dependencies = [ + "memchr", + "regex-automata 0.4.8", + "serde", +] + +[[package]] +name = "buildtime" +version = "0.0.2" +dependencies = [ + "anyhow", + "buildtime-helpers", + "buildtime-macros", +] + +[[package]] +name = "buildtime-helpers" +version = "0.0.2" +dependencies = [ + "anyhow", + "serde_json", + "toml 0.8.19", +] + +[[package]] +name = "buildtime-macros" +version = "0.0.2" +dependencies = [ + "buildtime-helpers", + "quote", + "syn 2.0.79", + "tonic-build", +] + +[[package]] +name = "bulletproofs" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40e698f1df446cc6246afd823afbe2d121134d089c9102c1dd26d1264991ba32" +dependencies = [ + "byteorder", + "clear_on_drop", + "curve25519-dalek-ng", + "digest 0.9.0", + "merlin", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "serde_derive", + "sha3", + "subtle-ng", + "thiserror", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "bytecount" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" + +[[package]] +name = "bytemuck" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" + +[[package]] +name = "bytes" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +dependencies = [ + "serde", +] + +[[package]] +name = "bytes-utils" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35" +dependencies = [ + "bytes 1.7.2", + "either", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "c-kzg" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", +] + +[[package]] +name = "c_linked_list" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" + +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", +] + +[[package]] +name = "canonical_json" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89083fd014d71c47a718d7f4ac050864dac8587668dbe90baf9e261064c5710" +dependencies = [ + "hex", + "regex", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "captcha" +version = "0.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db21780337b425f968a2c3efa842eeaa4fe53d2bcb1eb27d2877460a862fb0ab" +dependencies = [ + "base64 0.13.1", + "hound", + "image", + "lodepng", + "rand 0.8.5", + "serde_json", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.23", + "serde", + "serde_json", +] + +[[package]] +name = "cassowary" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] + +[[package]] +name = "cc" +version = "1.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "celestia-proto" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cde2c574760f88d5a6da8dfc55dbb79d91f4da15aa87b9e0d57d4d3a8fa5687" +dependencies = [ + "anyhow", + "celestia-tendermint-proto", + "prost 0.12.6", + "prost-build 0.12.6", + "prost-types 0.12.6", + "serde", +] + +[[package]] +name = "celestia-rpc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5110ce517363b075f3880f4bc88fd1f5c0b3f711a11daa3c34c66da7ae94b9a7" +dependencies = [ + "async-trait", + "celestia-types", + "http 1.1.0", + "jsonrpsee 0.24.6", + "serde", + "thiserror", + "tracing", +] + +[[package]] +name = "celestia-tendermint" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8c92a01145f79a0f3ac7c44a43a9b5ee58e8a4c716b56d98833a3848db1afd" +dependencies = [ + "bytes 1.7.2", + "celestia-tendermint-proto", + "digest 0.10.7", + "ed25519 2.2.3", + "ed25519-consensus", + "flex-error", + "futures", + "num-traits", + "once_cell", + "prost 0.12.6", + "prost-types 0.12.6", + "serde", + "serde_bytes", + "serde_json", + "serde_repr", + "sha2 0.10.8", + "signature 2.2.0", + "subtle", + "subtle-encoding", + "time", + "zeroize", +] + +[[package]] +name = "celestia-tendermint-proto" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a95746c5221a74d7b913a415fdbb9e7c90e1b4d818dbbff59bddc034cfce2ec" +dependencies = [ + "bytes 1.7.2", + "flex-error", + "num-derive", + "num-traits", + "prost 0.12.6", + "prost-types 0.12.6", + "serde", + "serde_bytes", + "subtle-encoding", + "time", +] + +[[package]] +name = "celestia-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08e6a207db787043faf6b630e2caa365d5be1b72553d541a75cfd4e17086191c" +dependencies = [ + "base64 0.22.1", + "bech32", + "blockstore", + "bytes 1.7.2", + "celestia-proto", + "celestia-tendermint", + "celestia-tendermint-proto", + "cid", + "const_format", + "enum_dispatch", + "leopard-codec", + "libp2p-identity", + "multiaddr", + "multihash", + "nmt-rs", + "ruint", + "serde", + "serde_repr", + "sha2 0.10.8", + "thiserror", + "time", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[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.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.52.6", +] + +[[package]] +name = "chrono-tz" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" +dependencies = [ + "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" +dependencies = [ + "parse-zoneinfo", + "phf", + "phf_codegen", +] + +[[package]] +name = "chunked_transfer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half 2.4.1", +] + +[[package]] +name = "cid" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" +dependencies = [ + "core2", + "multibase", + "multihash", + "unsigned-varint 0.8.0", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "claims" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6995bbe186456c36307f8ea36be3eefe42f49d106896414e18efc4fb2f846b5" +dependencies = [ + "autocfg", +] + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags 1.3.2", + "strsim 0.8.0", + "textwrap 0.11.0", + "unicode-width", + "vec_map", +] + +[[package]] +name = "clap" +version = "4.5.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", +] + +[[package]] +name = "clap_derive" +version = "4.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "clap_lex" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" + +[[package]] +name = "clear_on_drop" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38508a63f4979f0048febc9966fadbd48e5dab31fd0ec6a3f151bbf4a74f7423" +dependencies = [ + "cc", +] + +[[package]] +name = "cloud-storage" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7602ac4363f68ac757d6b87dd5d850549a14d37489902ae639c06ecec06ad275" +dependencies = [ + "async-trait", + "base64 0.13.1", + "bytes 1.7.2", + "chrono", + "dotenv", + "futures-util", + "hex", + "jsonwebtoken 7.2.0", + "lazy_static", + "pem 0.8.3", + "percent-encoding", + "reqwest 0.11.27", + "ring 0.16.20", + "serde", + "serde_json", + "tokio", +] + +[[package]] +name = "cmac" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8543454e3c3f5126effff9cd44d562af4e31fb8ce1cc0d3dcd8f084515dbc1aa" +dependencies = [ + "cipher", + "dbl", + "digest 0.10.7", +] + +[[package]] +name = "codespan" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" +dependencies = [ + "codespan-reporting", + "serde", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "serde", + "termcolor", + "unicode-width", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "colored" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" +dependencies = [ + "lazy_static", + "windows-sys 0.48.0", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes 1.7.2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "commander" +version = "0.0.2" +dependencies = [ + "anyhow", + "futures", + "tokio", + "tracing", +] + +[[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 = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "console-api" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a257c22cd7e487dd4a13d413beabc512c5052f0bc048db0da6a84c3d8a6142fd" +dependencies = [ + "futures-core", + "prost 0.12.6", + "prost-types 0.12.6", + "tonic 0.11.0", + "tracing-core", +] + +[[package]] +name = "console-subscriber" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c4cc54bae66f7d9188996404abdf7fdfa23034ef8e43478c8810828abad758" +dependencies = [ + "console-api", + "crossbeam-channel", + "crossbeam-utils", + "futures-task", + "hdrhistogram", + "humantime", + "prost 0.12.6", + "prost-types 0.12.6", + "serde", + "serde_json", + "thread_local", + "tokio", + "tokio-stream", + "tonic 0.11.0", + "tracing", + "tracing-core", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "const-hex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "tiny-keccak", +] + +[[package]] +name = "const_fn" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373e9fafaa20882876db20562275ff58d50e0caa2590077fe7ce7bef90211d0d" + +[[package]] +name = "const_format" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c655d81ff1114fb0dcdea9225ea9f0cc712a6f8d189378e82bdf62a473a64b" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff1a44b93f47b1bac19a27932f5c591e43d1ba357ee4f61526c8a25603f0eb1" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[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.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +dependencies = [ + "aes-gcm", + "base64 0.21.7", + "hkdf 0.12.4", + "hmac 0.12.1", + "percent-encoding", + "rand 0.8.5", + "sha2 0.10.8", + "subtle", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +dependencies = [ + "cookie", + "idna 0.3.0", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + +[[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-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + +[[package]] +name = "core_affinity" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622892f5635ce1fc38c8f16dfc938553ed64af482edb5e150bf4caedbfcb2304" +dependencies = [ + "libc", + "num_cpus", + "winapi 0.3.9", +] + +[[package]] +name = "coset" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8cc80f631f8307b887faca24dcc3abc427cd0367f6eb6188f6e8f5b7ad8fb" +dependencies = [ + "ciborium", + "ciborium-io", +] + +[[package]] +name = "cpp_demangle" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "cpufeatures" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32c" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" +dependencies = [ + "rustc_version 0.4.1", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "criterion" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" +dependencies = [ + "atty", + "cast", + "clap 2.34.0", + "criterion-plot", + "csv", + "itertools 0.10.5", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_cbor", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" +dependencies = [ + "cast", + "itertools 0.10.5", +] + +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crossterm" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +dependencies = [ + "bitflags 1.3.2", + "crossterm_winapi", + "libc", + "mio 0.8.11", + "parking_lot", + "signal-hook", + "signal-hook-mio", + "winapi 0.3.9", +] + +[[package]] +name = "crossterm" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" +dependencies = [ + "bitflags 1.3.2", + "crossterm_winapi", + "libc", + "mio 0.8.11", + "parking_lot", + "signal-hook", + "signal-hook-mio", + "winapi 0.3.9", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "crypto-bigint" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "crypto-mac" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4857fd85a0c34b3c3297875b747c1e02e06b6a0ea32dd892d8192b9ce0813ea6" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "csv" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" +dependencies = [ + "memchr", +] + +[[package]] +name = "ctor" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "ctrlc" +version = "3.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +dependencies = [ + "nix 0.29.0", + "windows-sys 0.59.0", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-ng" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "serde", + "subtle-ng", + "zeroize", +] + +[[package]] +name = "darling" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core 0.14.4", + "darling_macro 0.14.4", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core 0.20.10", + "darling_macro 0.20.10", +] + +[[package]] +name = "darling_core" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 1.0.109", +] + +[[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 0.11.1", + "syn 2.0.79", +] + +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core 0.14.4", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core 0.20.10", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" + +[[package]] +name = "data-encoding-macro" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" +dependencies = [ + "data-encoding", + "data-encoding-macro-internal", +] + +[[package]] +name = "data-encoding-macro-internal" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" +dependencies = [ + "data-encoding", + "syn 1.0.109", +] + +[[package]] +name = "dbl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd2735a791158376708f9347fe8faba9667589d82427ef3aed6794a8981de3d9" +dependencies = [ + "generic-array", +] + +[[package]] +name = "deadpool" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421fe0f90f2ab22016f32a9881be5134fdd71c65298917084b0c7477cbc3856e" +dependencies = [ + "async-trait", + "deadpool-runtime", + "num_cpus", + "retain_mut", + "tokio", +] + +[[package]] +name = "deadpool-redis" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b8bde44cbfdf17ae5baa45c9f43073b320f1a19955389315629304a23909ad2" +dependencies = [ + "deadpool", + "redis", +] + +[[package]] +name = "deadpool-runtime" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" +dependencies = [ + "tokio", +] + +[[package]] +name = "debugid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" +dependencies = [ + "uuid", +] + +[[package]] +name = "delegate" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e018fccbeeb50ff26562ece792ed06659b9c2dae79ece77c4456bb10d9bf79b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "der" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +dependencies = [ + "const-oid 0.7.1", + "crypto-bigint 0.3.2", + "pem-rfc7468 0.3.1", +] + +[[package]] +name = "der" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" +dependencies = [ + "const-oid 0.9.6", + "zeroize", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid 0.9.6", + "pem-rfc7468 0.7.0", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivation-path" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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.79", +] + +[[package]] +name = "derive_arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "derive_more" +version = "0.99.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.1", + "syn 2.0.79", +] + +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", + "unicode-xid", +] + +[[package]] +name = "deunicode" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00" + +[[package]] +name = "diesel" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98235fdc2f355d330a8244184ab6b4b33c28679c0b4158f63138e51d6cf7e88" +dependencies = [ + "bigdecimal", + "bitflags 2.6.0", + "byteorder", + "chrono", + "diesel_derives", + "itoa", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "pq-sys", + "r2d2", + "serde_json", +] + +[[package]] +name = "diesel-async" +version = "0.4.1" +source = "git+https://github.com/weiznich/diesel_async.git?rev=d02798c67065d763154d7272dd0c09b39757d0f2#d02798c67065d763154d7272dd0c09b39757d0f2" +dependencies = [ + "async-trait", + "bb8", + "diesel", + "futures-util", + "scoped-futures", + "tokio", + "tokio-postgres", +] + +[[package]] +name = "diesel_derives" +version = "2.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14701062d6bed917b5c7103bdffaee1e4609279e240488ad24e7bd979ca6866c" +dependencies = [ + "diesel_table_macro_syntax", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "diesel_migrations" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6036b3f0120c5961381b570ee20a02432d7e2d27ea60de9578799cf9156914ac" +dependencies = [ + "diesel", + "migrations_internals", + "migrations_macros", +] + +[[package]] +name = "diesel_table_macro_syntax" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" +dependencies = [ + "syn 2.0.79", +] + +[[package]] +name = "difference" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid 0.9.6", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "doctest-file" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" + +[[package]] +name = "dot-movement" +version = "0.0.2" +dependencies = [ + "anyhow", + "movement-types", + "serde", + "serde_json", + "syncup", + "tokio", +] + +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dw" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef0ed82b765c2ab79fb48e4bf2c95bd583202f4078a702bc714cc6e6f3ca80c3" +dependencies = [ + "dw-sys", + "foreign-types 0.5.0", + "libc", +] + +[[package]] +name = "dw-sys" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14eb35c87ff6626cd1021bb32bc7d9a5372ea72547e1eaf0343a841d9d55a973" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "dyn-clone" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + +[[package]] +name = "ecdsa" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +dependencies = [ + "der 0.6.1", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", + "signature 1.6.4", +] + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.9", + "digest 0.10.7", + "elliptic-curve 0.13.8", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.3", +] + +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "serde", + "signature 1.6.4", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8 0.10.2", + "signature 2.2.0", +] + +[[package]] +name = "ed25519-consensus" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +dependencies = [ + "curve25519-dalek-ng", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519 1.5.3", + "rand 0.7.3", + "serde", + "serde_bytes", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "ed25519-dalek-bip32" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" +dependencies = [ + "derivation-path", + "ed25519-dalek", + "hmac 0.12.1", + "sha2 0.10.8", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "elliptic-curve" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +dependencies = [ + "base16ct 0.1.1", + "crypto-bigint 0.4.9", + "der 0.6.1", + "digest 0.10.7", + "ff 0.12.1", + "generic-array", + "group 0.12.1", + "pkcs8 0.9.0", + "rand_core 0.6.4", + "sec1 0.3.0", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct 0.2.0", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff 0.13.0", + "generic-array", + "group 0.13.0", + "pem-rfc7468 0.7.0", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1 0.7.3", + "subtle", + "zeroize", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +dependencies = [ + "log", +] + +[[package]] +name = "env_logger" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +dependencies = [ + "env_filter", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "erased-serde" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" +dependencies = [ + "serde", +] + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "error-chain" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "version_check", +] + +[[package]] +name = "ethnum" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fail" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" +dependencies = [ + "log", + "once_cell", + "rand 0.8.5", +] + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec 0.7.6", + "auto_impl", + "bytes 1.7.2", +] + +[[package]] +name = "fdeflate" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec 1.0.1", + "byteorder", + "ff_derive", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "ff_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +dependencies = [ + "addchain", + "cfg-if", + "num-bigint 0.3.3", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "field_count" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284d5f85dd574cf01094bca24aefa69a43539dbfc72b1326f038d540b2daadc7" +dependencies = [ + "field_count_derive", +] + +[[package]] +name = "field_count_derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1320970ff3b1c1cacc6a38e8cdb1aced955f29627697cd992c5ded82eb646a8" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + +[[package]] +name = "findshlibs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" +dependencies = [ + "cc", + "lazy_static", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "fixed" +version = "1.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c6e0b89bf864acd20590dbdbad56f69aeb898abfc9443008fd7bd48b2cc85a" +dependencies = [ + "az", + "bytemuck", + "half 2.4.1", + "typenum", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "flex-error" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" +dependencies = [ + "eyre", + "paste", +] + +[[package]] +name = "flexi_logger" +version = "0.27.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469e584c031833564840fb0cdbce99bdfe946fd45480a188545e73a76f45461c" +dependencies = [ + "chrono", + "glob", + "is-terminal", + "lazy_static", + "log", + "nu-ansi-term 0.49.0", + "regex", + "thiserror", +] + +[[package]] +name = "flocks" +version = "0.0.2" +dependencies = [ + "anyhow", + "futures", + "rustix 0.38.37", + "serde", + "tempfile", + "thiserror", + "tokio", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + +[[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 0.3.1", +] + +[[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.79", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[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 = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[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 = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[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.79", +] + +[[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-time" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6404853a6824881fe5f7d662d147dc4e84ecd2259ba0378f272a71dab600758a" +dependencies = [ + "async-channel", + "async-io", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "futures_codec" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b" +dependencies = [ + "bytes 0.5.6", + "futures", + "memchr", + "pin-project 0.4.30", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gcc" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "get_if_addrs" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7" +dependencies = [ + "c_linked_list", + "get_if_addrs-sys", + "libc", + "winapi 0.2.8", +] + +[[package]] +name = "get_if_addrs-sys" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d04f9fb746cf36b191c00f3ede8bde9c8e64f9f4b05ae2694a9ccf5e3f5ab48" +dependencies = [ + "gcc", + "libc", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "git2" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2994bee4a3a6a51eb90c218523be382fd7ea09b16380b9312e9dbe955ff7c7d1" +dependencies = [ + "bitflags 1.3.2", + "libc", + "libgit2-sys", + "log", + "url", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", +] + +[[package]] +name = "globwalk" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" +dependencies = [ + "bitflags 2.6.0", + "ignore", + "walkdir", +] + +[[package]] +name = "godfig" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-stream", + "flocks", + "futures", + "serde", + "serde_json", + "tempfile", + "thiserror", + "tokio", +] + +[[package]] +name = "goldenfile" +version = "1.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "672ff1c2f0537cf3f92065ce8aa77e2fc3f2abae2c805eb67f40ceecfbdee428" +dependencies = [ + "scopeguard", + "similar-asserts", + "tempfile", + "yansi", +] + +[[package]] +name = "google-cloud-auth" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "931bedb2264cb00f914b0a6a5c304e34865c34306632d3932e0951a073e4a67d" +dependencies = [ + "async-trait", + "base64 0.21.7", + "google-cloud-metadata", + "google-cloud-token", + "home", + "jsonwebtoken 8.3.0", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "time", + "tokio", + "tracing", + "urlencoding", +] + +[[package]] +name = "google-cloud-gax" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bdaaa4bc036e8318274d1b25f0f2265b3e95418b765fd1ea1c7ef938fd69bd" +dependencies = [ + "google-cloud-token", + "http 0.2.12", + "thiserror", + "tokio", + "tokio-retry", + "tonic 0.9.2", + "tower 0.4.13", + "tracing", +] + +[[package]] +name = "google-cloud-googleapis" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a3b24a3f57be08afc02344e693afb55e48172c9c2ab86ff3fdb8efff550e4b9" +dependencies = [ + "prost 0.11.9", + "prost-types 0.11.9", + "tonic 0.9.2", +] + +[[package]] +name = "google-cloud-metadata" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96e4ad0802d3f416f62e7ce01ac1460898ee0efc98f8b45cd4aab7611607012f" +dependencies = [ + "reqwest 0.11.27", + "thiserror", + "tokio", +] + +[[package]] +name = "google-cloud-pubsub" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "095b104502b6e1abbad9b9768af944b9202e032dbc7f0947d3c30d4191761071" +dependencies = [ + "async-channel", + "async-stream", + "google-cloud-auth", + "google-cloud-gax", + "google-cloud-googleapis", + "google-cloud-token", + "prost-types 0.11.9", + "thiserror", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "google-cloud-storage" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22c57ca1d971d7c6f852c02eda4e87e88b1247b6ed8be9fa5b2768c68b0f2ca5" +dependencies = [ + "async-stream", + "base64 0.21.7", + "bytes 1.7.2", + "futures-util", + "google-cloud-auth", + "google-cloud-metadata", + "google-cloud-token", + "hex", + "once_cell", + "percent-encoding", + "regex", + "reqwest 0.11.27", + "ring 0.16.20", + "rsa 0.6.1", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror", + "time", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "google-cloud-token" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" +dependencies = [ + "async-trait", +] + +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff 0.12.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", + "rand 0.8.5", + "rand_core 0.6.4", + "rand_xorshift", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes 1.7.2", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.6.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes 1.7.2", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.6.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" + +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", +] + +[[package]] +name = "handlebars" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" +dependencies = [ + "log", + "pest", + "pest_derive", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.11", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash 0.8.11", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hdrhistogram" +version = "7.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" +dependencies = [ + "base64 0.21.7", + "byteorder", + "flate2", + "nom", + "num-traits", +] + +[[package]] +name = "headers" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" +dependencies = [ + "base64 0.21.7", + "bytes 1.7.2", + "headers-core", + "http 0.2.12", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +dependencies = [ + "http 0.2.12", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[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 = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hidapi" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "798154e4b6570af74899d71155fb0072d5b17e6aa12f39c8ef22c60fb8ec99e7" +dependencies = [ + "cc", + "libc", + "pkg-config", + "winapi 0.3.9", +] + +[[package]] +name = "hkdf" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f" +dependencies = [ + "digest 0.9.0", + "hmac 0.10.1", +] + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac 0.12.1", +] + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" +dependencies = [ + "crypto-mac 0.10.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +dependencies = [ + "digest 0.9.0", + "generic-array", + "hmac 0.8.1", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi 0.3.9", +] + +[[package]] +name = "hound" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" + +[[package]] +name = "howzit" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-cached-packages", + "aptos-framework", + "aptos-sdk", + "aptos-types", + "bcs 0.1.4", + "chrono", + "futures", + "godfig", + "rand 0.7.3", + "serde", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", + "url", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes 1.7.2", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes 1.7.2", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes 1.7.2", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes 1.7.2", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes 1.7.2", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +dependencies = [ + "bytes 1.7.2", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.5.7", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes 1.7.2", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.30", + "log", + "rustls 0.21.12", + "rustls-native-certs 0.6.3", + "tokio", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "log", + "rustls 0.23.14", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", +] + +[[package]] +name = "hyper-timeout" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +dependencies = [ + "hyper 0.14.30", + "pin-project-lite", + "tokio", + "tokio-io-timeout", +] + +[[package]] +name = "hyper-timeout" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +dependencies = [ + "hyper 1.4.1", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes 1.7.2", + "hyper 0.14.30", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes 1.7.2", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +dependencies = [ + "bytes 1.7.2", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", + "socket2 0.5.7", + "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", +] + +[[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 = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "ignore" +version = "0.4.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.8", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "im" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" +dependencies = [ + "bitmaps", + "rand_core 0.6.4", + "rand_xoshiro", + "sized-chunks", + "typenum", + "version_check", +] + +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-traits", + "png", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec 2.3.1", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec 3.6.12", +] + +[[package]] +name = "impl-serde" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "include_dir" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b56e147e6187d61e9d0f039f10e070d0c0a887e24fe0bb9ca3f29bfde62cab" +dependencies = [ + "glob", + "include_dir_impl", + "proc-macro-hack", +] + +[[package]] +name = "include_dir_impl" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a0c890c85da4bab7bce4204c707396bbd3c6c8a681716a51c8814cfc2b682df" +dependencies = [ + "anyhow", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[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.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +dependencies = [ + "equivalent", + "hashbrown 0.15.0", + "serde", +] + +[[package]] +name = "indoc" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" + +[[package]] +name = "inferno" +version = "0.11.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" +dependencies = [ + "ahash 0.8.11", + "clap 4.5.20", + "crossbeam-channel", + "crossbeam-utils", + "dashmap 6.1.0", + "env_logger", + "indexmap 2.6.0", + "is-terminal", + "itoa", + "log", + "num-format", + "once_cell", + "quick-xml 0.26.0", + "rgb", + "str_stack", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "block-padding 0.3.3", + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "integer-encoding" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" + +[[package]] +name = "internment" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ab388864246d58a276e60e7569a833d9cc4cd75c66e5ca77c177dad38e59996" +dependencies = [ + "ahash 0.7.8", + "dashmap 5.5.3", + "hashbrown 0.12.3", + "once_cell", + "parking_lot", +] + +[[package]] +name = "interprocess" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f4e4a06d42fab3e85ab1b419ad32b09eab58b901d40c57935ff92db3287a13" +dependencies = [ + "doctest-file", + "futures-core", + "libc", + "recvmsg", + "tokio", + "widestring 1.1.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + +[[package]] +name = "iprange" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37209be0ad225457e63814401415e748e2453a5297f9b637338f5fb8afa4ec00" +dependencies = [ + "ipnet", +] + +[[package]] +name = "is-terminal" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +dependencies = [ + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "is_debug" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06d198e9919d9822d5f7083ba8530e04de87841eaf21ead9af8f2304efd57c89" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jemalloc-sys" +version = "0.5.4+5.3.0-patched" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "jemallocator" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc" +dependencies = [ + "jemalloc-sys", + "libc", +] + +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpsee" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138572befc78a9793240645926f30161f8b4143d2be18d09e44ed9814bd7ee2c" +dependencies = [ + "jsonrpsee-types 0.20.4", +] + +[[package]] +name = "jsonrpsee" +version = "0.24.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02f01f48e04e0d7da72280ab787c9943695699c9b32b99158ece105e8ad0afea" +dependencies = [ + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-proc-macros", + "jsonrpsee-types 0.24.6", + "jsonrpsee-ws-client", + "tracing", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.24.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d80eccbd47a7b9f1e67663fd846928e941cb49c65236e297dd11c9ea3c5e3387" +dependencies = [ + "base64 0.22.1", + "futures-util", + "http 1.1.0", + "jsonrpsee-core", + "pin-project 1.1.6", + "rustls 0.23.14", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto", + "thiserror", + "tokio", + "tokio-rustls 0.26.0", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.24.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c2709a32915d816a6e8f625bf72cf74523ebe5d8829f895d6b041b1d3137818" +dependencies = [ + "async-trait", + "bytes 1.7.2", + "futures-timer", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types 0.24.6", + "pin-project 1.1.6", + "rustc-hash 2.0.0", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.24.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc54db939002b030e794fbfc9d5a925aa2854889c5a2f0352b0bffa54681707e" +dependencies = [ + "async-trait", + "base64 0.22.1", + "http-body 1.0.1", + "hyper 1.4.1", + "hyper-rustls 0.27.3", + "hyper-util", + "jsonrpsee-core", + "jsonrpsee-types 0.24.6", + "rustls 0.23.14", + "rustls-platform-verifier", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower 0.4.13", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.24.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a9a4b2eaba8cc928f49c4ccf4fcfa65b690a73997682da99ed08f3393b51f07" +dependencies = [ + "heck 0.5.0", + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3264e339143fe37ed081953842ee67bfafa99e3b91559bdded6e4abd8fc8535e" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.24.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ca331cd7b3fe95b33432825c2d4c9f5a43963e207fdc01ae67f9fd80ab0930f" +dependencies = [ + "http 1.1.0", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.24.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "755ca3da1c67671f1fae01cd1a47f41dfb2233a8f19a643e587ab0a663942044" +dependencies = [ + "http 1.1.0", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types 0.24.6", + "url", +] + +[[package]] +name = "jsonwebtoken" +version = "7.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afabcc15e437a6484fc4f12d0fd63068fe457bf93f1c148d3d9649c60b103f32" +dependencies = [ + "base64 0.12.3", + "pem 0.8.3", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1 0.4.1", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem 1.1.1", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1 0.6.2", +] + +[[package]] +name = "jsonwebtoken" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" +dependencies = [ + "base64 0.21.7", + "js-sys", + "pem 3.0.4", + "ring 0.17.8", + "serde", + "serde_json", + "simple_asn1 0.6.2", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "once_cell", + "sha2 0.10.8", + "signature 2.2.0", +] + +[[package]] +name = "kanal" +version = "0.1.0-pre8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05d55519627edaf7fd0f29981f6dc03fb52df3f5b257130eb8d0bf2801ea1d7" +dependencies = [ + "futures-core", + "lock_api", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "keccak-hash" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b286e6b663fb926e1eeb68528e69cb70ed46c6d65871a21b2215ae8154c6d3c" +dependencies = [ + "primitive-types 0.12.2", + "tiny-keccak", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin 0.9.8", +] + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "ledger-apdu" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe435806c197dfeaa5efcded5e623c4b8230fd28fdf1e91e7a86e40ef2acbf90" +dependencies = [ + "arrayref", + "no-std-compat", + "snafu", +] + +[[package]] +name = "ledger-transport" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1117f2143d92c157197785bf57711d7b02f2cfa101e162f8ca7900fb7f976321" +dependencies = [ + "async-trait", + "ledger-apdu", +] + +[[package]] +name = "ledger-transport-hid" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ba81a1f5f24396b37211478aff7fbcd605dd4544df8dbed07b9da3c2057aee" +dependencies = [ + "byteorder", + "cfg-if", + "hex", + "hidapi", + "ledger-transport", + "libc", + "log", + "thiserror", +] + +[[package]] +name = "leopard-codec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee58dbc414bd23885d7da915e0457618b36d1fc950a6169ef2cb29829d1b1a1d" +dependencies = [ + "bytes 1.7.2", + "lazy_static", + "thiserror", +] + +[[package]] +name = "libc" +version = "0.2.159" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" + +[[package]] +name = "libgit2-sys" +version = "0.14.2+1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4" +dependencies = [ + "cc", + "libc", + "libz-sys", + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libp2p-identity" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" +dependencies = [ + "bs58", + "hkdf 0.12.4", + "multihash", + "quick-protobuf", + "sha2 0.10.8", + "thiserror", + "tracing", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall", +] + +[[package]] +name = "librocksdb-sys" +version = "0.16.0+8.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "lz4-sys", + "zstd-sys", +] + +[[package]] +name = "libsecp256k1" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" +dependencies = [ + "arrayref", + "base64 0.13.1", + "digest 0.9.0", + "hmac-drbg", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.8.5", + "serde", + "sha2 0.9.9", + "typenum", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libusb1-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da050ade7ac4ff1ba5379af847a10a10a8e284181e060105bf8d86960ce9ce0f" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[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 = "lodepng" +version = "3.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2dea7cda68e381418c985fd8f32a9c279a21ae8c715f2376adb20c27a0fad3" +dependencies = [ + "crc32fast", + "flate2", + "libc", + "rgb", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +dependencies = [ + "serde", +] + +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown 0.12.3", +] + +[[package]] +name = "lru" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17" +dependencies = [ + "hashbrown 0.13.2", +] + +[[package]] +name = "lru" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown 0.15.0", +] + +[[package]] +name = "lz4" +version = "1.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" +dependencies = [ + "lz4-sys", +] + +[[package]] +name = "lz4-sys" +version = "1.11.1+lz4-1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "lz4_flex" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +dependencies = [ + "twox-hash", +] + +[[package]] +name = "m1-da-light-node" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-stream", + "bcs 0.1.4", + "celestia-rpc", + "celestia-types", + "chrono", + "dot-movement", + "futures", + "godfig", + "hex", + "m1-da-light-node-grpc", + "m1-da-light-node-util", + "m1-da-light-node-verifier", + "memseq", + "movement-algs", + "movement-tracing", + "movement-types", + "prost 0.13.3", + "serde", + "serde_json", + "tempfile", + "tokio", + "tokio-stream", + "tonic 0.12.3", + "tonic-reflection 0.12.3", + "tonic-web", + "tracing", + "zstd 0.13.2", +] + +[[package]] +name = "m1-da-light-node-client" +version = "0.0.2" +dependencies = [ + "anyhow", + "m1-da-light-node-grpc", + "movement-types", + "serde_json", + "tokio", + "tokio-stream", +] + +[[package]] +name = "m1-da-light-node-grpc" +version = "0.0.2" +dependencies = [ + "buildtime", + "prost 0.13.3", + "tonic 0.12.3", + "tonic-build", + "tonic-reflection 0.12.3", + "tonic-web", +] + +[[package]] +name = "m1-da-light-node-runners" +version = "0.0.2" +dependencies = [ + "anyhow", + "commander", + "dot-movement", + "godfig", + "hex", + "m1-da-light-node-util", + "rand 0.7.3", + "reqwest 0.12.8", + "serde", + "serde_json", + "tempfile", + "tokio", + "tokio-stream", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "m1-da-light-node-setup" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-recursion", + "celestia-rpc", + "celestia-types", + "commander", + "dot-movement", + "godfig", + "hex", + "m1-da-light-node-util", + "rand 0.7.3", + "reqwest 0.12.8", + "serde", + "serde_json", + "tempfile", + "tokio", + "tokio-stream", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "m1-da-light-node-util" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-stream", + "celestia-rpc", + "celestia-types", + "dot-movement", + "godfig", + "hex", + "jsonrpsee 0.20.4", + "m1-da-light-node-grpc", + "memseq-util", + "prost 0.13.3", + "serde", + "serde_derive", + "serde_json", + "tempfile", + "tokio", + "tokio-stream", + "toml 0.8.19", + "tonic 0.12.3", + "tonic-reflection 0.12.3", + "tonic-web", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "m1-da-light-node-verifier" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-stream", + "celestia-rpc", + "celestia-types", + "dot-movement", + "hex", + "m1-da-light-node-grpc", + "m1-da-light-node-setup", + "m1-da-light-node-util", + "prost 0.13.3", + "serde_json", + "tokio", + "tokio-stream", + "tonic 0.12.3", + "tonic-reflection 0.12.3", + "tonic-web", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "maptos-dof-execution" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-api", + "aptos-config", + "aptos-crypto", + "aptos-db", + "aptos-mempool", + "aptos-proptest-helpers", + "aptos-sdk", + "aptos-types", + "async-trait", + "chrono", + "futures", + "maptos-execution-util", + "maptos-fin-view", + "maptos-opt-executor", + "movement-types", + "rand 0.7.3", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "maptos-execution-util" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-sdk", + "aptos-types", + "godfig", + "hex", + "m1-da-light-node-util", + "rand 0.7.3", + "serde", + "serde_derive", + "serde_json", + "tempfile", + "toml 0.8.19", +] + +[[package]] +name = "maptos-fin-view" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-api", + "aptos-config", + "aptos-mempool", + "aptos-sdk", + "aptos-storage-interface", + "aptos-types", + "chrono", + "futures", + "maptos-execution-util", + "maptos-opt-executor", + "poem", + "rand 0.7.3", + "tokio", + "tracing", +] + +[[package]] +name = "maptos-opt-executor" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-api", + "aptos-api-types", + "aptos-bitvec", + "aptos-block-executor", + "aptos-cached-packages", + "aptos-config", + "aptos-consensus-types", + "aptos-crypto", + "aptos-db", + "aptos-executor", + "aptos-executor-test-helpers", + "aptos-executor-types", + "aptos-faucet-core", + "aptos-framework", + "aptos-indexer", + "aptos-indexer-grpc-fullnode", + "aptos-indexer-grpc-table-info", + "aptos-language-e2e-tests", + "aptos-logger", + "aptos-mempool", + "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", + "aptos-sdk", + "aptos-storage-interface", + "aptos-temppath", + "aptos-types", + "aptos-vm", + "aptos-vm-genesis", + "aptos-vm-logging", + "aptos-vm-types", + "aptos-vm-validator", + "async-trait", + "bcs 0.1.4", + "borsh 0.10.4", + "bytes 1.7.2", + "chrono", + "clap 4.5.20", + "derive_more 0.99.18", + "dirs", + "fail", + "futures", + "hex", + "lazy_static", + "maptos-execution-util", + "movement-rest", + "movement-types", + "poem", + "poem-openapi", + "rand 0.7.3", + "rand_core 0.5.1", + "schemars", + "serde", + "serde_json", + "tempfile", + "thiserror", + "tokio", + "tonic 0.12.3", + "tracing", + "tracing-test", +] + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "mcr-settlement-client" +version = "0.0.2" +dependencies = [ + "alloy", + "alloy-contract", + "alloy-network", + "alloy-primitives 0.7.7", + "alloy-provider", + "alloy-rpc-types", + "alloy-signer", + "alloy-sol-types", + "alloy-transport", + "alloy-transport-ws", + "anyhow", + "async-stream", + "async-trait", + "dot-movement", + "futures", + "godfig", + "mcr-settlement-config", + "movement-types", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-stream", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "mcr-settlement-config" +version = "0.0.2" +dependencies = [ + "alloy", + "anyhow", + "godfig", + "serde", +] + +[[package]] +name = "mcr-settlement-manager" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "futures", + "mcr-settlement-client", + "mcr-settlement-config", + "movement-types", + "serde_json", + "tokio", + "tokio-stream", +] + +[[package]] +name = "mcr-settlement-runner" +version = "0.0.2" +dependencies = [ + "alloy-primitives 0.7.7", + "anyhow", + "commander", + "dot-movement", + "godfig", + "k256", + "mcr-settlement-client", + "mcr-settlement-config", + "mcr-settlement-setup", + "rand 0.7.3", + "serde_json", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "mcr-settlement-setup" +version = "0.0.2" +dependencies = [ + "alloy", + "alloy-primitives 0.7.7", + "anyhow", + "commander", + "dot-movement", + "godfig", + "k256", + "mcr-settlement-client", + "mcr-settlement-config", + "rand 0.7.3", + "serde_json", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "mempool-util" +version = "0.0.2" +dependencies = [ + "anyhow", + "movement-types", + "serde", +] + +[[package]] +name = "memseq" +version = "0.0.2" +dependencies = [ + "anyhow", + "dot-movement", + "futures", + "mempool-util", + "memseq-util", + "move-rocks", + "movement-types", + "sequencing-util", + "serde", + "serde_derive", + "tempfile", + "tokio", + "toml 0.8.19", + "tracing", +] + +[[package]] +name = "memseq-util" +version = "0.0.2" +dependencies = [ + "anyhow", + "dot-movement", + "futures", + "godfig", + "serde", + "serde_derive", + "tempfile", + "toml 0.8.19", +] + +[[package]] +name = "merlin" +version = "3.0.0" +source = "git+https://github.com/aptos-labs/merlin#3454ccc85e37355c729ba40e6dac6e867ddf59f5" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "migrations_internals" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f23f71580015254b020e856feac3df5878c2c7a8812297edd6c0a485ac9dada" +dependencies = [ + "serde", + "toml 0.7.8", +] + +[[package]] +name = "migrations_macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cce3325ac70e67bbab5bd837a31cae01f1a6db64e0e744a33cb03a543469ef08" +dependencies = [ + "migrations_internals", + "proc-macro2", + "quote", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "mini-moka" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" +dependencies = [ + "crossbeam-channel", + "crossbeam-utils", + "dashmap 5.5.3", + "skeptic", + "smallvec", + "tagptr", + "triomphe", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "mio" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + +[[package]] +name = "mirai-annotations" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" + +[[package]] +name = "more-asserts" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" + +[[package]] +name = "move-abigen" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "heck 0.4.1", + "log", + "move-binary-format", + "move-bytecode-verifier", + "move-command-line-common", + "move-core-types", + "move-model", + "serde", +] + +[[package]] +name = "move-binary-format" +version = "0.0.3" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "backtrace", + "indexmap 1.9.3", + "move-bytecode-spec", + "move-core-types", + "ref-cast", + "serde", + "variant_count", +] + +[[package]] +name = "move-borrow-graph" +version = "0.0.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" + +[[package]] +name = "move-bytecode-source-map" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "move-binary-format", + "move-command-line-common", + "move-core-types", + "move-ir-types", + "move-symbol-pool", + "serde", +] + +[[package]] +name = "move-bytecode-spec" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "once_cell", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "move-bytecode-utils" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "move-binary-format", + "move-core-types", + "petgraph 0.5.1", + "serde-reflection", +] + +[[package]] +name = "move-bytecode-verifier" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "fail", + "move-binary-format", + "move-borrow-graph", + "move-core-types", + "petgraph 0.5.1", + "serde", + "typed-arena", +] + +[[package]] +name = "move-bytecode-viewer" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "clap 4.5.20", + "crossterm 0.26.1", + "move-binary-format", + "move-bytecode-source-map", + "move-disassembler", + "regex", + "tui", +] + +[[package]] +name = "move-cli" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "clap 4.5.20", + "codespan-reporting", + "colored", + "move-binary-format", + "move-bytecode-viewer", + "move-command-line-common", + "move-compiler", + "move-compiler-v2", + "move-core-types", + "move-coverage", + "move-disassembler", + "move-docgen", + "move-errmapgen", + "move-model", + "move-package", + "move-prover", + "move-stdlib", + "move-unit-test", + "move-vm-runtime", + "move-vm-test-utils", + "once_cell", + "tempfile", +] + +[[package]] +name = "move-command-line-common" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "difference", + "dirs-next", + "hex", + "move-core-types", + "num-bigint 0.3.3", + "once_cell", + "serde", + "sha2 0.9.9", + "walkdir", +] + +[[package]] +name = "move-compiler" +version = "0.0.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "clap 4.5.20", + "codespan-reporting", + "hex", + "move-binary-format", + "move-borrow-graph", + "move-bytecode-source-map", + "move-bytecode-verifier", + "move-command-line-common", + "move-core-types", + "move-ir-to-bytecode", + "move-ir-types", + "move-symbol-pool", + "once_cell", + "petgraph 0.5.1", + "regex", + "sha3", + "tempfile", +] + +[[package]] +name = "move-compiler-v2" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "abstract-domain-derive", + "anyhow", + "bcs 0.1.4", + "clap 4.5.20", + "codespan-reporting", + "ethnum", + "flexi_logger", + "im", + "itertools 0.12.1", + "log", + "move-binary-format", + "move-bytecode-source-map", + "move-bytecode-verifier", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-disassembler", + "move-ir-types", + "move-model", + "move-stackless-bytecode", + "move-symbol-pool", + "num", + "once_cell", + "petgraph 0.5.1", +] + +[[package]] +name = "move-core-types" +version = "0.0.4" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "arbitrary", + "bcs 0.1.4", + "bytes 1.7.2", + "ethnum", + "hashbrown 0.14.5", + "hex", + "num", + "once_cell", + "primitive-types 0.10.1", + "proptest", + "proptest-derive", + "rand 0.8.5", + "ref-cast", + "serde", + "serde_bytes", + "thiserror", + "uint", +] + +[[package]] +name = "move-coverage" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "clap 4.5.20", + "codespan", + "colored", + "move-binary-format", + "move-bytecode-source-map", + "move-command-line-common", + "move-core-types", + "move-ir-types", + "petgraph 0.5.1", + "serde", +] + +[[package]] +name = "move-disassembler" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "clap 4.5.20", + "colored", + "move-binary-format", + "move-bytecode-source-map", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-coverage", + "move-ir-types", +] + +[[package]] +name = "move-docgen" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "clap 4.5.20", + "codespan", + "codespan-reporting", + "itertools 0.12.1", + "log", + "move-compiler", + "move-core-types", + "move-model", + "once_cell", + "regex", + "serde", +] + +[[package]] +name = "move-errmapgen" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "move-command-line-common", + "move-core-types", + "move-model", + "serde", +] + +[[package]] +name = "move-ir-compiler" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "clap 4.5.20", + "move-binary-format", + "move-bytecode-source-map", + "move-bytecode-verifier", + "move-command-line-common", + "move-ir-to-bytecode", + "serde_json", +] + +[[package]] +name = "move-ir-to-bytecode" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "codespan-reporting", + "log", + "move-binary-format", + "move-bytecode-source-map", + "move-command-line-common", + "move-core-types", + "move-ir-to-bytecode-syntax", + "move-ir-types", + "move-symbol-pool", + "ouroboros", +] + +[[package]] +name = "move-ir-to-bytecode-syntax" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "hex", + "move-command-line-common", + "move-core-types", + "move-ir-types", + "move-symbol-pool", +] + +[[package]] +name = "move-ir-types" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "hex", + "move-command-line-common", + "move-core-types", + "move-symbol-pool", + "once_cell", + "serde", +] + +[[package]] +name = "move-model" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "codespan", + "codespan-reporting", + "internment", + "itertools 0.12.1", + "log", + "move-binary-format", + "move-bytecode-source-map", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-disassembler", + "move-ir-types", + "move-symbol-pool", + "num", + "num-traits", + "once_cell", + "regex", + "serde", +] + +[[package]] +name = "move-package" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "clap 4.5.20", + "colored", + "itertools 0.12.1", + "move-abigen", + "move-binary-format", + "move-bytecode-source-map", + "move-bytecode-utils", + "move-command-line-common", + "move-compiler", + "move-compiler-v2", + "move-core-types", + "move-docgen", + "move-model", + "move-symbol-pool", + "named-lock", + "once_cell", + "petgraph 0.5.1", + "regex", + "serde", + "serde_yaml 0.8.26", + "sha2 0.9.9", + "tempfile", + "termcolor", + "toml 0.7.8", + "walkdir", + "whoami", +] + +[[package]] +name = "move-prover" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "atty", + "clap 4.5.20", + "codespan-reporting", + "itertools 0.12.1", + "log", + "move-abigen", + "move-command-line-common", + "move-compiler", + "move-compiler-v2", + "move-docgen", + "move-errmapgen", + "move-model", + "move-prover-boogie-backend", + "move-prover-bytecode-pipeline", + "move-stackless-bytecode", + "once_cell", + "serde", + "simplelog", + "toml 0.7.8", +] + +[[package]] +name = "move-prover-boogie-backend" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "async-trait", + "codespan", + "codespan-reporting", + "futures", + "itertools 0.12.1", + "log", + "move-binary-format", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-model", + "move-prover-bytecode-pipeline", + "move-stackless-bytecode", + "num", + "once_cell", + "pretty", + "rand 0.7.3", + "regex", + "serde", + "tera", + "tokio", +] + +[[package]] +name = "move-prover-bytecode-pipeline" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "abstract-domain-derive", + "anyhow", + "codespan-reporting", + "itertools 0.12.1", + "log", + "move-binary-format", + "move-core-types", + "move-model", + "move-stackless-bytecode", + "serde", +] + +[[package]] +name = "move-resource-viewer" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "hex", + "move-binary-format", + "move-bytecode-utils", + "move-core-types", + "serde", +] + +[[package]] +name = "move-rocks" +version = "0.0.2" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "mempool-util", + "movement-types", + "rand 0.7.3", + "rocksdb", + "tempfile", + "tokio", +] + +[[package]] +name = "move-stackless-bytecode" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "abstract-domain-derive", + "codespan-reporting", + "ethnum", + "im", + "itertools 0.12.1", + "log", + "move-binary-format", + "move-core-types", + "move-model", + "num", + "paste", + "petgraph 0.5.1", +] + +[[package]] +name = "move-stdlib" +version = "0.1.1" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "hex", + "log", + "move-binary-format", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-docgen", + "move-errmapgen", + "move-prover", + "move-vm-runtime", + "move-vm-types", + "sha2 0.9.9", + "sha3", + "smallvec", + "walkdir", +] + +[[package]] +name = "move-symbol-pool" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "once_cell", + "serde", +] + +[[package]] +name = "move-table-extension" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "better_any", + "bytes 1.7.2", + "move-binary-format", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "sha3", + "smallvec", +] + +[[package]] +name = "move-unit-test" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "better_any", + "clap 4.5.20", + "codespan-reporting", + "colored", + "itertools 0.12.1", + "move-binary-format", + "move-bytecode-utils", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-ir-types", + "move-resource-viewer", + "move-stdlib", + "move-symbol-pool", + "move-table-extension", + "move-vm-runtime", + "move-vm-test-utils", + "once_cell", + "rayon", + "regex", +] + +[[package]] +name = "move-vm-runtime" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "better_any", + "bytes 1.7.2", + "fail", + "hashbrown 0.14.5", + "lazy_static", + "lru 0.7.8", + "move-binary-format", + "move-bytecode-verifier", + "move-core-types", + "move-vm-types", + "once_cell", + "parking_lot", + "serde", + "sha3", + "tracing", + "triomphe", + "typed-arena", +] + +[[package]] +name = "move-vm-test-utils" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "anyhow", + "bytes 1.7.2", + "move-binary-format", + "move-bytecode-utils", + "move-core-types", + "move-vm-types", + "once_cell", + "serde", +] + +[[package]] +name = "move-vm-types" +version = "0.1.0" +source = "git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd#70be3926ff79ff4cdb0cee928f717fafcd41ecdd" +dependencies = [ + "bcs 0.1.4", + "derivative", + "itertools 0.12.1", + "move-binary-format", + "move-core-types", + "serde", + "smallbitvec", + "smallvec", + "triomphe", +] + +[[package]] +name = "movement-algs" +version = "0.0.2" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "movement-types", + "tokio", +] + +[[package]] +name = "movement-rest" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-api", + "futures", + "poem", + "tokio", + "tracing", +] + +[[package]] +name = "movement-tracing" +version = "0.0.2" +dependencies = [ + "tracing-appender", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "movement-types" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-types", + "bcs 0.1.4", + "blake3", + "rand 0.7.3", + "serde", + "serde_with", + "sha2 0.10.8", + "tokio", +] + +[[package]] +name = "multer" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" +dependencies = [ + "bytes 1.7.2", + "encoding_rs", + "futures-util", + "http 0.2.12", + "httparse", + "log", + "memchr", + "mime", + "spin 0.9.8", + "tokio", + "version_check", +] + +[[package]] +name = "multiaddr" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.8.0", + "url", +] + +[[package]] +name = "multibase" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +dependencies = [ + "base-x", + "data-encoding", + "data-encoding-macro", +] + +[[package]] +name = "multihash" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +dependencies = [ + "core2", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + +[[package]] +name = "named-lock" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40a3eb6b7c682b65d1f631ec3176829d72ab450b3aacdd3f719bf220822e59ac" +dependencies = [ + "libc", + "once_cell", + "parking_lot", + "thiserror", + "widestring 0.5.1", + "winapi 0.3.9", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "neptune" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06626c9ac04c894e9a23d061ba1309f28506cdc5fe64156d28a15fb57fc8e438" +dependencies = [ + "bellpepper", + "bellpepper-core", + "blake2s_simd", + "blstrs", + "byteorder", + "ff 0.13.0", + "generic-array", + "log", + "pasta_curves", + "serde", + "trait-set", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", +] + +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "cfg_aliases", + "libc", +] + +[[package]] +name = "nmt-rs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e408e823bdc9b4bb525a61b44e846239833a8f9bd86c03a43e4ca314a5497582" +dependencies = [ + "borsh 1.5.1", + "bytes 1.7.2", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + +[[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 = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi 0.3.9", +] + +[[package]] +name = "nu-ansi-term" +version = "0.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint 0.4.6", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", + "rand 0.7.3", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num-format" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" +dependencies = [ + "arrayvec 0.7.6", + "itoa", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint 0.4.6", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.9", + "libc", +] + +[[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-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "number_range" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60080faccd4ca50ad0b801b2be686136376b13f691f6eac84817e40973b2e1bb" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "num", +] + +[[package]] +name = "object" +version = "0.36.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "oorandom" +version = "11.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "openssl" +version = "0.10.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ordered-float" +version = "3.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ouroboros" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" +dependencies = [ + "aliasable", + "ouroboros_macro", +] + +[[package]] +name = "ouroboros_macro" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" +dependencies = [ + "Inflector", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "outref" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "p256" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" +dependencies = [ + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.8", +] + +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", + "sha2 0.10.8", +] + +[[package]] +name = "p384" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" +dependencies = [ + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", + "sha2 0.10.8", +] + +[[package]] +name = "pairing" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group 0.13.0", +] + +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.6", + "bitvec 0.20.4", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive 2.3.1", + "serde", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +dependencies = [ + "arrayvec 0.7.6", + "bitvec 1.0.1", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive 3.6.12", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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 = "parquet" +version = "52.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e977b9066b4d3b03555c22bdc442f3fadebd96a39111249113087d0edb2691cd" +dependencies = [ + "ahash 0.8.11", + "bytes 1.7.2", + "chrono", + "futures", + "half 2.4.1", + "hashbrown 0.14.5", + "lz4_flex", + "num", + "num-bigint 0.4.6", + "paste", + "seq-macro", + "thrift", + "tokio", + "twox-hash", +] + +[[package]] +name = "parquet_derive" +version = "52.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e57262f900bc3e93755be67e0fc4e2fcdae416b563472528e413c6e0a52ee81" +dependencies = [ + "parquet", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "parse-zoneinfo" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +dependencies = [ + "regex", +] + +[[package]] +name = "passkey-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "499cff8432e71c5f8784d9645aac0f9fca604d67f59b68a606170b5e229c6538" +dependencies = [ + "bitflags 2.6.0", + "ciborium", + "coset", + "data-encoding", + "indexmap 2.6.0", + "rand 0.8.5", + "serde", + "serde_json", + "sha2 0.10.8", + "strum 0.25.0", + "typeshare", +] + +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "blake2b_simd", + "ff 0.13.0", + "group 0.13.0", + "hex", + "lazy_static", + "rand 0.8.5", + "serde", + "static_assertions", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pbjson" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "048f9ac93c1eab514f9470c4bc8d97ca2a0a236b84f45cc19d69a59fc11467f6" +dependencies = [ + "base64 0.13.1", + "serde", +] + +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac 0.12.1", +] + +[[package]] +name = "pem" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56cbd21fea48d0c440b41cd69c589faacade08c992d9a54e471b79d0fd13eb" +dependencies = [ + "base64 0.13.1", + "once_cell", + "regex", +] + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "pem" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +dependencies = [ + "base64 0.22.1", + "serde", +] + +[[package]] +name = "pem-rfc7468" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30" +dependencies = [ + "base64ct", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "pest_meta" +version = "2.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" +dependencies = [ + "once_cell", + "pest", + "sha2 0.10.8", +] + +[[package]] +name = "petgraph" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" +dependencies = [ + "fixedbitset 0.2.0", + "indexmap 1.9.3", +] + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset 0.4.2", + "indexmap 2.6.0", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.1", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ef0f924a5ee7ea9cbcea77529dba45f8a9ba9f622419fe3386ca581a3ae9d5a" +dependencies = [ + "pin-project-internal 0.4.30", +] + +[[package]] +name = "pin-project" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +dependencies = [ + "pin-project-internal 1.1.6", +] + +[[package]] +name = "pin-project-internal" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320" +dependencies = [ + "der 0.5.1", + "pkcs8 0.8.0", + "zeroize", +] + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der 0.7.9", + "pkcs8 0.10.2", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der 0.5.1", + "spki 0.5.4", + "zeroize", +] + +[[package]] +name = "pkcs8" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +dependencies = [ + "der 0.6.1", + "spki 0.6.0", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.9", + "spki 0.7.3", +] + +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "plotters" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" + +[[package]] +name = "plotters-svg" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "png" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "poem" +version = "1.3.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504774c97b0744c1ee108a37e5a65a9745a4725c4c06277521dabc28eb53a904" +dependencies = [ + "anyhow", + "async-trait", + "bytes 1.7.2", + "chrono", + "cookie", + "futures-util", + "headers", + "http 0.2.12", + "hyper 0.14.30", + "mime", + "multer", + "nix 0.27.1", + "parking_lot", + "percent-encoding", + "pin-project-lite", + "poem-derive", + "quick-xml 0.30.0", + "regex", + "rfc7239", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "smallvec", + "sse-codec", + "tempfile", + "thiserror", + "time", + "tokio", + "tokio-rustls 0.24.1", + "tokio-stream", + "tokio-util", + "tracing", + "wildmatch", +] + +[[package]] +name = "poem-derive" +version = "1.3.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ddcf4680d8d867e1e375116203846acb088483fa2070244f90589f458bbb31" +dependencies = [ + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "poem-openapi" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e69c569eb0671cc85e65cfb6bd960d0168d24732ff58825227b4d2a10167ba91" +dependencies = [ + "base64 0.13.1", + "bytes 1.7.2", + "derive_more 0.99.18", + "futures-util", + "mime", + "num-traits", + "poem", + "poem-openapi-derive", + "quick-xml 0.23.1", + "regex", + "serde", + "serde_json", + "serde_urlencoded", + "serde_yaml 0.9.34+deprecated", + "thiserror", + "tokio", + "url", +] + +[[package]] +name = "poem-openapi-derive" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "274cf13f710999977a3c1e396c2a5000d104075a7127ce6470fbdae4706be621" +dependencies = [ + "darling 0.14.4", + "http 0.2.12", + "indexmap 1.9.3", + "mime", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "thiserror", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "poseidon-ark" +version = "0.0.1" +source = "git+https://github.com/arnaucube/poseidon-ark.git?rev=6d2487aa1308d9d3860a2b724c485d73095c1c68#6d2487aa1308d9d3860a2b724c485d73095c1c68" +dependencies = [ + "ark-bn254", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "postgres-native-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d442770e2b1e244bb5eb03b31c79b65bb2568f413b899eaba850fa945a65954" +dependencies = [ + "futures", + "native-tls", + "tokio", + "tokio-native-tls", + "tokio-postgres", +] + +[[package]] +name = "postgres-protocol" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acda0ebdebc28befa84bee35e651e4c5f09073d668c7aed4cf7e23c3cda84b23" +dependencies = [ + "base64 0.22.1", + "byteorder", + "bytes 1.7.2", + "fallible-iterator", + "hmac 0.12.1", + "md-5", + "memchr", + "rand 0.8.5", + "sha2 0.10.8", + "stringprep", +] + +[[package]] +name = "postgres-types" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f66ea23a2d0e5734297357705193335e0a957696f34bed2f2faefacb2fec336f" +dependencies = [ + "bytes 1.7.2", + "fallible-iterator", + "postgres-protocol", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "pprof" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196ded5d4be535690899a4631cc9f18cdc41b7ebf24a79400f46f48e49a11059" +dependencies = [ + "backtrace", + "cfg-if", + "findshlibs", + "inferno", + "libc", + "log", + "nix 0.26.4", + "once_cell", + "parking_lot", + "protobuf", + "protobuf-codegen-pure", + "smallvec", + "symbolic-demangle", + "tempfile", + "thiserror", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "pq-sys" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c0052426df997c0cbd30789eb44ca097e3541717a7b8fa36b1c464ee7edebd" +dependencies = [ + "vcpkg", +] + +[[package]] +name = "pretty" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9940b913ee56ddd94aec2d3cd179dd47068236f42a1a6415ccf9d880ce2a61" +dependencies = [ + "arrayvec 0.5.2", + "typed-arena", +] + +[[package]] +name = "prettyplease" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +dependencies = [ + "proc-macro2", + "syn 2.0.79", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve 0.13.8", +] + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash 0.7.0", + "impl-codec 0.5.1", + "impl-serde", + "uint", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash 0.8.0", + "impl-codec 0.6.0", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + +[[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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit 0.22.22", +] + +[[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-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + +[[package]] +name = "proc-macro2" +version = "1.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "processor" +version = "1.0.0" +source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e#8e83cde3cb75fabdade9485e0af680cc4b73ca8e" +dependencies = [ + "ahash 0.8.11", + "allocative", + "allocative_derive", + "anyhow", + "aptos-moving-average 0.1.0 (git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e)", + "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=338f9a1bcc06f62ce4a4994f1642b9a61b631ee0)", + "async-trait", + "bcs 0.1.4", + "bigdecimal", + "bitflags 2.6.0", + "canonical_json", + "chrono", + "clap 4.5.20", + "diesel", + "diesel-async", + "diesel_migrations", + "enum_dispatch", + "field_count", + "futures", + "futures-util", + "google-cloud-googleapis", + "google-cloud-pubsub", + "google-cloud-storage", + "hex", + "hyper 0.14.30", + "itertools 0.12.1", + "jemallocator", + "kanal", + "lazy_static", + "native-tls", + "num", + "num_cpus", + "once_cell", + "parquet", + "parquet_derive", + "postgres-native-tls", + "prometheus", + "prost 0.12.6", + "regex", + "serde", + "serde_json", + "server-framework", + "sha2 0.9.9", + "sha3", + "strum 0.24.1", + "tiny-keccak", + "tokio", + "tokio-postgres", + "tonic 0.11.0", + "tracing", + "unescape", + "url", +] + +[[package]] +name = "procfs" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de8dacb0873f77e6aefc6d71e044761fcc68060290f5b1089fcdf84626bb69" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "chrono", + "flate2", + "hex", + "lazy_static", + "rustix 0.36.17", +] + +[[package]] +name = "prometheus" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +dependencies = [ + "cfg-if", + "fnv", + "lazy_static", + "memchr", + "parking_lot", + "thiserror", +] + +[[package]] +name = "proptest" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.6.0", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.8.5", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "proptest-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes 1.7.2", + "prost-derive 0.11.9", +] + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes 1.7.2", + "prost-derive 0.12.6", +] + +[[package]] +name = "prost" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +dependencies = [ + "bytes 1.7.2", + "prost-derive 0.13.3", +] + +[[package]] +name = "prost-build" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +dependencies = [ + "bytes 1.7.2", + "heck 0.5.0", + "itertools 0.12.1", + "log", + "multimap", + "once_cell", + "petgraph 0.6.5", + "prettyplease", + "prost 0.12.6", + "prost-types 0.12.6", + "regex", + "syn 2.0.79", + "tempfile", +] + +[[package]] +name = "prost-build" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" +dependencies = [ + "bytes 1.7.2", + "heck 0.5.0", + "itertools 0.13.0", + "log", + "multimap", + "once_cell", + "petgraph 0.6.5", + "prettyplease", + "prost 0.13.3", + "prost-types 0.13.3", + "regex", + "syn 2.0.79", + "tempfile", +] + +[[package]] +name = "prost-derive" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "prost-derive" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "prost-types" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +dependencies = [ + "prost 0.11.9", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost 0.12.6", +] + +[[package]] +name = "prost-types" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" +dependencies = [ + "prost 0.13.3", +] + +[[package]] +name = "protobuf" +version = "2.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" + +[[package]] +name = "protobuf-codegen" +version = "2.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "033460afb75cf755fcfc16dfaed20b86468082a2ea24e05ac35ab4a099a017d6" +dependencies = [ + "protobuf", +] + +[[package]] +name = "protobuf-codegen-pure" +version = "2.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a29399fc94bcd3eeaa951c715f7bea69409b2445356b00519740bcd6ddd865" +dependencies = [ + "protobuf", + "protobuf-codegen", +] + +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "publicsuffix" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457" +dependencies = [ + "idna 0.3.0", + "psl-types", +] + +[[package]] +name = "pulldown-cmark" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +dependencies = [ + "bitflags 2.6.0", + "memchr", + "unicase", +] + +[[package]] +name = "qstring" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quick-protobuf" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" +dependencies = [ + "byteorder", +] + +[[package]] +name = "quick-xml" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quick-xml" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" +dependencies = [ + "memchr", +] + +[[package]] +name = "quick-xml" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quick_cache" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb55a1aa7668676bb93926cd4e9cdfe60f03bb866553bcca9112554911b6d3dc" +dependencies = [ + "ahash 0.8.11", + "equivalent", + "hashbrown 0.14.5", + "parking_lot", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r2d2" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" +dependencies = [ + "log", + "parking_lot", + "scheduled-thread-pool", +] + +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[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_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_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_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 = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "recvmsg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" + +[[package]] +name = "redis" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8455fa3621f6b41c514946de66ea0531f57ca017b2e6c7cc368035ea5b46df" +dependencies = [ + "arc-swap", + "async-trait", + "bytes 1.7.2", + "combine", + "futures", + "futures-util", + "itoa", + "percent-encoding", + "pin-project-lite", + "ryu", + "sha1_smol", + "tokio", + "tokio-util", + "url", +] + +[[package]] +name = "redis-test" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e9ceb100979db7292de8a3d4ecdde659cccc85133303ea0741e1618a5bd73df" +dependencies = [ + "futures", + "redis", +] + +[[package]] +name = "redox_syscall" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror", +] + +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "regex" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-lite" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes 1.7.2", + "cookie", + "cookie_store", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.30", + "hyper-rustls 0.24.2", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "mime_guess", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.21.12", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration 0.5.1", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.24.1", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 0.25.4", + "winreg", +] + +[[package]] +name = "reqwest" +version = "0.12.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" +dependencies = [ + "base64 0.22.1", + "bytes 1.7.2", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls 0.27.3", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 2.2.0", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "system-configuration 0.6.1", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-registry", +] + +[[package]] +name = "retain_mut" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" + +[[package]] +name = "rfc6979" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" +dependencies = [ + "crypto-bigint 0.4.9", + "hmac 0.12.1", + "zeroize", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + +[[package]] +name = "rfc7239" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b106a85eeb5b0336d16d6a20eab857f92861d4fbb1eb9a239866fb98fb6a1063" +dependencies = [ + "uncased", +] + +[[package]] +name = "rgb" +version = "0.8.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi 0.3.9", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes 1.7.2", + "rustc-hex", +] + +[[package]] +name = "rocksdb" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7" +dependencies = [ + "libc", + "librocksdb-sys", +] + +[[package]] +name = "rsa" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b" +dependencies = [ + "byteorder", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-iter", + "num-traits", + "pkcs1 0.3.3", + "pkcs8 0.8.0", + "rand_core 0.6.4", + "smallvec", + "subtle", + "zeroize", +] + +[[package]] +name = "rsa" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +dependencies = [ + "const-oid 0.9.6", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1 0.7.5", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "signature 2.2.0", + "spki 0.7.3", + "subtle", + "zeroize", +] + +[[package]] +name = "rstack" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7df9d3ebd4f17b52e6134efe2fa20021c80688cbe823d481a729a993b730493" +dependencies = [ + "cfg-if", + "dw", + "lazy_static", + "libc", + "log", +] + +[[package]] +name = "rstack-self" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd5030da3aba0ec731502f74ec38e63798eea6bc8b8ba5972129afe3eababd2" +dependencies = [ + "antidote", + "backtrace", + "bincode", + "lazy_static", + "libc", + "rstack", + "serde", +] + +[[package]] +name = "ruint" +version = "1.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes 1.7.2", + "fastrlp", + "num-bigint 0.4.6", + "num-traits", + "parity-scale-codec 3.6.12", + "primitive-types 0.12.2", + "proptest", + "rand 0.8.5", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" + +[[package]] +name = "rusb" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab9f9ff05b63a786553a4c02943b74b34a988448671001e9a27e2f0565cc05a4" +dependencies = [ + "libc", + "libusb1-sys", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver 1.0.23", +] + +[[package]] +name = "rustix" +version = "0.36.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.1.4", + "windows-sys 0.45.0", +] + +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys 0.4.14", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-webpki 0.101.7", + "sct", +] + +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.8", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls" +version = "0.23.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" +dependencies = [ + "log", + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.8", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +dependencies = [ + "openssl-probe", + "rustls-pemfile 1.0.4", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.2.0", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" + +[[package]] +name = "rustls-platform-verifier" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.14", + "rustls-native-certs 0.7.3", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.8", + "security-framework", + "security-framework-sys", + "webpki-roots 0.26.6", + "winapi 0.3.9", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + +[[package]] +name = "rustls-webpki" +version = "0.100.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6a5fc258f1c1276dfe3016516945546e2d5383911efc0fc4f1cdc5df3a4ae3" +dependencies = [ + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[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 = "schannel" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "scheduled-thread-pool" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "schemars" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.79", +] + +[[package]] +name = "scoped-futures" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1473e24c637950c9bd38763220bea91ec3e095a89f672bbd7a10d03e77ba467" +dependencies = [ + "cfg-if", + "pin-utils", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "sec1" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +dependencies = [ + "base16ct 0.1.1", + "der 0.6.1", + "generic-array", + "pkcs8 0.9.0", + "subtle", + "zeroize", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.9", + "generic-array", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "core-foundation-sys", + "libc", + "num-bigint 0.4.6", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "seq-macro" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" + +[[package]] +name = "sequencing-util" +version = "0.0.2" +dependencies = [ + "anyhow", + "movement-types", + "tokio", +] + +[[package]] +name = "serde" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + +[[package]] +name = "serde-generate" +version = "0.20.6" +source = "git+https://github.com/aptos-labs/serde-reflection?rev=73b6bbf748334b71ff6d7d09d06a29e3062ca075#73b6bbf748334b71ff6d7d09d06a29e3062ca075" +dependencies = [ + "bcs 0.1.6", + "bincode", + "heck 0.3.3", + "include_dir", + "maplit", + "serde", + "serde-reflection", + "serde_bytes", + "serde_yaml 0.8.26", + "structopt", + "textwrap 0.13.4", +] + +[[package]] +name = "serde-name" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12c47087018ec281d1cdab673d36aea22d816b54d498264029c05d5fa1910da6" +dependencies = [ + "serde", + "thiserror", +] + +[[package]] +name = "serde-reflection" +version = "0.3.5" +source = "git+https://github.com/aptos-labs/serde-reflection?rev=73b6bbf748334b71ff6d7d09d06a29e3062ca075#73b6bbf748334b71ff6d7d09d06a29e3062ca075" +dependencies = [ + "once_cell", + "serde", + "thiserror", +] + +[[package]] +name = "serde_bytes" +version = "0.11.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_cbor" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" +dependencies = [ + "half 1.8.3", + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[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.79", +] + +[[package]] +name = "serde_json" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +dependencies = [ + "indexmap 2.6.0", + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_merge" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "606e91878516232ac3b16c12e063d4468d762f16d77e7aef14a1f2326c5f409b" +dependencies = [ + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[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", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.6.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" +dependencies = [ + "darling 0.20.10", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "serde_yaml" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +dependencies = [ + "indexmap 1.9.3", + "ryu", + "serde", + "yaml-rust", +] + +[[package]] +name = "serde_yaml" +version = "0.9.34+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap 2.6.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + +[[package]] +name = "server-framework" +version = "1.0.0" +source = "git+https://github.com/movementlabsxyz/aptos-indexer-processors?rev=8e83cde3cb75fabdade9485e0af680cc4b73ca8e#8e83cde3cb75fabdade9485e0af680cc4b73ca8e" +dependencies = [ + "anyhow", + "aptos-system-utils", + "async-trait", + "backtrace", + "clap 4.5.20", + "prometheus", + "serde", + "serde_yaml 0.8.26", + "tempfile", + "tokio", + "toml 0.7.8", + "tracing", + "tracing-subscriber 0.3.18", + "warp", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "keccak", + "opaque-debug", +] + +[[package]] +name = "sha3-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "shadow-rs" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c0ea0c68418544f725eba5401a5b965a2263254c92458d04aeae74e9d88ff4e" +dependencies = [ + "const_format", + "git2", + "is_debug", + "time", + "tzdb", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +dependencies = [ + "libc", + "mio 0.8.11", + "signal-hook", +] + +[[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 = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", + "signature_derive", +] + +[[package]] +name = "signature_derive" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab0381d1913eeaf4c7bc4094016c9a8de6c1120663afe32a90ff268ad7f80486" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "similar" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +dependencies = [ + "bstr", + "unicode-segmentation", +] + +[[package]] +name = "similar-asserts" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" +dependencies = [ + "console", + "similar", +] + +[[package]] +name = "simple_asn1" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692ca13de57ce0613a363c8c2f1de925adebc81b04c923ac60c5488bb44abe4b" +dependencies = [ + "chrono", + "num-bigint 0.2.6", + "num-traits", +] + +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "thiserror", + "time", +] + +[[package]] +name = "simplelog" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bc0ffd69814a9b251d43afcabf96dad1b29f5028378056257be9e3fecc9f720" +dependencies = [ + "chrono", + "log", + "termcolor", +] + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "sized-chunks" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +dependencies = [ + "bitmaps", + "typenum", +] + +[[package]] +name = "skeptic" +version = "0.13.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" +dependencies = [ + "bytecount", + "cargo_metadata", + "error-chain", + "glob", + "pulldown-cmark", + "tempfile", + "walkdir", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slug" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "882a80f72ee45de3cc9a5afeb2da0331d58df69e4e7d8eeb5d3c7784ae67e724" +dependencies = [ + "deunicode", + "wasm-bindgen", +] + +[[package]] +name = "smallbitvec" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3fc564a4b53fd1e8589628efafe57602d91bde78be18186b5f61e8faea470" + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smawk" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + +[[package]] +name = "snafu" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" +dependencies = [ + "doc-comment", + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "soketto" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +dependencies = [ + "base64 0.22.1", + "bytes 1.7.2", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha1", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der 0.5.1", +] + +[[package]] +name = "spki" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der 0.6.1", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der 0.7.9", +] + +[[package]] +name = "sse-codec" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84a59f811350c44b4a037aabeb72dc6a9591fc22aa95a036db9a96297c58085a" +dependencies = [ + "bytes 0.5.6", + "futures-io", + "futures_codec", + "memchr", +] + +[[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 = "status-line" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a20cc99bbe608305546a850ec4352907279a8b8044f9c13ae58bd0a8ab46ebc1" +dependencies = [ + "ansi-escapes", + "atty", +] + +[[package]] +name = "str_stack" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "structopt" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +dependencies = [ + "clap 2.34.0", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" +dependencies = [ + "heck 0.3.3", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros 0.24.3", +] + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros 0.25.3", +] + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros 0.26.4", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.79", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.79", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "subtle-encoding" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" +dependencies = [ + "zeroize", +] + +[[package]] +name = "subtle-ng" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" + +[[package]] +name = "suzuka-client" +version = "0.0.2" +dependencies = [ + "anyhow", + "aptos-protos 1.3.0 (git+https://github.com/movementlabsxyz/aptos-core?rev=70be3926ff79ff4cdb0cee928f717fafcd41ecdd)", + "aptos-sdk", + "aptos-types", + "async-trait", + "bcs 0.1.4", + "buildtime-helpers", + "chrono", + "commander", + "dot-movement", + "futures", + "itertools 0.12.1", + "maptos-execution-util", + "mcr-settlement-client", + "movement-tracing", + "once_cell", + "rand 0.7.3", + "rayon", + "reqwest 0.12.8", + "serde", + "serde_json", + "serde_yaml 0.9.34+deprecated", + "suzuka-config", + "thiserror", + "tokio", + "tonic 0.12.3", + "tracing", + "tracing-subscriber 0.3.18", + "url", +] + +[[package]] +name = "suzuka-config" +version = "0.0.2" +dependencies = [ + "anyhow", + "godfig", + "m1-da-light-node-util", + "maptos-execution-util", + "mcr-settlement-client", + "mcr-settlement-config", + "serde", + "serde_derive", + "tokio", + "toml 0.8.19", + "tracing", +] + +[[package]] +name = "suzuka-faucet-service" +version = "2.0.1" +dependencies = [ + "anyhow", + "aptos-config", + "aptos-faucet-core", + "aptos-logger", + "aptos-sdk", + "clap 4.5.20", + "dot-movement", + "suzuka-config", + "tokio", + "tracing", +] + +[[package]] +name = "suzuka-full-node" +version = "0.0.2" +dependencies = [ + "anyhow", + "bcs 0.1.4", + "console-subscriber", + "dot-movement", + "futures", + "godfig", + "m1-da-light-node-client", + "m1-da-light-node-util", + "maptos-dof-execution", + "mcr-settlement-client", + "mcr-settlement-manager", + "movement-rest", + "movement-tracing", + "movement-types", + "rocksdb", + "serde_json", + "sha2 0.10.8", + "suzuka-config", + "tokio", + "tokio-stream", + "tonic 0.12.3", + "tracing", + "tracing-subscriber 0.3.18", + "zstd 0.13.2", +] + +[[package]] +name = "suzuka-full-node-setup" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-recursion", + "celestia-rpc", + "celestia-types", + "commander", + "dot-movement", + "futures", + "godfig", + "hex", + "m1-da-light-node-setup", + "m1-da-light-node-util", + "mcr-settlement-config", + "mcr-settlement-setup", + "movement-types", + "rand 0.7.3", + "serde", + "serde_json", + "suzuka-config", + "syncup", + "tempfile", + "tokio", + "tokio-stream", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "suzuka-indexer-service" +version = "0.0.2" +dependencies = [ + "anyhow", + "clap 4.5.20", + "dot-movement", + "maptos-execution-util", + "num_cpus", + "processor", + "reqwest 0.12.8", + "serde_json", + "server-framework", + "tempfile", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "symbolic-common" +version = "10.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b55cdc318ede251d0957f07afe5fed912119b8c1bc5a7804151826db999e737" +dependencies = [ + "debugid", + "memmap2", + "stable_deref_trait", + "uuid", +] + +[[package]] +name = "symbolic-demangle" +version = "10.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79be897be8a483a81fff6a3a4e195b4ac838ef73ca42d348b3f722da9902e489" +dependencies = [ + "cpp_demangle", + "rustc-demangle", + "symbolic-common", +] + +[[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.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + +[[package]] +name = "syncador" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "aws-config", + "aws-sdk-s3", + "aws-types", + "clap 4.5.20", + "flate2", + "flocks", + "futures", + "glob", + "globset", + "movement-types", + "serde", + "serde_json", + "tar", + "tempfile", + "thiserror", + "tokio", + "tracing", + "uuid", +] + +[[package]] +name = "syncup" +version = "0.0.2" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "futures", + "movement-types", + "syncador", + "tokio", + "tracing", +] + +[[package]] +name = "sysinfo" +version = "0.28.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c2f3ca6693feb29a89724516f016488e9aafc7f37264f898593ee4b942f31b" +dependencies = [ + "cfg-if", + "core-foundation-sys", + "libc", + "ntapi", + "once_cell", + "rayon", + "winapi 0.3.9", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tar" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "tempfile" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +dependencies = [ + "cfg-if", + "fastrand 2.1.1", + "once_cell", + "rustix 0.38.37", + "windows-sys 0.59.0", +] + +[[package]] +name = "tera" +version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab9d851b45e865f178319da0abdbfe6acbc4328759ff18dafc3a41c16b4cd2ee" +dependencies = [ + "chrono", + "chrono-tz", + "globwalk", + "humansize", + "lazy_static", + "percent-encoding", + "pest", + "pest_derive", + "rand 0.8.5", + "regex", + "serde", + "serde_json", + "slug", + "unic-segment", +] + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "textwrap" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835" +dependencies = [ + "smawk", + "unicode-width", +] + +[[package]] +name = "textwrap" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "thrift" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" +dependencies = [ + "byteorder", + "integer-encoding", + "ordered-float 2.10.1", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-bip39" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash 1.1.0", + "sha2 0.9.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +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.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +dependencies = [ + "backtrace", + "bytes 1.7.2", + "libc", + "mio 1.0.2", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.7", + "tokio-macros", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-io-timeout" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +dependencies = [ + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-macros" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-postgres" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b5d3742945bc7d7f210693b0c58ae542c6fd47b17adbbda0885f3dcb34a6bdb" +dependencies = [ + "async-trait", + "byteorder", + "bytes 1.7.2", + "fallible-iterator", + "futures-channel", + "futures-util", + "log", + "parking_lot", + "percent-encoding", + "phf", + "pin-project-lite", + "postgres-protocol", + "postgres-types", + "rand 0.8.5", + "socket2 0.5.7", + "tokio", + "tokio-util", + "whoami", +] + +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project 1.1.6", + "rand 0.8.5", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.4", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.14", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +dependencies = [ + "futures-util", + "log", + "rustls 0.23.14", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tungstenite 0.23.0", + "webpki-roots 0.26.6", +] + +[[package]] +name = "tokio-util" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +dependencies = [ + "bytes 1.7.2", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.22", +] + +[[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.6.0", + "serde", + "serde_spanned", + "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.6.0", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +dependencies = [ + "indexmap 2.6.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.20", +] + +[[package]] +name = "tonic" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +dependencies = [ + "async-stream", + "async-trait", + "axum 0.6.20", + "base64 0.21.7", + "bytes 1.7.2", + "flate2", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.30", + "hyper-timeout 0.4.1", + "percent-encoding", + "pin-project 1.1.6", + "prost 0.11.9", + "rustls-pemfile 1.0.4", + "tokio", + "tokio-rustls 0.24.1", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", + "webpki-roots 0.23.1", +] + +[[package]] +name = "tonic" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +dependencies = [ + "async-stream", + "async-trait", + "axum 0.6.20", + "base64 0.21.7", + "bytes 1.7.2", + "flate2", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.30", + "hyper-timeout 0.4.1", + "percent-encoding", + "pin-project 1.1.6", + "prost 0.12.6", + "rustls-native-certs 0.7.3", + "rustls-pemfile 2.2.0", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.25.0", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", + "zstd 0.12.4", +] + +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum 0.7.7", + "base64 0.22.1", + "bytes 1.7.2", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-timeout 0.5.1", + "hyper-util", + "percent-encoding", + "pin-project 1.1.6", + "prost 0.13.3", + "socket2 0.5.7", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-build" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build 0.13.3", + "prost-types 0.13.3", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "tonic-reflection" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "548c227bd5c0fae5925812c4ec6c66ffcfced23ea370cb823f4d18f0fc1cb6a7" +dependencies = [ + "prost 0.12.6", + "prost-types 0.12.6", + "tokio", + "tokio-stream", + "tonic 0.11.0", +] + +[[package]] +name = "tonic-reflection" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "878d81f52e7fcfd80026b7fdb6a9b578b3c3653ba987f87f0dce4b64043cba27" +dependencies = [ + "prost 0.13.3", + "prost-types 0.13.3", + "tokio", + "tokio-stream", + "tonic 0.12.3", +] + +[[package]] +name = "tonic-web" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5299dd20801ad736dccb4a5ea0da7376e59cd98f213bf1c3d478cf53f4834b58" +dependencies = [ + "base64 0.22.1", + "bytes 1.7.2", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "pin-project 1.1.6", + "tokio-stream", + "tonic 0.12.3", + "tower-http", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project 1.1.6", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +dependencies = [ + "bitflags 2.6.0", + "bytes 1.7.2", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "pin-project-lite", + "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.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror", + "time", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term 0.46.0", + "once_cell", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", +] + +[[package]] +name = "tracing-test" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "557b891436fe0d5e0e363427fc7f217abf9ccd510d5136549847bdcbcd011d68" +dependencies = [ + "tracing-core", + "tracing-subscriber 0.3.18", + "tracing-test-macro", +] + +[[package]] +name = "tracing-test-macro" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" +dependencies = [ + "quote", + "syn 2.0.79", +] + +[[package]] +name = "trait-set" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b79e2e9c9ab44c6d7c20d5976961b47e8f49ac199154daa514b77cd1ab536625" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "triomphe" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85" +dependencies = [ + "serde", + "stable_deref_trait", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tui" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" +dependencies = [ + "bitflags 1.3.2", + "cassowary", + "crossterm 0.25.0", + "unicode-segmentation", + "unicode-width", +] + +[[package]] +name = "tungstenite" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +dependencies = [ + "byteorder", + "bytes 1.7.2", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand 0.8.5", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "tungstenite" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +dependencies = [ + "byteorder", + "bytes 1.7.2", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand 0.8.5", + "rustls 0.23.14", + "rustls-pki-types", + "sha1", + "thiserror", + "utf-8", +] + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "static_assertions", +] + +[[package]] +name = "typed-arena" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "typeshare" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f17399b76c2e743d58eac0635d7686e9c00f48cd4776f00695d9882a7d3187" +dependencies = [ + "chrono", + "serde", + "serde_json", + "typeshare-annotation", +] + +[[package]] +name = "typeshare-annotation" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f" +dependencies = [ + "quote", + "syn 2.0.79", +] + +[[package]] +name = "tz-rs" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33851b15c848fad2cf4b105c6bb66eb9512b6f6c44a4b13f57c53c73c707e2b4" +dependencies = [ + "const_fn", +] + +[[package]] +name = "tzdb" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c420cf38925a5a6a3dc56e1c8f56f17a5b7755edd5adeb7cdab8b847e1fbe2af" +dependencies = [ + "iana-time-zone", + "tz-rs", + "tzdb_data", + "utcnow", +] + +[[package]] +name = "tzdb_data" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "654c1ec546942ce0594e8d220e6b8e3899e0a0a8fe70ddd54d32a376dfefe3f8" +dependencies = [ + "tz-rs", +] + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "uncased" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" +dependencies = [ + "version_check", +] + +[[package]] +name = "unescape" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e" + +[[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-segment" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23" +dependencies = [ + "unic-ucd-segment", +] + +[[package]] +name = "unic-ucd-segment" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700" +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 = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + +[[package]] +name = "unsigned-varint" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" + +[[package]] +name = "unsigned-varint" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "ureq" +version = "1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b8b063c2d59218ae09f22b53c42eaad0d53516457905f5235ca4bc9e99daa71" +dependencies = [ + "base64 0.13.1", + "chunked_transfer", + "log", + "native-tls", + "once_cell", + "qstring", + "serde", + "serde_json", + "url", +] + +[[package]] +name = "url" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna 0.5.0", + "percent-encoding", + "serde", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "utcnow" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efb0d3098213b3f48185495cf55494b3201824dae380b9d7e408fedcd793ffcd" +dependencies = [ + "const_fn", + "errno", + "js-sys", + "libc", + "rustix 0.38.37", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", + "winapi 0.3.9", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +dependencies = [ + "getrandom 0.2.15", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "variant_count" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae2faf80ac463422992abf4de234731279c058aaf33171ca70277c98406b124" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vsimd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "waker-fn" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" + +[[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 = "warp" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c" +dependencies = [ + "bytes 1.7.2", + "futures-channel", + "futures-util", + "headers", + "http 0.2.12", + "hyper 0.14.30", + "log", + "mime", + "mime_guess", + "multer", + "percent-encoding", + "pin-project 1.1.6", + "rustls-pemfile 2.2.0", + "scoped-tls", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-rustls 0.25.0", + "tokio-tungstenite 0.21.0", + "tokio-util", + "tower-service", + "tracing", +] + +[[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 = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.79", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" + +[[package]] +name = "wasm-streams" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" +dependencies = [ + "rustls-webpki 0.100.3", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "whoami" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +dependencies = [ + "redox_syscall", + "wasite", + "web-sys", +] + +[[package]] +name = "widestring" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" + +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + +[[package]] +name = "wildmatch" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ce1ab1f8c62655ebe1350f589c61e505cf94d385bc6a12899442d9081e71fd" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[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 = "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-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[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", + "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_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_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_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_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[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_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_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_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 = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.1", + "send_wrapper", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x25519-dalek" +version = "1.2.0" +source = "git+https://github.com/aptos-labs/x25519-dalek?branch=zeroize_v1#762a9501668d213daa4a1864fa1f9db22716b661" +dependencies = [ + "curve25519-dalek", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys 0.4.14", + "rustix 0.38.37", +] + +[[package]] +name = "xmlparser" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + +[[package]] +name = "yubihsm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467a4c054be41ff657a6823246b0194cd727fadc3c539b265d7bc125ac6d4884" +dependencies = [ + "aes", + "bitflags 2.6.0", + "cbc", + "cmac", + "ecdsa 0.16.9", + "ed25519 2.2.3", + "hmac 0.12.1", + "k256", + "log", + "p256 0.13.2", + "p384", + "pbkdf2 0.12.2", + "rand_core 0.6.4", + "rusb", + "serde", + "serde_json", + "sha2 0.10.8", + "signature 2.2.0", + "subtle", + "thiserror", + "time", + "uuid", + "zeroize", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "zstd" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +dependencies = [ + "zstd-safe 6.0.6", +] + +[[package]] +name = "zstd" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +dependencies = [ + "zstd-safe 7.2.1", +] + +[[package]] +name = "zstd-safe" +version = "6.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-safe" +version = "7.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.13+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +dependencies = [ + "cc", + "pkg-config", +] + +[[patch.unused]] +name = "zstd-sys" +version = "2.0.9+zstd.1.5.5" +source = "git+https://github.com/gyscos/zstd-rs.git?rev=1779b385b42b08f958b767a37878dfa6a0b4f6a4#1779b385b42b08f958b767a37878dfa6a0b4f6a4" From 0e71d05a217f92765f19e87d67f2ae62f1580af8 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Mon, 14 Oct 2024 07:53:21 -0700 Subject: [PATCH 13/16] fix: reintroduce path fix. :wq# --- .gitignore | 3 +- Cargo.lock | 3 ++ Cargo.toml | 1 + m1-da-light-node.pcap | Bin 0 -> 864256 bytes networks/suzuka/suzuka-full-node/Cargo.toml | 2 ++ .../suzuka/suzuka-full-node/src/partial.rs | 11 ++++-- .../src/tasks/transaction_ingress.rs | 32 ++++++++---------- .../da/m1/light-node/src/v1/light_node.rs | 3 +- .../da/m1/util/src/config/common.rs | 8 +++++ .../util/src/config/local/m1_da_light_node.rs | 5 +++ protocol-units/da/m1/util/src/config/mod.rs | 15 ++++++++ .../execution/opt-executor/Cargo.toml | 1 + .../src/executor/initialization.rs | 7 +++- 13 files changed, 69 insertions(+), 22 deletions(-) create mode 100644 m1-da-light-node.pcap diff --git a/.gitignore b/.gitignore index a224bf8d2..cceb79f1d 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,5 @@ profile.json *.log venv *.pem -*.jot \ No newline at end of file +*.jot +*.env \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 02eb8e2b5..170608495 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8715,6 +8715,7 @@ dependencies = [ "clap 4.5.20", "derive_more 0.99.18", "dirs", + "dot-movement", "fail", "futures", "hex", @@ -13455,6 +13456,7 @@ dependencies = [ "dot-movement", "futures", "godfig", + "hyper 1.4.1", "m1-da-light-node-client", "m1-da-light-node-util", "maptos-dof-execution", @@ -13463,6 +13465,7 @@ dependencies = [ "movement-rest", "movement-tracing", "movement-types", + "prost 0.13.3", "rocksdb", "serde_json", "sha2 0.10.8", diff --git a/Cargo.toml b/Cargo.toml index 6cb84ad90..58f2aa014 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -301,6 +301,7 @@ blake-3 = "1.4.0" regex = "1.10.6" globset = "0.4.15" glob = "0.3.1" +hyper = "1.4" # trying to pin diesel # diesel = "=2.1.1" diff --git a/m1-da-light-node.pcap b/m1-da-light-node.pcap new file mode 100644 index 0000000000000000000000000000000000000000..635418c5984d0025e82c71a143d47e59f698eeff GIT binary patch literal 864256 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%0DUIjxi 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

9+A@!%zv>XS>f-N%&Trr{hl-|?^O^%krSBmq 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≻k`%IB*5q63xRp*eLukC9gIX<-z#+<-? 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 literal 0 HcmV?d00001 diff --git a/networks/suzuka/suzuka-full-node/Cargo.toml b/networks/suzuka/suzuka-full-node/Cargo.toml index 27ce49fa2..6d8d0fd10 100644 --- a/networks/suzuka/suzuka-full-node/Cargo.toml +++ b/networks/suzuka/suzuka-full-node/Cargo.toml @@ -13,6 +13,7 @@ rust-version = { workspace = true } [dependencies] maptos-dof-execution = { workspace = true } +prost = { workspace = true } m1-da-light-node-client = { workspace = true } m1-da-light-node-util = { workspace = true } mcr-settlement-client = { workspace = true, features = ["mock"] } @@ -36,6 +37,7 @@ rocksdb = { workspace = true } tracing = { workspace = true } bcs = { workspace = true } zstd = { workspace = true } +hyper = { workspace = true } [features] default = [] diff --git a/networks/suzuka/suzuka-full-node/src/partial.rs b/networks/suzuka/suzuka-full-node/src/partial.rs index 31c6bd50c..97ebb3bcd 100644 --- a/networks/suzuka/suzuka-full-node/src/partial.rs +++ b/networks/suzuka/suzuka-full-node/src/partial.rs @@ -73,6 +73,11 @@ where impl SuzukaPartialNode { pub async fn try_from_config(config: Config) -> Result { + let light_node_connection_protocol = config + .m1_da_light_node + .m1_da_light_node_config + .m1_da_light_node_connection_protocol(); + // todo: extract into getter let light_node_connection_hostname = config .m1_da_light_node @@ -90,8 +95,10 @@ impl SuzukaPartialNode { light_node_connection_hostname, light_node_connection_port ); let light_node_client = LightNodeServiceClient::connect(format!( - "http://{}:{}", - light_node_connection_hostname, light_node_connection_port + "{}://{}:{}", + light_node_connection_protocol, + light_node_connection_hostname, + light_node_connection_port )) .await .context("Failed to connect to light node")?; diff --git a/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs b/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs index bf3d036e9..044147e5c 100644 --- a/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs +++ b/networks/suzuka/suzuka-full-node/src/tasks/transaction_ingress.rs @@ -7,6 +7,7 @@ use maptos_dof_execution::SignedTransaction; use tokio::sync::mpsc; use tracing::{info, warn}; +use prost::Message; use std::ops::ControlFlow; use std::sync::atomic::AtomicU64; use std::time::{Duration, Instant}; @@ -99,26 +100,23 @@ impl Task { "built_batch_write" ); let batch_write = BatchWriteRequest { blobs: transactions }; + let mut buf = Vec::new(); + batch_write.encode_raw(&mut buf); + info!("batch_write size: {}", buf.len()); // spawn the actual batch write request in the background let mut da_light_node_client = self.da_light_node_client.clone(); tokio::spawn(async move { - let retries = 5; - for i in 0..retries { - match da_light_node_client.batch_write(batch_write.clone()).await { - Ok(_) => { - info!( - target: "movement_timing", - batch_id = %batch_id, - "batch_write_success" - ); - return; - } - Err(e) => { - warn!( - "failed to write batch to DA on attempt {}: {:?} {:?}", - i, e, batch_write - ); - } + match da_light_node_client.batch_write(batch_write.clone()).await { + Ok(_) => { + info!( + target: "movement_timing", + batch_id = %batch_id, + "batch_write_success" + ); + return; + } + Err(e) => { + warn!("failed to write batch to DA: {:?} {:?}", e, batch_id); } } }); diff --git a/protocol-units/da/m1/light-node/src/v1/light_node.rs b/protocol-units/da/m1/light-node/src/v1/light_node.rs index 1b979050a..01c753d46 100644 --- a/protocol-units/da/m1/light-node/src/v1/light_node.rs +++ b/protocol-units/da/m1/light-node/src/v1/light_node.rs @@ -17,11 +17,12 @@ pub trait LightNodeV1Operations: LightNodeService + Send + Sync + Sized + Clone async fn run_server(&self) -> Result<(), anyhow::Error> { let reflection = tonic_reflection::server::Builder::configure() .register_encoded_file_descriptor_set(m1_da_light_node_grpc::FILE_DESCRIPTOR_SET) - .build()?; + .build_v1()?; let address = self.try_service_address()?; info!("Server listening on: {}", address); Server::builder() + .max_frame_size(1024 * 1024 * 16 - 1) .accept_http1(true) .add_service(LightNodeServiceServer::new(self.clone())) .add_service(reflection) diff --git a/protocol-units/da/m1/util/src/config/common.rs b/protocol-units/da/m1/util/src/config/common.rs index 9a75f7c4f..1f8ccdf70 100644 --- a/protocol-units/da/m1/util/src/config/common.rs +++ b/protocol-units/da/m1/util/src/config/common.rs @@ -77,6 +77,14 @@ env_default!( // The default M1 DA Light Node listen port env_default!(default_m1_da_light_node_listen_port, "M1_DA_LIGHT_NODE_LISTEN_PORT", u16, 30730); +// The default M1 DA Light Node connection protocol +env_default!( + default_m1_da_light_node_connection_protocol, + "M1_DA_LIGHT_NODE_CONNECTION_PROTOCOL", + String, + "http".to_string() +); + // The default M1 DA Light Node connection hostname env_default!( default_m1_da_light_node_connection_hostname, diff --git a/protocol-units/da/m1/util/src/config/local/m1_da_light_node.rs b/protocol-units/da/m1/util/src/config/local/m1_da_light_node.rs index 867ce5c58..9c6f4d000 100644 --- a/protocol-units/da/m1/util/src/config/local/m1_da_light_node.rs +++ b/protocol-units/da/m1/util/src/config/local/m1_da_light_node.rs @@ -38,6 +38,10 @@ pub struct Config { #[serde(default = "default_m1_da_light_node_listen_port")] pub m1_da_light_node_listen_port: u16, + /// The protocol for m1-da-light-node connection + #[serde(default = "default_celestia_rpc_connection_protocol")] + pub m1_da_light_node_connection_protocol: String, + /// The hostname for m1-da-light-node connection #[serde(default = "default_m1_da_light_node_connection_hostname")] pub m1_da_light_node_connection_hostname: String, @@ -50,6 +54,7 @@ pub struct Config { impl Default for Config { fn default() -> Self { Self { + m1_da_light_node_connection_protocol: default_celestia_rpc_connection_protocol(), celestia_rpc_connection_protocol: default_celestia_rpc_connection_protocol(), celestia_rpc_connection_hostname: default_celestia_rpc_connection_hostname(), celestia_rpc_connection_port: default_celestia_rpc_connection_port(), diff --git a/protocol-units/da/m1/util/src/config/mod.rs b/protocol-units/da/m1/util/src/config/mod.rs index 25d472da4..7c0d99442 100644 --- a/protocol-units/da/m1/util/src/config/mod.rs +++ b/protocol-units/da/m1/util/src/config/mod.rs @@ -113,6 +113,21 @@ impl Config { } } + /// Gets M1 DA Light Node connection protocol + pub fn m1_da_light_node_connection_protocol(&self) -> String { + match self { + Config::Local(local) => { + local.m1_da_light_node.m1_da_light_node_connection_protocol.clone() + } + Config::Arabica(local) => { + local.m1_da_light_node.m1_da_light_node_connection_protocol.clone() + } + Config::Mocha(local) => { + local.m1_da_light_node.m1_da_light_node_connection_protocol.clone() + } + } + } + /// Gets M1 DA Light Node listen hostname pub fn m1_da_light_node_listen_hostname(&self) -> String { match self { diff --git a/protocol-units/execution/opt-executor/Cargo.toml b/protocol-units/execution/opt-executor/Cargo.toml index e084c33a2..fe12995b6 100644 --- a/protocol-units/execution/opt-executor/Cargo.toml +++ b/protocol-units/execution/opt-executor/Cargo.toml @@ -68,6 +68,7 @@ aptos-protos = { workspace = true } aptos-logger = { workspace = true } tonic = { workspace = true } movement-rest = { workspace = true } +dot-movement = { workspace = true } [dev-dependencies] dirs = { workspace = true } diff --git a/protocol-units/execution/opt-executor/src/executor/initialization.rs b/protocol-units/execution/opt-executor/src/executor/initialization.rs index 5b5a071bc..56038ac7b 100644 --- a/protocol-units/execution/opt-executor/src/executor/initialization.rs +++ b/protocol-units/execution/opt-executor/src/executor/initialization.rs @@ -8,6 +8,7 @@ use aptos_crypto::PrivateKey; use aptos_executor::block_executor::BlockExecutor; use aptos_mempool::MempoolClientRequest; use aptos_types::transaction::SignedTransaction; +use dot_movement::DotMovement; use futures::FutureExt; use maptos_execution_util::config::Config; @@ -27,6 +28,10 @@ const EXECUTOR_CHANNEL_SIZE: usize = 2_usize.pow(16); impl Executor { pub fn bootstrap(maptos_config: &Config) -> Result { + // get dot movement + // todo: this is a slight anti-pattern, but it's fine for now + let dot_movement = DotMovement::try_from_env()?; + // set up the node config let mut node_config = NodeConfig::default(); @@ -74,7 +79,7 @@ impl Executor { // indexer table info config node_config.indexer_table_info.enabled = true; - node_config.storage.dir = "./.movement/maptos-storage".to_string().into(); + node_config.storage.dir = dot_movement.get_path().join("maptos-storage"); node_config.storage.set_data_dir(node_config.storage.dir.clone()); let (db, signer) = bootstrap::maybe_bootstrap_empty_db( From 0e8208f7078f3311b302f2b25b02ec512bfc92b1 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Mon, 14 Oct 2024 07:55:56 -0700 Subject: [PATCH 14/16] fix: ammended commit. --- .../suzuka-indexer/.remote-suzuka-node.env | 9 --------- m1-da-light-node.pcap | Bin 864256 -> 0 bytes 2 files changed, 9 deletions(-) delete mode 100644 docker/compose/suzuka-indexer/.remote-suzuka-node.env delete mode 100644 m1-da-light-node.pcap diff --git a/docker/compose/suzuka-indexer/.remote-suzuka-node.env b/docker/compose/suzuka-indexer/.remote-suzuka-node.env deleted file mode 100644 index 6323eaec1..000000000 --- a/docker/compose/suzuka-indexer/.remote-suzuka-node.env +++ /dev/null @@ -1,9 +0,0 @@ -# CONTAINER_REV=89586b190bfe88a3e9cd9d9d0e1025caa0185d94 -CONTAINER_REV=8421d9474d481bc573279ede254d76b5b64054e9 -DOT_MOVEMENT_PATH="${HOME}/.movement" -DOT_MOVEMENT_INDEXER_PATH="${HOME}/.movement-indexer" -MAPTOS_INDEXER_GRPC_LISTEN_HOSTNAME=host.docker.internal -MAPTOS_INDEXER_GRPC_INACTIVITY_TIMEOUT_SEC=120 -MAPTOS_INDEXER_GRPC_PING_INTERVAL_SEC=10 -POSTGRES_DB_HOST=postgres -INDEXER_PROCESSOR_POSTGRES_CONNECTION_STRING=postgresql://postgres:password@${POSTGRES_DB_HOST}:5432 \ No newline at end of file diff --git a/m1-da-light-node.pcap b/m1-da-light-node.pcap deleted file mode 100644 index 635418c5984d0025e82c71a143d47e59f698eeff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 864256 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%0DUIjxi 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

9+A@!%zv>XS>f-N%&Trr{hl-|?^O^%krSBmq zeIFcSlI--I0%sF?A%8GJ#NM+k(i-&vN)_BTFE|-B$;`^PIehA zY&aNUb_o{kyqN9P7odQX$V9mtVR07=%CF?Io+4{=9!>v{s>WN{G&#e-aWKM^|AUdg zNUjSg`CBuD5oR!BLM3G=m&r{{Q3sQh>EHw!VUt{Ncy^#Zyr((o8)2%Q=b%>hz@gns zY}k3NtyZU=oc-Xq%{V)+y?=~StBkOxRvBRee+egy7vxMDZDD_a<6wl*w?u#?Z6mBX zX|_gC-~|VPa)8@e67azgXgrjTn4EiXLm&quOo4+@0Vz-!VNYNTBTV=s4tE=}M2_((wLva4jh%AQYgUqSowJqoS*RFlOWT& z>tafL{Fgtq$0QbWYeel`2{-XMnpQFg1U4#`mm>74j4kK{sf%z&ozPtIm= z985jyC^^=Ou;y6Fu}nSb+&3L`xXR(_NG`On3@VKo*QqDxM{t5B($64<6wj-|FB4dwIZzKm(LJJn87?9Dk&>_*fm8ROj4GB6KI4@a>22Tu;!$1gsFDD zgId`GSN1^axyi>qklAy}ld}&Tw;AV1%@(bdT4jViwaN$+cs!i2`hLRd;#@Q6*tG(z zZyRB+Z>3rhra-4}+mZFDkBEmtpfSQaVsc)DKnEj?&cAXfDj)?aBkT!`VT1|iSNQ}D zFlywY$O(QT_k`tGM%WJai~~niV*-M0;8)cG4*OD~IF=FCNn?KMJ8)Ef8X!LtW94Tl zI3+Lu2btF0Ia1aY;0be;m2pVc+~iyZQ(?XUw!Y0FG)Hb-kBryP#*AR`>5$1=iNkDn1HzoNsi zB>9PXM7)*})_j(PbrD5r;WR9Xq9E|ZJbr=SAC7aiALl)Af{n1zbG2=Rbs^F*!pz}T z2dOHDS0jf-Y^gej`k6OuHp8AW!RM^Et`bbwF-qY#J2)3WG-0F~V70W!tQW+UH zhFZr$&g~8yHGEV?<>rB7T!+p$IW52mn%txGSjJrINn^|j?ix-Ym+@l?Y>U;hU}G-2 z76X-cxm7FF2sAH6x*GE$@~#?`-`io4PUYo&)Tv9VI?ZC!71Rc9pfctD??)9xy#+(9oItWzt*@uYF zLZC6`I%0CJ#J$#ojk)OjXHfwuP#JSiU<_kUc!I-?+&z&i=_6u_yf-YzGUj%$LmW7= z8Y}Z4*l+!+IyEfEGUhsI%+IF|9F?DMH#b_z4MA!0leu8-2N(RADcG1Nr^JuGq2s%l zpko^IM}C_zlh4salX=<6U?y^vJUdeEO>p0fWz27B*v;yDg7kIC5oE?6gM^9&RG3M+fEW{4mn4=I=8Du)foH=|JO$3Fk`pgbA zv(ALMkt}{}V|5Z{k%g6G+q!&CJO67j2G@j8``NKKq9>Zw&BcZ?O zUGCt#LZwC}h5ZF!Q2JDl*^jU(%p7uny+|lI%g$#CHu$nD?>EAf!B@gw%m@abv3!bH z+;eh&XXM1V4m&5mUdR+Uxy!D3e`k{u^`S&BC#m*gQ{WkZLkR5eCvamVvx_ljpGWcU z?=RekGUf>MC5m)4=0%s6ZoPKyFv{PJW`pFby!4+Pxsmt&u@8pXY?_=W;xfA!bI89j zw~?=mxspFSLl|=g^BjT+krXb%nNEi~n4}!dlsVX#iv#g~CU>H!soFZCIq4g7s{ISC z1gVw7#*Gt^dM>FNwL10WG|!wl@DPdOaD87LBASzChX%oS0~{n!^|1*^1MiGutdmXy zIZuJ(HbvhrIR(K{XAYW!0atGFCh!FZVJhOe$lP?l%oWO#*~OT%^Ggmhr;NFmxfsTr zB1;19n7!#}V7XuR8inOp#$0EQdfGa0RMM6sX)pUFt#4S4Wz2QbsOM=1j_O@6BR?x* zz}f%_HWH7z zDZfauqZ9|uPzsDh3d$2DLEu?aG0<>WB}XEN5r3z3?{`Gv7{(biACzO2n^VY58|2s+ z7BpR*63FR0IzDhRiQ-u9U2}{|kzW9VgsHr=L01!gjn}O1-@N94S@n+JG;?FUw^vlX za=@=;e)zQ0&!6AfyymdvrmF1T^|_yT$5iC3ugK* z|FMgrkZc@3@_+m-jCrOqPYjz+v@sv(CwYU|{{ zQQAgRo6XUh$ax-|z^TU8V@)+$kKa^7{$%hm(25^*=)t9>I`kyJs)*NG1JZoFT@Gyo zz7a0)s(yjL9gb7SkCS_OoXZ@@PQpUevFAWth;-&ahFkQMmCh|y!9hCn`fo-Awu~_Q_0W9rpdV* zoK?sYf7BteBK0Andec!OU#+<)`7m2U@oqI)|6AX+#bCOJN=lzT_Mw3~n50YqC-7pZ zJT#D8aI9U5nuB3O9vesu(vt&O!v8X5$(uK4p6uDFcD93Bnfg9`kot4BTAg}wmVx6q z@N3eW@Q;%R#h8pKO zm*d1!p6gVZPeTp6CeC#-KmE)nSyqHU!5PrKScJc zVxo8=u_9g|ey^-vgqK#X{=eoA!mUz?f1tTWjfBcI5~@^XAeBWpiHSPWN{AMjQBmWS z{8c203F0%z88Q@=3g$s^l0;&YkhF?;RU+QY_oPZ}^-9#hDkN59{*&+{)OfiU&yyn4 zF6&YwQ3!`>M1V?FWDx3?L=l{PN+DcnGalE5T^MRNj(hGZ+MUHxno z@dEX%Xbz7s$MRkH8^9{!Z#*bffiJRUWDp{rQZE2OHYeVW2de<0l_(j4AURQgOOE6V zh-%AzyVNPdw4be_gOcL;x5a@5^SBAnyhbS(k=pN)zpF>=7Aw3RZ&6IEMfHfzgDM=338@(n0i>xnxsU`}oe^GC= z-)ps{GLxz;nQ+ZiE&kuB5@J$osP1)6J|&xznfH?&^DS0#yv|_162I$In}*acc0xqc z<^?91>Jd|4{9=Abne2DjG=1FR?WxK{p!@^n_yzJrR#nMRNBh0*3D-w=488?ac{cq- zbjwu1s$nO(^y-avX^;mIvYiAOg^DXpyHcAxrp%aw2hCB&-%TIz>!Jp$Qzx6_-!i2d zqADfp^}p+HnOMQlZo-mHvOY-F z@T>o+I;4)y>z`7yPLAxf>b+8A#e^E7lf!99Lnv&IaEY`j^hH&a^MegBul0L@vXE8j zt7u{9p2(q_q~*~pG)HTO6iKs#)Nn9Do$yN)5vRztj2SP2F~T1{g@YDHqZot86#(s+ zlEl+^9a1FiHagpw^ec$VVuM@mAAKmsIM7f8m32k(UuZ{#}I^k8OzPV zK^)TzK@RGo^FXE~iuZ{wg*V}k3`j`C8wnCb1}Eh3jrbh}!7pHn!3Tn*Qr)C%6~aVe z@lK%^y;a16x5|u*DhZ9q3#76+920mE0C-XkS~wo$8`vbm=4*jQSmLmdC_ErC!oML4 z5;6Zm7T&@%@c5K`Bmrn{Xs`NGQ?2Yu|xg zAL-Jy<0Aumb?(})M9qo`CAvSr zk!$2~)2NR+P2Dnh_2gVlA1={4Z8)4Bf?nmLHS-WAn|e0DB)som2ctW7|LXG;_ZBac+h(Ro)xlV{4JVLK?#WZUFcK- zq)yqo3|~f}gE9@-98L!!C@Rze@)4;-h8FGiy=Sc?+svr-?-e;$@rr+%-(~Eaq@*fM;3Jool1#@CGqOpVS1I%a(N$EE zMbY`Y>>)at>Jihm@Qe8!rLo^-(@g7ljj4|Hpw~3y$wN$*%!1EP95Kf zxbU|e7EE1arT#bmEn-n4gBhHy0fZy7>3imJpGa*EIveVu`s9DZ@9OA~N@NshMUQo< zo>e_ozgQgz(Jxlw%-3r+SZ8^i>n-F=2FGEa7uJwQw89#aShLZe zty60@uSX(spI7GOQPaO%_fG!G-;5ico$%MfiF`1Y$g9EG@I>$p7~HM!0XC6Patb`_a8n1_mA^5<)J+|f zu!$MrrVfmyGGcMh$@Ke>6Z0_$J14_OIo#Aiiz+P?fifN<(EUVLGtCnFugaL=EqFzgMpoRA~}P> zarl4%Z5f{%M9@J+KaWnK4-z|^xOeB)| zVIBeE5Xjs${!q4S4rGfjU!r;6{>^*d-Sfd}jcX)!s&q%UuDuc~_G?n^!{qntYnkFn-QYBx$d?i+7J5#u3o*A#6y!dov zNMw5CrqzkBOgr(?fsMm{AN|o+8#}H(x4Qqi)4%=t&tH%Ce&wU<4y@XB_QNy3<=Xt~ zi5Cv++cQ)pT-(IF%*>W3AJ*0&k^PV1WgnYgC%!}*hH6r9(vQ{gv{cFbf8GkR;Y@T;lfy zN^SouQ;D`&uWIqs71R~#vRsZnEe~dn6u9pG|2)00*U0^! zR;*c|(4zB2dL8@E=IIj`l+RMe*ZfN3YrQ);;AX%}8l5@q_1YdZqN$ueRw|yI69jxsyBml;zD5 zXI~xAs^h(jkMwwd%%1rJdse${aE(p-kLAgw<=%GS`YVaRH5moO*=exdU&T--p`kLUZH}8-}vZYwxvyic_%Qi#e~AL%`T34@@IRf5s^5fBiE?@vn%%1oyg##7~cZ@v8XAS6%vy z(SP&C5OKjpTv8F6!gy6Bz0VkNbE4V^Dt2+=<<+ohO6?EDz7?~Cu2$9M<~zM_QS8TL z3+g>$^P=9Ws9wY!e0*NKM(*GfoBYhx9l4W_SIz#H{;450BdYC-xbVP$xlv6g0s-&=))LtOvw(GPw^xTpaa&$CWhwdT%R$YzVIu`y=Irb~Yg%$F)qp zT{O+hpJ+wyX29$5NB_>p1(~nGTf{X^67;1|kEUCZG{z{fvR%H{)?=c;yUg`e{Eohb zf^+L5N@un#v*xVurH$aCGU7@!%c2XyLz0K6JTlesCpKL3K)AFK9DR|a82Yu`-pyRe zevW6*rRDG@9>Y9?E{~VVSK@bUV-TB$1wwRJnR<3eF+y>~LNW9vNxUCVp;zM#C=B|) z7SkYNN?884|?F`+8AO4LZehiVcrFfu}j zL!YZ!N$eoUUh~9CjF3N-Itb^y9?m&%?MUnguTw5}Avkb2XMMj-&pFEz=d85i`v45G z^zv-{*>9Ges8bG>evr2GEn4qvLnt{X!*MEs^Jpy2AK%4Ca^Tc}KkC!~mwIBY4hTJ! z5a6RZ&g#{Hoo%T{?+4F1>XR7z!NpfJN8;ysp8u8j8CT_>c2)jMw%-hOI9B+(oR9t= z?gs}@jhdHiKQsJ4@#m85Hyijc6Uh$&a;~;_?a4_O6OVNG+6K#+SUrfjLtAk^u7Br@ zCf+C?;Xg0gevv?FNG{oa&fpkIy&lKzBR=RRO%DF4Iust)drkR%H z^l-u|3O_5&JadJIg9G;sm^bx-ZD;fbfi ztGA_3zZ#r+u)h3}{yKsUJ+b`t#0BvC!e3uVO6{-X;<#9z^&=9?g;U0F6H243I5>CU zhN=xf<&RR9oLbrLp4hOLII$~U5_7{|mKp2tIa0Y{kIbJPm^i!Xxnf%3)8KZCwPEkU zxNfJ&<%T^nbGqE=QtIpm?is{uHtdl@9y!GvI7-_YYO^_76FH4>$IQSx@Y;H;4SQOT z--bQ%n}Z*C$|?Czh6*W$x+)^ zRB}#Z;Q{%P>m!lOHRH+=Tqc~rQhov}gX3@qUL9yDvA;%bx72}J)w8x+Qe}Myl`8yF z2)`^;njL03d~%X;BT0v^Bc;l+D2G(3HpqD@OUs+xkBYh@eT>zZz1$$jX76>mf29~^ zCQ*JnKlu~Dao8Y7`R$B+wL#94p8+<=F)0heB_-%&6m07bnSNP$hdAp z4pqxpcTv6)_20bf(K{yfyMDzlA03|Dv&4kkmTnx`p;O1R9E zPpSRk+A?vCBaQo3Ke8lOpOTH^h8N2^B)QYG>*L$a$q`q)(E~jn9#g&3icU|KyyEb@ zew7aA+g0Q4fAZ zbN_s1QQ=d6?tJ0>7ZweCV9}oMbI%<#U{R-@>-OR`+yCyqsPN%m@BiY+ru%Pxea^D} zy?1@n_rteMYA-ybzz;|M~3DdyJS=MVYipPcz5^j>leM}>>alcT2sAq^IwZ?T3@14 z!A8$j|9i;TdtN-(|ARJFR!sY8|1CFluGwVA${0l#gJPL_1Jmanij(rH*J2` zg7VuRzp=(WXO{06e|?2fISN*+Km6%TwOd5GH*eVI_v_dF+48Apvt66LT$Rs87D;H_ z?6b+2U76*o%UXPVrg*1%mt9uip<9v~Jk)G=^Ul{3mlm3neNK+o-~9dVXOq4hH?{2zwU5jny8ptP8=GXCJ91~ybIE^ix_0FF zHAi-5pSkeQCV%gHIxaqvZRosthhBK*gPY2K)o9&&{rX;>_4iI=*JSy+=r^lseNv=g zwlcGRId_aZ&Uh@$!LblHFv{y)IPIOnO{bl_)86Mcw`hHCbSZEO7R(j-G-pKo$YUz! zN2!k~@AMg*f(1Kee@`A$W1EbdO^)7imi@oJ<18m*ibS&GCugPjCHdnQ<^S*6amGut zV&{stT*k#ltec4yNUlBNs;pc*(-%Yel(_EAg*ILuRsddzl-I=hG$>-h4ewXii?Kk5 zCwRHnx>}3(imTLkQb+(>asZ$>{1Gd53MsBc<9C5%+js!Y;8o)CtiF6CRV5~JA)k!_ z$&2r715w~vv0IGKpcQqo7oXS1HCo)0O)k)ji}ynArQK)$16QK{)yq(#W8i`&I|RE9 zI)(g?-qZH4Z8$>*zO*AM_|k|PYQzyNiuwP=jwrb$lA|ETB{?LE;gMr2c7&jBi1AkL z^}#dPIwJPla74wZE%*4~ecVIIAyYiSAsz4MH2{pAz~FDZMmHjcYmBJ!Av`Mo@NmGR zXas-cmAWC~Qa+*L8$?zEx~}Ld)s_ z=vC7JA5ddC!(z}bi<8W*7@zPiwjo|7;^P}d zfU0o#k9w~NPl2f$F))7BEX2urqP}>)mOx!y&F^RJ}5`ueZ;?IAg?LUyQZWpJJEPGyk-mSHCwcaYfqm@&b{F{U-)q<7s(Zw1JBAIh#N9_ddMi}+QEOr?zAfObF>_)80RIzaw0ive`SZV%KmR2^ z%0rNcIr^O#5JeB<@Pr5Cp>xTP{tvju|Gp+J`B9(ymtFFs@Gg3D7>58cM@qlMnO6=9 z7z4EHx#UNcF%tHZiPC0AJfL!R$&bRo&}^aqT=Jv;fBDgZ*=YQ3hhYmckaCf+@fW!Z z&H4_;?`CZvVb)%SiM&r3NO0=Gk?}_wKfgUXv%Z576~@o((J{tP?$OEqF^N6HDdX3h zrcrhyIO`WV?9myN62E0a_hJwqbB|7o=W}o2bKFluX1lk7nXtKo=GSjF5ZvOi_UODe zw?PMTHSU0oUX+i0Dg#n@J9^?%Tu2R?v};9 zO$Z}U-DXM)%LuobVsgH6NU}PhCZLYD*-6%QBxgG~4qIv1A0&r4QCn#=2kF!sp{%Vm zq#tot`8rf?hDx&|Nz=*s1DwDeNwRXAP36>n0k3kYb|ev;Wr=fNJqYmY5NP)LXfQc> z9XP5S4D_I1pqIVlv}cIrkR0BCN$nXz!tSFc*PCk9?Q_|GMmM@h`K8gU;~~p5>`ax0 zt!$c{r@?X9Ger42MH(ny?HN+?w`PcM?Pf4DLnWp8y>?Ae2a}Wy-~{d&lARaH1;@In zmgc0tXNYRQcTg*PVDo#C`U|#NoqBREfa5soUNCCC8Bj#c0hgn09D!HA8{D@%VGn2b z6IKbFpfMnd!!)WfKnIxSrdkwun}a|(Ej*kZ5%b2OX1j^54>|L|ao972&fmP}mI(-y z0@a=&PhgBaLxg`6PGr0UPAvzHs>W~xo5QcFUBYs#JwrNa z%+C}Dj*2S>3h-2{B31yWaIP$otuP1tkscw_rqmt*abeHUtfTsrA+koV6_=jL(~n4| z@jL>=A&_Zw{HUzgjO3o7MuXb5t~Q**a>(?43EbHa7VLYd>*;M@Zf<<#i2lD!96Dq2o}rO`k)Dyg zt?nAp{Qa^yzIyJT+K1mcJEl&;AMv|>ezj!JvO{})Jhjg8H#Q{I&;M|Xr%&#E{EvHb z^<8;!{QPMRcg-I9`=?1sjqf=(qsylCdk%hhV%4qpeRo@@4K*g*IsK--XTGcvcY9>s zj23$)=P6e9(NUM(-*@%{4Z3E@bGljX7W>x4wW+sp`ERc#H*V2mK+QcRmL)8mxAElO zHIw$|AG!71jWf62KdfMn30)R09P?h4flYSa`_J$Ry?m%M#ju zd+w{}uIu>L=xG&eF0Fg?z71Dz|9k(;ym!qgUi$4W?K6f3)U-sEkM?HMzmUd1nVmiemxw!1oYy>sV~;yv&9vQW{RbN{)nTDzwo_-p=s zg??&q`?VvEw|(h++urdnA3J*f=f+o`-I0I(fzSTFqC@S6XTMoJu4JpWuUK>k~v zJW{+~q|~}+pX>5T*0EXR8y_zH$+#D9e&dZ%iBH{sSHU^Oo@$sqTjk4&oGJ53mo?8% z%3rW_&k+M^79MwO)xZ-aR}Jg&{apGLMAxq8h*WqVw4_?AK= z=A5~v@}Ko{cA0e5g^_P{yX!wAZ>oQ|+|0xrk*v4OpZ99v+}%o*pSEFNiOsdH{JzhM zH$KY!P{HhFP9B-@2R8z-gO^7K51i`d)gGK%&l!OOrJ{Fk{oZ#i+LWGI1)LQpksM|~134940hfkSkJ?rcG>5eiXRsOJ%#%Uo#Hmh@50lBs+D0UY zK`9^R1(oVtjNmKW&Y@V?6U}C1ZG)_vlSN%va;^r);gr_n(1)p0TFtStZk^JSUesCT zrmRrOPn*S5S>A!8(%7wekxf~_F=w7Sjns1w{JO)ZOc1To!)VnRBclC^EcY|U1fDUn z+5Qfv8{ZfU^aYe4r5?lM>(j$Iai;Q^hjEGgo}SgU`{llGzcH zLl6_W8nb+Q{e0l=k7b01?Rvf-xtjTy%Y-9!?guwN;x$H?9P+4bi~~n$%TH}KM{6Qy z890GP*w$kiVXeo{2$R1W{J>#J@=u9)EhDV?ED7r(in1?U;HUfoKOBy8(T|h#wv!QN zCt)Ej+D2FxA{`^l95zQ2fhUVHhZoVzO}12>L(ylzajb>p_|zg!*J37sftPZGuq`=+ zFap)394#y(7-}YGzC)7L0d-UJAGdHR%^aAzj^r!~#~A~Tna^#`+u%6(XZ9=V86&1m z<)1YNb<$@omVc(oH4Z9w%gV6@ezw*4UR^nIwu2KixkqvMWj1PZ*PJvTQYZK)2Z5>_ z^$|Y5Z6{_L4`TjxFy-IyL7 zj5+1^GxC)&SMqme2xHD*`nk;YUQ$lmHANjvQYM2FXv}R6YpOo}tvTr%bE;kFpjP$3 z(@6bFTdht#IorT-8+Es=L>W(u16dh!PpvZM1pX3E*k^viu6#fE*tG)u%r@paz%<63 z0&fD?ZNA#_+4AWPIFuSsrz0k3HaHH(9G$;G4pcx2RL0yB7{izozC4`B!hRx;gymS5 za_nGpE)7natVV;v2zISsRZE5CSjJo@jrnQez)>UnS`?s2to$?qCm(!Pkcr+sH6=dt zg0~vdSHv>rZ&$lWk1C8gnM)m*$ko&wFX#CV+(xmC`K$47XD64&oXp)0eo*Ob1nwck zYvzA)$Rp>t14n5)L~S-lYa-_gOn`yLT;@&cv5dLa<7dptzZU$!VM+4u6Y*MRQ1e+5 z)9L`~q(pj`N@&=M``qR;aa}2W?}n3z3d7XAVDckgEF3g9!V)Emh}` zoHO7!)Fbl@<;!^+DPuzI^i>5X@H9krWyzrlRi`1ElMzlsn3LNOOQ4~av78h+u?)2r zOR9B!f?GNyTXu=duRxbLiDVl?txHKxyHK3PTrrQy=>-?#V9e3As0SR&m_ttv2J39h z`%Z1WcJ46Bf7Zb~$v(F@E1KpGPP@;wWYgq)0gi()r~Gy$C$dRcj%Cd4V0$`n zR5gA@uv~q!2Rsf`Eg9G3upG;n>!gvh-GQTucoXsyb#pBp*PYA_6o>Wwk;`t}6(+E~VXf4(AdID!>L?>s`CmxQL>6n2*8h@z8|XoWu~g22O5;U9&cYVR`FXZ;k72a4 zkWllD;+kVr5}0L9urSqQW+Ci`cKTG`r>27fEDD*Aep6SZQla)K_E%HR`R1K^wr#)<(u)L+wsVqUHd)Sy-U~lQt{V6*so8Q^8LDY>)Ex- zfbP8?!E4L&*{=Osna3DRQv?%KQ!gp~TG=(#orRpO-~<|Tc_1RW;8@07bJ92FY~_f9 zTG<2pwLN8e(A;4qEq z*!B8WsvD+K;H?e2Xi)35X|6~VnXmNC!$ zP0u89HM4=ss)5vbFSv<_*Z4|u$fLGS4jiQ|k=ksI)_RW3Ki18FTV0 zfFC$4Nq&D3uVu_NpCw^kL{Zu~oXJ^%_xB6DdpOQeKh9ck9E>?T2@5e4!<+e3vMxkA z#+*4k@&6TO&E@~keujRJW9E&g)rt6))YX8m2Sq~%*3voK46tt zU<34~O00B~eh=t@Mp%YDQiM&p$_Rt3=k6Ev1s0oJvRxehSRia7;3ebbGsPhCWO z0|Xk+t0N}odVHISgE2?vKY9ZyAO$L8?g@-x%n5Jo@>MCGNG{CTA_uVna(ag4SjHT| z8qNp@j;h8j2$t8_?18f~S=2KxEXOkDh{G5J2^W;?{ZsBt@(PX}aOaBhWeD#Y@Ec^r92C@Pc)Ay+fsciEO8bv6L^ zPsD3X7CGcm+m{X;)REf$q&AzQHIZ`~oIqo4>!JHe#xN0=BVOzAGv?%906%b8lKl1} zUds$>K1;&7h@xEUc8yyH-rg_p8^dwB`f-MV<6z9Sp02hr*M&&Om@|jd9i*zh-Sx#M z-ppf5)j1?*GdPa5kQ|>{2xCs*J^%x)vn=i-LYQTpwXlq^hRj%gc1W^3px(@b1L_ew z$-0i@oCwGH0~|BJ+MIvDaX9HgzY==>5YwhQ>Cqe>IHFjd4Z%qdRc6IHM$n|Jy3`-0 za?0R)l}lyt3BKHAbG7IaZ)66zB*Hh2RD;PW;J{JkD4BQd8~g^Km}#tz%i#_y=1imH zSS#j8V_9l)HRko@?Sd%3lgrh7FAaC5N<%F+P0l269E>^T-zm~S`O26p`EV*j#po$| z!oRg*&R`aXOA5C*n3|#vCMmnX2{h(ja(COtTywl5B9<|y+MgZNsvfu-spk#(j9Q&~ zaxQ@5HtN1n9A%Vhl`;3!Dq~Jy9*1=rOISHSVO_up8Uvy@){40fFpV*%zyS^d<>2y0 zIYj(31RBq)BPM4VI1a{~o&RT4pq!|)GUlGZ7{;9Nb>T!_@Dq6~EXOkDcCc}7D-jI# z0)oBKud3IFyfRodZW{ z+ed9SM{6P{-o=>PdMsnE_4pZc@-KHW=92%Th}SZMn$ME3E+T;i0d!bm%aod<{PCCY%Iegqfs_HYx5jH&;*cD5Ae%kR@F;R zDyvHHci{v^eHzpj_!~G5PMsZ%fku5ARCBEAS)T@_%D){{s_@6$p7L>Sq|q2^9X>h9 zxRU2!grV}|+(xCk3kp^2BA9!h79oS(pPFv3jOHY7|6R7Thn7{dq?eleWLpZr87x)@>EO&IJ?_FYiyU|l}k zsH*W3f_=}gsskPLL~$%5tdqw4%y!_YBEE;Xj>O8(5OBu1+y!NKO8kY))r!(n#WKSE zs-DFs-lY*H^LjTUynDlreKo-?7Rv~~*QxO#a%qIgtm|N4cT1hcz`Ysq8dF0KdE~Tp z;2{6hb~Clv9Ic6*e&7VIP}_PeBdqoK8Da7VfggB&F8S3(yp|Exe3pcD5ea-TT;RN- zXA)=!{%SZ5FTlm*{0)wS5!Qv^^)0h?MC(b%2s4KTTuh40VO`{~tu0mOker6#IMzaP zd}<+#Fo7K%gsD#07M-xEElkHwPH%7mSGr|@O+|ndrZ$P_05if$H)DAWu{iiu_6M00 z#-di1bxzpf)!BySS4kfNdeCI5hL5jIrqpEWWh#|jC-^D%QuahCzd|X^`Gl5D&S(dY z5_kXtdxB#esTN4iR0odgTGYe4hsD&h1S{PR#+>Dl9BYLdaeYrs?#5i)1%>k0J1nqU zX?QtR8g{a2a;|eT=9K@kNQ1RPt>o{_5XPLrRBHqwaYTHPtGE@2OP=pTMc1gjLVx zCyaMf2^veh0KuU!HJ0cA(-?CK%;e&EMSZGgL&V%3YmB*$n4G$9#vGmh+r$f*l|W_8 zJ%KTdIpOz&6Un<(#1#2#SdO(qZ3p{?14mV(5rWO`SJic4IhHZkNn?IaIdJ3%Ry{ik zaBHmmj07h)2J)b79=i{v#6P#}@5S_Zv5fiN4WB>B=V+qIeA0o5Tpb#*a?%2Dm&7vW z8%AF|O|E86ahPzF&L!Y3M7+iil0zP~z3RYG+7?oq&C#03`4OBzV=nV1_0UHo%T-IQ z$IqCP|10=`!;<8$6Y*MRQ1e+5))<%nLUMd+Av`02D;$KWPWU-;$WO$X&a7i6 zXAd|IW|ldW912rrR&&@%gfMT)#Wo4jk2H7vP@S>3Migx<)!E9|pGyK5_5y9P* z)~Ei?j3^F21&ZZPR$6m1!s!DhQ>d3SeS{yqW0FcZI7wB?ea|gB*BePPHbj?zoCJ*L z4n~-zlpN0XYK0n{Gfb4T5teryVY4+|rV%mBoa;Se<>XwcYCN1xlQSF~hZSnbpPWmi zf%4S~wUR$PLl|KOGd^5W#@jVT9ZXW*11Hc3d&wPduTX1_cT~pOszJ4%I;fRBaPoMh zeypulr=A?{tZ?v~ETQCBep7SO_)UVZ1lVo(JU5nbkp|_ky)?+esQkQ${49%=pK;)Dk`FY(zoo?A zyk;Xx7uyIAcwy3~e2%7-%rcl9f|!W$x4xgg?Ho8t+l|y_bF?OMdV>>agl#?aAjxue*LwVnF!=+)4;(!tzpaSZGGCg{ zlCUnKC=rFOwbql45oQjra#)g3eWoLtiMsWp z&LKH>x~!GRT1bvhErj1BkV{2@E6Wo2kPt?oT3Ob@GJ-W^ERQ%OSshS~P{)V-`olnQ z985j?gXAzL%G7)PA(pA9N|&!SP%7I)DL;u|P7ZYC$ax8z zAlDJav2H7On6n&A*m>bzlraaV3q`scb8*)Z%Ky?~ znpJr@kETbb%I{}vnw+wj9vzH1<&QSZ_KH799nUkxi(!Z)Up-jd%aea?VV^5%+dK1iX&lCpfcv3z!=7y@Vml^tm-H7nXnwonA^d=?!ZyisES}q`Bim8SdL}P zb<&uh(+(Utf^8~=0#u8YpK0KHg)8_$CVKa|l=uZpGMAvoi?u@iaoJ;k@j04kGVjA; zXb=;*I(PHfai4>GeJo>s|5I~nldGA79Tr%X&g;Sb0`VGSP7Zn0_JRXPY5RiOY>w7M z&S&5R8grR9sfRuySsHV#$IqCPzXANf;Z5>y7V%nUQ1e+5)4o!a_8#jk)HeW6YVudtH`TWeyvlnL~E1bq>jS5*)``NRCe};&d%u za1f?C;UUD{+!m%|r?4g91R8u9U~>^5g(-ut1I!2ppRs%xE+@S5VWv$xCu_lRF!=0O z%NReP#j2YS$?tcIbjCgW;S_A;JorJLYw4&f{CA%M>yeB<~vn4G;1 z9M!eXAbj@um}xu-gYRI>nMTQ>y;8;;X{+JdtupwYT4nGFT;q^NOIXy6eQaR~IC%^j z1EM(WTWSo@oHWLq0;{{6m5Tag$%%+pA#=u<>xju20gi()XXjsq3gi@ZR>s^D7{izo zJ~5ogsEy~g$alkXEMsnS);MrfHMSwxc)#xUV_1%5%yrV3pFbTq@?gypj{`JfYX4w9>x zw>kJhrE?*;8xXHC=H!q^ZJiuADe*$v25Pf8S`#@FzzH(uQF<(6uJ!mCbMmKwA2ci} z{-+{d%M5BhOTxN{qWmXZ;Gg;h?)D9YCV?CMI2WNO*qB=!2B@}<=t87p%$dW>988MJ z;YQ@}uq{>Rkemm=3Hoqj6o*pZmnUJG!&(Sqo)L^NgL2tdqYi|_r_0Q`8_6*aPUoMT zCy<}H5!M_lIo4im(no?GGzrSo&$?Tbkf~RbpqKhoMwsA<&V6In!vOz- z@Qo4HU~*n`;HWhIgET(um&T1wMp&d#ax5c^G=4`-u12__yvqmW?{P4~D!)j>HeQId z)6j-ZlT!|+CwPUL^0(b6(qI{3CBIFEFv1LmU)>V)iBBsj++Ju74b;ITr5!jyE7VaO zCPf)x%}L(~Q?1L5T4WF0wgjo?w-Fe%I`!lXgj%;5XVxf`afz^V$_RUEl@TWJNryCA z!gy=Pn8KET6Ep@yahOIm2Iv6O7-0%r=^#+mX96PThggjf))A9a8eS~e2#e1D2`Vtb zHo~637)F@z8V*L!61me)Wc#oj%Lv=S_Hf{+YV1U?6aA|Cd{~ZUgmu!GpP3FEm7j?y z;;vZvSp-fBIzy0Y-IFgR{>iHs3R4x!2>*WITzmR0npQGDcVHq{`SR4>TN2!?v5fGJ z`)*uDu4aDc(rKm6tl;trfic45kVkDt9XLu`DQdGhS`#@}BmaR$*w(`tI$4?{t;f#@ zlYbrffy0vI7Z&l7uZAVfXGvHWQIs1UI*b)~VZXqW!f{IbaVCJ{V1(I8ScuXXJ&Y07 zg-FK;Glw%Aq^iDM8qFlzQgsf=;kL0rBP?qnIh3l5u;#E98O8`Rs2sQe>R@1*|74SY zWnjJho1iQMOZv4=mubZi&=&NlPxxy(IYk^U)2b4_E0i+zY7+EPpUMamT*5)10)GZD zcTyP#sKMlLk3x`XQil}-{R|v4+uMP*a=H(-NtpavX0;*=&T?vUH^SmBAC%t-%?8Q0 z(l9br8al9Pa$X0=!3eWAjTC9HjIfg5Aww8p2D2hmQuakHdZ7*`DZhXdXoTgsfj$O~ zWrQ^+eIrb@e>td?JrFHiy)f#Ugibv0qQsRex{p1;T^H@fB%1jv z!o!d4zDTZS=6fvoi*=OFv)~R!e=tUv9P+5`1_zGPHkjIMj@Cp@wjsga+!&>YGjy^v z!dj1?5hnjK@B@b>QJ3NQM7-pyVM+5@64pf&r96N^Q=S+2@O*xO*9phrH&B>D*a;jB zj)M_qCqW^G^BX9P5!Re^j4*TfmV;DTqv6+}nJKnZokMcshPr%nqv+35j8x?rhacM$ zA&a$8M%eOihJhi6azQ1mIOKruphy3SfNJW5&<3%X;jCq=A<#^6nNf2psLRS!22L`#+d8+ zkkfjE%QrXj*gf0_6_5gJna-b?tVkq=F(YNYm zbi`}?AUWhwo6CnnmA2{BW^=SAavp@9z!hp+k7dlY9zSDFelPF?hb75hCE~S=x#qJZ ztcxhhNQVSkfpdeFNuVA0*l?WB{W#x%<6z9$Nmz)_F}xXLuJxp2%$dWV9i*y0^EsM% z-zlH*egVay4<(cuFSsuu4f_RY319lPdyi2Cve#~$yWu{`ztGgN?^ zMSv8hEUykQBUoO>QZ-ag&ho24%zSR=qzyO@EAQ-A$SpW@AL=YhbCAjyXHity4)mZ& zS!Vp~ohIXIQuZ>Q%1{&B#UXqJegNPN2;VqT4JPM72af7m8xZ~jere>_+y(EU7Gt>N zFpbKXBaJPo$=R68yN*!)%MR;bRvP|Jm4@?dnw+1&aWLlW1%Hb)P`)zeO8)r_v0~0( zPKHX#s$q6bQ3sQh;#kZJTrn4O%31U=a4ci4Iq4g7s=d)+$x!ydRl|__r);%4_2eXj z<2LG^eafg+#@tgY&#U4Hye*ut(SE|711D$j@Qyc`U&OaIvkB30x zd3D6(T=}8Xia9#}s`03R6sU~3CoqOFC%ib|fyP{RB8sGeiYc;5SdL}P?O;1Qa8xzs zBiJ#1Redrn$1>(RY0S?=2aYP@806jlRDQX4h0zAw0NWDW;GUrn1sJ=8_c6bFvV z+fL@q=IDHpGu4g5T-9W*Y>v(mIa|RAJfX4kLob;u&*pW0(mSEq?ZUV7X7P32(&Ha; z%LDr%^ZBBk2RolXx^Z+q$Jrb^pAEKTb~(TCIE+_qMc15w^P6^PBCt!#l#WCB+t^Zd zN?H1TZc@F}SyFZC0;E3aB31UT7g3?#ZK=9U!;4DY{s52gTgycwawn$_cIwOB@ z)G(`U(A&p}v&Jg2mwH*XE{za6&qbV<$IiAmJC8@f=>~E9QQ|tM7N>@686@)vL&n<~ z>L4SLg7TbQ5O@M#479AoL=YqXj%f9FM1-wjtG)3se^jeI_(D4+du;V=wWDlRt9NKM z%^8tu{eNHnnWY|HpHe+U z>+y1o8(tDx0MNiAO?Kb40P|b%Von}azzOuUHixxRp4RIjsuUDf$3d9N{sm;8cYilo z)6tUijDs+BT*>TPSM_xE*)`+vmsoC^0Y(X% z;UY|y;Hxolg|pkjbO}C%u%S7#2X_g1*vSC%d6~b^=Z&Sz8aeMfa8%}dpx^W65T=5^ z)}3-IS>#+1pFQxbL=8SNE+$H?OuSXAN)ILrXC>KLK=VI>uLL-#??(x=0<{Gea^NU| z2Snm6juuEgcR6rmmoJ~VNdmx_|^%J{?2w|U82}?>)xY$j%Nd8mcx=t z5EDhKp7Xk_e}nr+tTT*B7iJzJS2G*AEYnDxe}H=q9l=Zzg?Ho8t+c|2pIa(7r zcdT-_L}BaUWRon70rVUr%g=F>-v<1^$xQGE#fx~Y$xQQE64pf&B?Ul-k%mP<;Dfj` z)FcpMzbBN!o(sph!jH2L9EVF3TF({2Y$^+{^`zsADfO&_RN1!&U6J#;Yz1toDu>^b zQ){)uCVE*5$zd(jCVI_bEyVnt5iSWZsOAVNXhc-WnJtpTpwyJ+1(j;Co!~nFcDP1> z!e%RgjwTDMt`T^JHQCaJ9A=U9yFhpA#@P};pN*QDD;b(jPRDSZxBWO>9XKkDZzJLa zaLo9x(?~rXK6bh!z^pN@x5c`rx+I|Ea=#=X?sv#$2cg-ZbXxN7^^^Y}a2zfPQ2xC} zzPcpf$sa04D{+|oTi+SaqiEXgbWNNi_${G3d{t@VG}(& z|L>^4Zc%4-NdSx=$cnjFhw%49iOilYhR7et`6evKx+I{26`b=999fO**%0iWR8XlJmpMX#2+(68Rx&#{Fp;Z9Q=eN@AKYoNjPSgaF{R1X%!eJWK`Wipz>T`i9y#PuTR#Vm z($;|5kT>H8wI*`rgA=&4E%PSzSVmau@iW5YF94rO<&Qcs!l9EKy#gosZ;N;>Bdqx> z34UZz-U}BvXa1OhFAc}}z>iZDXJ8ISn4N@$_`o*8x)A9YVdgNw;d551&wPMpI@(fo z4#|1M<#SfD7Lwyr3o#NCIK)Ai>VzE;d(`D*`+$% ziWUY!rSZKwyE^tsQd*EATk@`n%wL10W zECk1G2JG z9S$5-jXMzRlYZUp@30)pnCql5KNVb7Mr0A6L;+gF%Fh9C?s3^f-!dis&+WHV;4Bc! zn2+lCqgcJBi6-+G2PSgWa>40eH-lR-mN9=aSG~W;)y(WJ8=|Goir{WRyvA3OLmstV zb!ALlo49E`cv)6zEPx)A9YbB6qngVa4ThivAkEmh}`oGLCSNjAr)7GfkO zu$J4&jSz)e++z#Vv6FKfIDy7o3cE)HXc==IU`8{*}HoMB<0-`0K!?P{_Pc}_X zKI}(!Fy@qBQKZu{=1Tsb8N!$|m?AEltL0(Nn)1Uy=FmVLOj2rr6KKqBj%Ca>$LqMU zR?MlkiGx}>!ybSC&+WBx+iG>{$+;gKw;8ZjZV@%rDr4@cRmPma{^5l2f~85LE$j_& zf<_oCzye|*P$P`yq%r0c__2dP+4*Y~K*ZcfW{kOxn4Ft%2I64M+4(<51*AY_%sqiI zj5*;A9Zqj7k$e3__6p0fjJX}G%cgZzjlBr=YQL&(anKXRv5dJ+8uRmy14rfOY7~H9 zFrB7|KZ8^6MTgtYv`>l8-Mz~5e#ZQlzt0rob2QOp{^7txjO}m!CT!HwFSP7Zn0c9jE1Y1>I{$eS_vS`#_zr#akq#@1sQbFIhEn3KN= z{J>#J^5=?pEiPD+rKX2qNWD*zlqVAE6rn-NaVTyPwWIr=<{ zU$v=lA8N%M;snRtm=~ZiXR~iP$X9u3il(bVzA@%1FU`m)Fvsb(Gn8M|$X6@oo_y@p zV4ve(|JGI(22%pT1l80^%1XPYc2dTG6KKrEfmoHvT`6j+R?IagePd3wvmDf_VPhpy z&+qcJ4-wM?SAyd<16F;=s8z%kdVu3#%qeiA5vYv0CoqOFC;aJfBERz!xiBopGUj%$TOBy6 zyM2dX`=zRCbFvuM&tW;1F-Ou2=c>8RMeK(H@OG$n5w9ofPw3&@NE%?^;g7l+o*aoJ zM{k*UI3@m$=hpEkiMe9_P0aO=e~=9}_%{SUdC8RxPR zBz4vU_bS9|OcpuhQ5(1J1PyXZ+f~$NbF?OMYJ(HFVs7iPjJek1XUxfO0Dj=GB>DG< zcr9bD`78afApwYL(Uw{N8Y!E`AAI435K!IXejp(FMbsG3HuNI>wwi{KP@( z9+|@~XeR3Fh|VE7=fH8Sh2;3uB2L#Lr`vu5#$FMz^Aj(oGwawXtSmTzE9Nr5o+3aB zQd((-54X$vui=ZDrA%G{&6ZmJR~d_=Z5&bHzMnphK~G=U~iP4#}}r%#pAK z6zOivOVgNB{uq}k=0don z{B76NPD*Jk<^>vaFS&o)#$0pKH|A8E{VP*V;%>yUs*tG&IV;gfFV44+k3Vho^pd1v|mpQTdm0S>LJe`i1oWH?w zFy`p|ujE1nq(EiNJ%KTdIpNtHwtQG3i}{JXF)YV2=60~RIB;Y&UMYrPqxN~}U>R5E zupG;n+nmQ7I4VD7QGnvH@^c<~<~V%2(4Hq!;uo!Ixs1Ld)>f95RW_I8b2QOp#<^`} zd7}M+(JjDT9?O`|KUsS@xte(um_fc$>0AzO)D8-A$fLI64jj~x+FDW@@@71d)HwbnUn8A<)l?N z^LF)9OyxlvK)q5bu$@Pt7TrsQ*D$X zIH$|jL{Z9Cg8+UC;Ty-V!Q|w3;Ha+k6vF52p<<@79X`V6V9c3D$+3*Nm&VfaGRLT> z%N3obZW+9Ka;~NimuQ_g%eLX&4&J?dL%GgdKcf7>4xb!U`DGg3_DjQJa2$*|<-aY` zU>S4BU&)ka2xHEqtO}KsF}#dmYKlN^U_j)o11Hd!n?42(lcHA4HOD(5Vr^w%D?1$2 z${skTDpEhiR;yBf133|Vs?TlIZ8fF+0i{+Mb5E@@<^&c1FzDEg62|b=v8#opG1LSn zx_$l-oo&pmhrhs%m>A{}sRFmk-OajJZx4^V7(Iql)+n;_479KiLc6tF^Hj z$klTG_^y~gpAtV~d}o@An8tkZ`P`Vs(eprOuV$^6m%5%aB7JwQY6aC~dQ;&E{xL#>Zv*5hZ)$u9$b;IJh5 z+eN&V8Pt51gmn=`Npf3CV^J9RcE7-@hvRS$l_`Xsz)9dZ7;~*>pKZ)FCmmzX9P;}O z15f5;4)-DKs9NhBl5+%{z^@XuIjn`c3yS8j7Q&ck1S8C#&N(DU9SAFDjPKGNbu_cR z&ObTv*cBW!-R%*{>C#;!naNSpotKr#%8Z-UY|O2t)pmh)5^ptF0qSew_?qgc-~i;gZ5Hi7|%;>R^&`0-Qi2 zEDsIzjUgj#Bdj^;8)2%=>~==W)Q?2!U$WKe)RU719Jd*#%S%SBGQyr(WrPVV7*5z6 zKVe+L2^wMKp(+BLBhsiw7#(05LrsB090aP)KL-&{g+SvCb;RVn`+t}_?|3b$YYn3a z!coMoU?N}_5G&aA*bt2s6E&hB8U+&zD(W#-)YyCPjaaS-ieT?x0Tm^-(Ci`D1)|vX zzVF^^&8+X7nX}jY<+;C~|6J~U=3Q&;nR&kb%{K=ehX`{5S7QP(ponlDut0f6 zt_QZ!wP%Va-z}!sPR14#~?>y1#+ZZ`UguxlckbV)KNfG8@U-39!SlaVC;Lv=a%=ULB9-5quaGQ0A zFyrqR+F(Rj;;+;qM3}{F?Qw>@Deu`+19Qllatt_05w;vQMRtUh)4T{X?WvBmvI5^j z>v@XU6PYV#C2}qV$9Kn>*8^jWe}Ga%I8Q4gOyG6Zf^Ae5>?d$i=dLMmBP+uB+G_L+ zH3PQsI8>a^MyQz2lVuL26_Z03bBHh(|6EKU1{4v_0~Uxd;e#uMyr4~4$m^N-ZbA8WHKRkbv{VoKz@GtM2{lnjuCRdqvdEOuqbDjY1MW{FP zIC98iw#OVC%#qnHVm8asOys(8b*7mjN;oUZ>_K=*{ zz;U=9quz}*6Qj!BWF9pWVdHwFzXf_yv*V;=N~77Dl9O&Rn$4mQc98PY4l`^C3>F#aJP5e|#*u|6o_i$-($9}i8=L*O_>nDM^|Z7?D%@&DH% zM3}|AR;eiiYJM+;Ib==w8l0pEXUzr2h_G^+7h$Gd%;%eE{eWZ8`ad>0MYwYQN6zXV z5sqp9NLENIBAllc5hl?2bgKsAm)7>&&4L~36XBf0Hp-50zP1{PFavr%LdZqo091S? z0%jtt6_Ya?0UaXDfM;R?2ZYXv24n%+We&;6rSsk3q9MU>{Vnf~Mi{6LP6^rnp zlkPc>|3+ygvkP3wu_HY3%7+I%0q#~sJHoeranbGMDsyXxe@V`*z^(Zc?BtNgYWGFj!{+R za272_Raq3ja!6fZug7 z_&JX7B~oTWt*s~LIdGC997h;AMue5qM1%=`)e%tI_$Au-b6Feb;0I%l9bvXHa@aG^`0f;gI-v ziBt=Cs|JfX$s@vfQ)<5b#T>Gx@Qq$c5w;vQMRtUh)4T{X?Wc~kaRnZD`{#?^zfz+W z$dz+GIqf_m9Mayu62^GD72!Osh%kX`ITX$WTdgb@g*tWa)^ONH5#fAoH4|69<^I)B@i+v`97-!D=MiumBFx1<4ii|-if|sVK!gdOSS{qFvXFDCa*PPuV!v^4 zWEzuDY|Yk$7R$PpaR_V;$B3}ytm)v$5Ld?lCKvT*UF6xwBf?V~>el}7{5R=TMLWVz zT=T|T{5MJ~nNK*FsB!Av-S^oD+_#EE__@BntWT~o|LxexogQ<(1ul2wGl3ca4ume8~Fs5Lt)|E`^g$; z3*V+1XF(a~25=lAta%n#5!O7-h%kHjq$8@VnFT0&4;xi`NY28Lo#cm-IE%=E;@qA$1-hrX&& zf8WNeHX!FEa2z|-jDJ-YU&NdY#DBX*h&hXSt5Q?;?QCbtLbNGggOe2VthwMAF;`CW zV$QTbJJQA#xNm2){sEg-TTjjs5PaWN_ksuZ?k;I%hdNIyVou;nzE2ET6Cqg5TLWz{ zzV0J+?wSH04{g+Emb10hNX!|quOpyb6dp%NKID>#xmHZh|AFHWa~9eI6Nmw2hgu6Q z{L77mkFOT8zAWU7svINcw%AV`9GONvihZJNxpnjjKARRfM$ENo?9ZwWjtub$u(m1c z&!*rk?vUu|vl{Bw7&&h+9j{2tC-yy)3pI#2nKwC@=+&&w<5#&C+=Gh5yl&^^w<4Ef zPUa&Hp_ZHnfjb)YW?o4SdE~t6;7GR7%w{>7iJb4iN$ya`zQsKBi2ArCqj}22oczTg zmC4IeZM&RB39V$MavL7ZvDT=O&| z=Ir6qj;OL`&ctE(;XaG1JtU_qWGA^p9cK|aoQ3>&PdS{0IOA{sMr9VYhDQxUQS+A! z&0$e;d&!Gx^rJh1yZh9TgPpX-$oWg6>zM=VV9DY8?^63mvS7*KdxHu&{I#jW_%%DYqueFT&w1 z7Ch`_4vWg;uiBwe{GEAda=rq`A;O5iYKJVoh_J-pxkZRDi)rV$*PEtXZdV@WkTqp3 zaFQY%Pcf{GRWG+9teoaWm}%=BY2$ga>g8zt);6uSo}7ch@!fIeZ=IzT5zf|n4Io#F^32<;K(eX zh;SaTV27IUtvsR^7ZF1~QWlbb&M|d4HN`$+f4paly~M$h<@N}Q-KlJ<_f_Q>5!R-$ zKQkO0scR?n=h346YzNK~xPqk~tC&8gp>F%XPnt@nDiYzHI~_EZ|3+ygb2kSQy_)mk zC7rhd_g_UKyyuR?Zzfln`+Ba}G3UR)<>{VD4LA>w$83Wf9Lcsdvsn%pw~$57mEa^r z*yb@JEO~Az6JheN2S0gPiu_MPy+(wU&yjF0VJMGREBuqP!e6Y$nP0|P6;~mL2y>Be z5c91F>mZsDVfJuK&xJ1ba6S&hUnVtPGq;d)JUGr-L{7;pf(R3MHh{^Uoxx~?AIidE$9DlS;);W@MO(o9c)4<8R*K%$I$KkzPSI7enjZ(Z*bj8UPsD!xtx3&jxY=Ok@GM(shfKZ$Lvrmr^yaA!Ou7X$~cCh{7cK) z_yN8Fb%;6J7&%7F^EUckFSp+#;jJ2s|Gnpn*KlS`z7&VPrL4cZJ?#>6#=j-Bf$>Gm z5&u^9xJ8ILn{p_MNjgl{l$C0pc|alKSP(f^gOe0<%VAUG(Glh3XGCaEySCv5qko8- zM;YTt8&}{;tD*H{8m&OKejGUug5$gDP9F2&C8(NdMa=WGBIX1>UoF_fWx>|P`}0!g zt|{`v7#izoM&sXJ`9co+be;pi|#?B~~9~A6;BU^5ZI9{7q!!cs6O=Ew0IXE)JM=*dt z6!m9UaPGj5VUl7#zoG8z6W%|N=U|bT|1z~>_UH(io5I~vOw>4k_7;b{3GUz`F~4)g z)|1Jln3MTuhYwDVIR}GV^T-D|nCl>#5p$Nz zA7~|SXt9T9;4pJ-RP7--7l7lOMdXysBDfxb+;d3b?ll}E=E`Xz<^+G}2pE@ED3pIMp|H?Td}5Aq z2*-#y8uk)H`ghF3TRs?n5r;fUU%KMZbQ9a(w|QuC4gkloW6t=!G4HNHo}t zgvFdtttpS$nPLuEQ|J_{qysc4fC{$uJ(cjTeT848bgh%n+$ z>ygD55tjHJTf`1Eiy7|Ow$Gb#zdbcDhpZ{Lfs+(r%P~9D%4uGNnf881+IS*QyC1DT z*{0RjlQR(<-yLVc$r$7P;XDx$&eMtr6X<-Q8P^1Z)x1922Kx!YQdbyLV0?YHTw#>c zWQUpo7j>AroV))($Y;^HOoX*!a)yKB5MdVjY$%j-77@+^7Kkw6BdUdbyDa3LRXIk4 zZL#AW9GS-3DE92Kx{m+Uren|Qru8&KBz6t0P(E3cXl}^q+ z4vw^b0!FwAIGJZ^>&Y1iPU>b_!!bL;%4xDAOz^RefO4&4q5Qi-g@xXPo#nI$XAOHJ zXo!d~8ny#N`b9Xr<%9A0n!42GQ2O!)`a7gifBW*# z_?(l6tY5k;|3+yg^K}Oky;^3egI^m5?$1Rc-0Fu` zUy!TJxsDsojF|IhaL1$G%)dfD@R+T&V+TjFjb}E?(M;rQ3rBFrAn zc0`S9=GK*QnAdDn?IAg9;x6x;MdXysBHZB#@}X-TGocC+^4W@7{Ei5^A$J_F-QEV%Z4@> zF_-uQT7;Oh7|+h7EIO=>seH9`>=vMa&8GJc@3DeN-0gMFdM-18O)7Cf5Kh zu*nWJ19~<$WzHX=;(HJ<6LYPYoRwUUYS6!?-h&Bz6y_{qo(C)tbHX=rJQ`s_K3x{_ zuT?ol%x$rkIXE(nr%~*G%BFf>RgMvJZ5sPC%fXTU{09TzH|9--cpNzniJsA=p>FOi z>pn)uD-!cnFF)&4{u?El%)da0QnHU;b-8@m#})>+@K1ENfBb}F$W`X)9?6P19|yNJ z>dnNQ9P*g$atBAUwPrTU(M;q#3QkhYZ5|`$nx{<6$$tj?@8B{(;!nuT@ zOs`gW&7bJDg@0I$GpnqDyTc$HV$MavLDc+-Zq3t-n6robJ0wNc_ADHx<}-x$kR0wF zCU>agEFy=qkViF?!&!*y{q~P)uqe;Z^yEZXdG0Oi)%=NW?LRrsp*gABRBZBkhlM7y zIdYrIo6|^D3Fe>0a2PfhNDRpPpBT0VG+j4a=%l~ySQ}FQMkxR9SjL&`D4m=)9ULkD z??}24IGIUm`Q)sFyS+n%S#8Y2YDI*R=UB4*JJjJVA3W@44vRAJ4{j9yG#;9qo5692 zFykK_+R6B`LoM-7YY`&MV(zZil#lJ&z#Ousd&f{R9N!&hy=$|yBEorE5n%$`IuykOyR9tPKyXr5m>P}|VJ)zU2s7YN zM?hKpx1r+i5ioNot(cr~;5c@ux%j`w1Zw_7cOI}ngb9DDQpm@bC=2;fRgMv1TkQ7^ zPMpT$OQ6`>%ci=t<5}YxjuByP8vC=VgCj${{qkiW=dWX$4DmE@I>T#H(mJDiLtV%7 z+jpZ=6^U@qe|I>H|3+yg^Ew9;HFiJkpr_`7yGqdx^`_%qxSd>Oj&b;xi-d#N4tI&qe%TJ!Sv>TugJ?#C*~5z+QDx0+ciKTu zFK(l156R&#$ego?oRV2Aq_gnYQ=G-qi=*~kY%r~z!KNcva;G~kl3hZ93?@6>T3}1q z>1Hjy_lfeN5qdHeJ;}_}_T+o?#Np35$M~~yFem-gV*HsYe*rypQ^O4vs9XRj{=9Tb9B$ZU-%Lh&kIBIY!LU#*xhA7xVCz z560iaVRh19wqegkZTKq>O%9*Xbci|Q?-|-)#9ZS4wMB?Ii+P}0Q~20wHdD+YYsv@U zB*i>mV{cnAS5EU{&a_`R(#i^a8?FD4fTq}=?CbYzv5PuHSf=q4ifvyu)itVejF@ZF*q^N&9I2~4 z22k_-kJfb_Ii4NrJ`HtUw>|bndPR|#|8wNeTkzi~(PZ-XW+~Z6uljV}Y~|I!om3>| z)BbPH59BKI3(un?G3O+3`3HJ3F(-#SW?RT7=FGM_vssR2B4=%nnA<#bqWb8Snx{<6 z$zRta=8^w?sMpA#@;MUDB@D&$rx#=>ES$g2%^GM6A5yJ>HLvlroF~C?h`A2p6D#J* zX-3T1L;jVBLHK7pqp`H2JNbp=L4vs??M&b#~=p4p~#? zfs+*BthwM&kmOMf$1?ioLIFxz$(Y7!lT{u|G#T zI5NchP}llJ{ka01XCVtIX`Qi6L){VGp1OcnsUi`+?){x!;=fT^$?T7tLyC!BZPWYp z_K$#jVUY;0_fxx3L|Ed#+#*Dn#hh5JDL31-fjMMNxf`6M z2hI)+%E1x6bTtWkTX1&4@62xU)x6 zLJzlSg&v+|qiPSyxdNP|2wM)L%8sydIExk|!Yt}86qUNY#1m?Zi$Zf)l-yqOq8bS- z!J{2rmox0Fg?n#t5xSlkwhoq@vEVpFm5utSUXPSDvZHizCOJ6L z#+#A!dQ_W5!OL8Bf{)qYtOez zv4^W7ZciIkdq~bU;5cUyIVH0QClG=B;rSDo3;)A8(`tuStsZIBs=ifyTRdNmHNyX7 zG4~9?2$W}yHCRh{#DcZ(Pfa+sRyoI>SPwN#);W?h7#xT9<{b7!Hh`6bR_dn>d#nk z`r|^L6!XIy>R#Oa(tCKi6p8tkt&d-W|3-->^C|}uy*hl%Uc-liJE};`ce-)F^W-Y? zR>uuzM$9=1+?pL~a>!#g&o8DW+hNRxzGZ^1naEihADfe6Zu8J1>Z6!zo-#2fzmsRb zAo3@MdW{S!pCjR1!cbQA?H6z;EPP^F;oYloUMb^T430z0HP0*9cgVzC2hog}vxnC> zqRN_i1!dRlP-_p#c^{nQttQSQa!O_q#GJq{9KmD}o`qSwRn|lPH6@44vWJnwU?Q`5 z4~t}$DZ6kWq%I6HDaFkq>-2tJg!>6zm^3YgZqm^%(=8!=wHLOpgcN)LSJA= zznF)&d@%l_p4(bjE0_HhhpyQ%$066`p~>m=oJ-6Ze{vRI9vzYRYqkh6XEAG_nAB%q zSuAMEaWy;Uwki97lN9r;x!@QvS5EU{&a?;ND88%ZW#@*pM$Gf0#Lt@x5qPkp{CLhC zw;N`8Zlfj5rMMpZ7oYc8%@?2(j%=5L?=sna7_<Ct98M0=_+=e{8D#wVqQ1|99gd?=%)4E@>*xG8N;H`dJDBLz zamyTZ$6#s858k{f4W43o39LaVNvssR0`huKp zo*i?WhfY)<#a#20i8=XedUnhsf6q{_kwN8iB%Dhais!}drtm$>3f~FAQiCv@{mMAE z_;$>>NH~c7teEQ{nh|sM@G(bJS=;;JFsIn4+Cy@F^v@!4N@fwnoIt)r(lkJVOn-#>Kw^g4IIaZ46cXBVNc{khH|*zLz8oT!26>~ z@8M5*1yb?{^qEjAot!Nl99dFxkn{?0vK@1s969_FCUtYK;TSPjPLmyTf)95DlyR`o z@5&0@34-qsbB-f&s8=H9XxLp0=@;|xmJi0~xA3W}i}d9?9C|{d{(i|rlfx%H9XsZX zKOwY%@kPuf{+BI6%vsD^m6~$rj&`P)L)MfMafb}gIgu2nfk%(ZFk&kzSk zhS(K#9a+?$=fPReA<;8NG}IkA`>!kW6fD{??|s_yZTN4LXfj`QFwv_KJ9k)gLvXtk ziTSSQKmRnj%5?ozqnNV`xP0GhcK;`bJZAgFC+5ty5wls2W+G=#$Xas8+~%Q2)JHMb zJY`}|{=Oa=jQov5y+#I=&yjF0VJIg$ELDcW!Z$7}{Jd(MnpbDo2F?V>v16`-sJCLS zoMyzFJ^a=YRn~SrdbqnSS$jwh-w~X=MZ{S|PRT5SGZM((tvl{rtbKRPVka9+YbWOq z;3Ne<2HPnV$Y3J)T3|~MeAY4mwK&8)?+I%WG1s1O!8a9i(hu=>{19|}3Ob&Nxzfq` ztAis;Y6?1j2soLTYsbm?2RNyldkx2kxpJC_Il=t4(z&!)=(}Zwp5_yCjw5o6n4@9O zFr;71!&^rf|2B_<#ufc84t-^#{TUgUO>TT3{0~XTYUAP8a6$w>GG_ zI|626t`(EB2RIHf$Kr3-{m9u8P{ceBSRm$v53Lq*>#~qnSLK);b6e~q4vtJ?YZTkI zY^pP=a*UX3)7YQ(p07RP5Zht^^rI$2d<~pe@vVCDQI-oD>P{W>!9ZT7io|@)af{94 zzfq#e+y__J6cfF=pnIoX{sr!!A~9d|z+Jy3SDD9ouGlf>AaGwty_uMkLmso8Y2WM~5jf3@Fw=UzJC_ysFj~Kb zO{=XZXDZVA?l>QAficFkBEniVZ#KNjEkxjljy9TLJCp_M@Szr`FT~25n)?w zhZoaLlWDwzV*8d&b^WRwBf{D=_U8ZxM~2uJ1K>_XlOawA=WWMs@{Fq+>ZT5yb~KlH zkqEE2{8{+YFp4mlhht~ZA;MRWz3j!iz&)l&ga>zivz}avFq!9jb{k{PW5B%|^=2YW z4teC<>fm6G%yu`kS&n8R=V5S?B5d;*5!O6qB2501;3qFjk$--u*NCw4ITFq#H1OSO zg`Zzm_{Y^a{PH{-gl*u)*h+JVunyu1E5gcYMugeJKRI^mWNlx89@ad@u015@9&nN( z9A^TcWwaem*2uu8ZTZ9O+n3GUU zQjp@QftgOa$gT~{A#2JQaFQZyIW#yCVdXS0!c6;uBW*k*CS8Qq^LseElDTsBC1)l$ zzB|tJ-9yz(D+Bt&7bC9!vyx>A_}_YJ3pd>GExR-x^3)>Xu&YK`i=W5x(=g zVW;rlD6M23?2v2Jc~DZxpJBpbEdt}kv5(p z>vmpxv4=X^wAy-dZUo17)qSXAmR7_(Pb*?h;GNZitymW97jRPNt|@RuE9P2YlO1XX zT*2|lAsw z2_3I!hr0f-nUC<_DA8oz?_i==qxx=t#?RnhS|sLwTeaQSfY`-v@EK2r$@}e5;P!qhm@BW9up4sWJ z0VB3T*E5aK!IHBkIF3&*Ifoh{pI(&1GeEj-cDhOL?oYWcQr7J2DV?0&4vw^OcT~JC zs?CgF+eprZxSl&inAOHSMud^)8?yW&9NzN5!@Bmr!qOhW_yZfof0TzN=S{?Sh%n<1 z4DB=`Eb$+05hBcDKJ?sM^QL@cS1{&~HKiRk&ypf+IYxw))4T{XEnl$WyRe`65n6wQ zO{=XZXAN+CcbpMNV2mFH-xLwf(~1Za*r!^sn!m+rgB<}*>Pi*wT%o|@tq3cpi3l^` z$&P?>?jDbdzeeXW5!Q;y`5YXF2y^j&jS0knBEosV0ud(she{#OYF`$zi{rtWyjXCI z2-{-Ub8zA`&T5Zh`N*feyz@f!DC^pzD#wVhHjSL24vy4yLf`Grsw?Wxx8VF28;(g4 zeyE{t<&HCtqf-@$@Efn5cnbfG(n{uEvHg-_qE`>SG5yVFz&*Z5gztL&y;aCn=IM^D zp&2pf@!;}(ubI@4LmsnT>flJWXPM1%G!r>5gOe0to5zT-<|z|l@~45Hyevij#i3p! z!pi4JIF~S#ud5Y)aarM>mra`nUQ@>5a}*8{<|5%BuCXGlgJ?#C*+b784`j_;gTu_S zQMHHU+=r;nSwv3BEP|2|$mb1`d&qIPw}xN@${w-?YY9TlS|Il(3797p6BF-OBzWk|o6hqrt% z{th^7%Ic&qz2BJrR<}m|J(Y(h=NfRH#B$(&xGV9^^APRYH_yj5ywxqV!HBuUZy7t( zEM{!Arrc>~iaBIWc@LbVn1{>GEH?MfV3hLch;s5XD|~Kg^p+2%DC`2ZH@vp*{4v+|jkYsKVD0LLNbICtNA7!%k(%y~<63V*XB4_F}Pgio&)lCR$_ z3|Z$9{Jhv#teD$kdpI~UjaN|Y0cBI&xhltqxi*dcIl;k^E7$=Tz?7o?EYul)#uIml zltj;XrlIbI2l}my3tXX?PhW27zw_TH(PYv)QcU#fnQP}gI~v@=w|w06w|l-MSDCXt zcf^>p3%FxYZzksCkjHF4IXIGS46|8|W+G<*Zh%QKw|VFh^>OiQo-#2fpMO0pd0C45 zjYGXg29?i|a4ume{3FAT>m`T6!Z$7}{Mc$7esz=$!Zz@Ea2#T;d1~JBp`2#KoIRZ3 zh$?Hl9%b_-yIEB2Avw!q7t%S4$SIjca7F^1o4BlfGG=X)Q zFcEw$uq6mSYuVDV)hj0^d%_D^cH6W)*#;bk;A?NEgu9XmzH)ftgkj|x0>Nj>zK)c# zq^6+b?;&L-=Gt*`{tQm)=3c`wVy>JfVovZ-M?h)gduZdkWo;aQ`>$iioNbI8Bj#x1 zR}ASF^YE4r#y`|^+m9>y-D~GfSfWvXPvW7;c^w>wm?Qp#B|;mFm`nVVTEvbyik83lB&@5%WA?ftVBib+wR>mWAx>*;x*YF%N zM~No$S_c!odgbDe78wI>;g0zy=lpRKa+NvGA=HxdcyRASy_sZ@LmsnDa&RQueavP# znu(mYkiMjt$G*ipM$9!&nV6Hm82HJ{QsiG8>NPT`e2#>32}4=iVX3C@njLdn_&U`% zH9O{(a|$>PG3O%TAZm8ZmD7xvvxnz7qRN`N28Vgc&RTm&&NJXRXAwCiv*0Zv%;IGL zlR_Pbdus@0gj$2O1fgbgJfD7KUA=@k*6f(;9LeEB#EuV+To2%!QM0FQIdj2D-8SRU z&sZ(%t?Xyzy>0YJ3RgqX7!?trFFjeMqU_)fx1%rS?oDHQyqnCH#C z(u%oq@`YO@=1lvuBW=7Ow7C+kuh}uz)|0~rZ+utXGxow5V_FgOJgta1flD})(gds7 zF}K0^hi_6>m>P}|bLBJjzi43`0v03YIe-?fCXYs z_^Z`I)`+JK`CV0xd6dO+7ITQOOye;WTeD-X#j>t7s&b5&Th4Y4jtubt4B+viAufkJ z|Hcyzsom`vZ#C2%Rd@P<^opWKSvKC|XFl>8#GK4QJ~4l5g~RXt2;9L%kFqo@e8)U; zDduFJ;t*=dIT+mkpx#W($sv!NOB@``k=g#kY?h;$$axW*q?pIP#XLsLHBXtClRpLg zE{T_>Y0Yy1Hll}h{CqnGMcxK-J ztSIxyH0f`Ep1OI(({)70(0aB^^f+%>BRwW~x?`sC{2jgAQFS9|ZkeQLY;yS5L6fo* zW;&wl3Wtwg4xG#YH6S^jUk92zUCZ+PI>EI=jd6s!x&~XwGL5fLY(IN)XtAto$EqA7!j?1K!I3LiKMY`Q zQGdE1&x7!qqzJ#?Q1|YrS9sej6yf9d_;PFh8>N-Z&2f`SG105{&)(#-v%%fHNQ7s1 z+~E##mAQ}S#uan!4(>UqHxprU$YZvl4vu6yhuJJgGmI7tzb*b;WSS<6M}i9^h}9%4^ei-@`Q1pQqkG&$D?Yygvft-s@spyNMdDP(S= zbaHNSaAZmSjHHi%llilDoSX;1N!{FQIOfq2vkiF+0>~*qsdN7xVDe5yt<_Ay2U{Q zO~jlPdmK|1e{WQL3ObjGxz2~2ixJQv=2-lnpMnX*fFkC3zydKR{7#Q}#zn-CmzRZn zt18FrP}^b`I5;wm%Ta8fvgNj%<2~Iq93$r1H1=mZ2S5|{5MK8nHR&|9Af_ICc_^*8r(TWV*c``uRckxGDkUla7N5I z2i%(XS(8H^vpwbDp#RKv46~tcnc!K|=vgy({PrYao3j=rup6Q#v_oI5<-Non)bn*(V1rpPYkXF%B`$ z^B6Hlo~Ow2i+Okp3J>dg5kx#Q82|M~@$cfH$$10u9b(S-uZMOTF_-vvwFoh1F`qe% zGN0)~``A+hbI6)PqfCl<)?9Fmm@6k=xJ6>lw9fC~(fWt>LF=EhX|?s_?0~e+tL}4T zg|s5(d0G*30zFUL#w%3_R`aV78|-`pbBMVX7=JY)R~Y3q5pxC{>2OS$^AuD(6rIbQ zPAev-Bizs-<_tI#6Nmvt%=3T+VovxP9`THeh#_k}J=l=@R^=Emx119l9GU7VDE8H| z<#uybjuCTh8vFB#gCj$H75zE2Xowqv!=K})BznezhPod{KgatY;ZR%67vmbAMp#h$~@B{)RJ>kaBFtV$sv!~u5fT9+d0gJzGbqe znaJUDzDY5UeT#YMR`t;}SPX2hog}vxgfwTu;`_eki+U$6R|z4*$G#^3jnvi^$$%|?vumn5b)62o$j)lgLzL{a`V9B}EF+Dj` z$@#8~a~C)cq1HU#S)tZEW_sos8K&f4a7_udwDCJsT(gC)Z6xOd-wriXJ`$=mBD~@3 zBU_Q>7vb>M5gzs%&kl85+KgYbLybdj&qI^5olk@re@+%(9vzYRxMQ5mi&d*|n*3IO z!koqI<`LnnDX-M*P}`;q1t%%OmSaR%In9eO(;n?e8_$zh4*y~F^UK$sCt>AmPtH}~ z`0hB*FaP^KsG4a-g!8l_!UW!0Eg0WxU@ioCFg~K3x>A_}yM$nJrOMYQ$eA<5K<`rIpMT9dg}JH?!5uhxgnN++T`B_|XebUx8d@t_5al(Mrx=z}*OE zRVJ|HkjHErI5?7RBWAN4%|y;Y;G{&jCXW$e%~K}A!oq_;6k?vj*D2JrA?z4IIwPTOo%JiKj(4ED{U?92O`$)S9Om5oQl(IZBouc0mto z9uv|YlCz}aLrD#%WESBLPvFX~4-=vG-BJ5mWj)*uoYYRY1Y0W<$Y8S5tp&D(oo@DI z7u1sWRnrsJA{)T@ddNO)7+)p5zrW*$pyT(VE!UO@Tr@!bo}0|<8o8ZJKpHy z1HpWYk?;C8{7HZhLBMQhS;6G+ZAB@LoSrQ7$+AL6Oz`YbhjB!X5py(bMP~Agd3fsx z<6nxyrs7L~*#`cO&$i(*9-5ptz)9~=hxk{9HZZ=3xx~M$MTj|z`LI$``ggK3#T>Gx z{0vS?%=6}gW5irJ&5JqHF6Q`b6<1*YPH6p1n^s#-PET;0cfgr5AC|Nt=6PBXa{@Q3 z7K}f`vey7E>C4F38=TZNz!dl&E9P2YlO1Y;|KbQJ^Z5@d?v8-j4z*TH&P(8=#hi=3 ze|JnE1{5*R0~Uxm;nS*x+`25J=QpsX*sbj|-L}}J9G_-n8e5~-*=1ARpeo0Rxi*dc z*~`I^x@Kbl^+o;J5uCQ@b80tv=Hd-?-KMu*osL%|<}*I+`85BH5>4ji4kmiF_|NOD z`3<;h6p8tH7fjikTxH(xSr0Mi8sIKKy_pY^Lmsnve!(r-7BHLTXeM%IAWu@vZ610= zJuVaYS-a*b6La#pW0kxtMgCTyUL%9b=SVo0FqB^%4K#)GCo5S4ZQ-8xYZ}guWt=}_ z0XxK;i-d#VFG4ag*F4RLIeU1V=NySW-0|o2)~b1`L3>Efec(7}5jiEZ2x3m)WJj>r z!?l(|?KOYmQfnvYEpQw%iyjJx!9-@2!$lH;<+ofs%|QA)peMCIwr`KnKGH?|wS6r? z`&r9}j*iP^?oHIPCRS}Gd|C@RzUM-DXm_yc-XTV8{dEVTaR?L-?UnPnj z9bwvOjazX8J-tZGJN~oV4&*A+ z^IO50G3V*v9)Nl?uOx>&X5*XKQj1@*9l&gsqnXJ02Argr+dQ~PBP#t&cQ`#Ghiw!w zM;rSxq+iU#TTmF^^XD+6zgwff-0-*k{f>tw=WN7xh&flmlc5bp%q9MJEkev$%*`k! zb;-?}a{0D)rkF$46u!wVDdus}p}F9&DSfkhR^a4kM3I;??SCC<;|jcdTeO~cYP$lt za=s&npMiZ>-ChS|X+_MnYF==8B8PK#A>U_Ktceip(6V5Bm?L%WngS2CVxF(9MqbFG-13&C-SISbtj6Nmvt%=3T+VovzzY9VVLJhve~tI9EAZaI8_ zJ#})(G=`$sA!SqDs4B;Zxi*dc8S3E35Qks@hZPNR064rKCdIs4L*3|M&qKS5#eBb6 zi;m^LQKHGb1UH8i6TRwo?q?Hk2e);RnE&gE)}zQ(<`~BfXJ*XV8eIN}C=+vX$YZt% z4vu6S$!wORnaKGCoTQlBJVwklPnnpLzldkYJn~lx^%@yeK1ag2grThA+cD=*Solh1 zg>O=gvsxMFY;YVq=9*_UE9N?gX2hI59O;NEYi2c+{gjQWJtXG`a8l27*Kjxsd8S)A zoQ1gFZ~sg;i)w@Wo8^ZsW=nMX%RU(R=TCjCv&$D;Mw-C616tO!o( zCMc~R8%D_1%cCQC>l-~fLh!1NfC8StkO-I=pn}Qi?cm7ugoREhD|8iH&mAJH4Vw_| z_9DV)*uBi;7vb>M5ys!#a~p}58MNU!UJh*=9^j$Lxd9x92qXS;twS4(2uu72T7(F* znDNz`a;}{z=8!ez-{2%gIB)K`R)m#<%SK$ixPY9@2OxMoZ?*6uOD@@diA5J>+OHgG z;|hH4T(tgun^s#-&N7}I>X`O@j4`Ga5zfBMdmq5m2rHpCIIQ2$+emR!q(;a2z7cLaz&ja`B4@=K%{unDDQwg&b2BauvtU zvMF|qeRRYYyPbn0(-?zdKP{W;;Hn%W!rCiQG|xUZ-`hk)}oI4NnJ*`uLu z@J};8<0)9QL*1(58{v=HP+H0Cirw=R6TRxO*^qU<1o!hI5&m`CH`u zmax;!TK25glj||8Or32{4hF{|_}bg+!);RpUpYK+p{6G})mhc$6bxyuS77ilsHGtc`77bBQ_I7&*MTiG z*8}WaW0TPaK3$dhueO1l{lIbFq9bQTaO9JNa;Q|i(u9l45Jxbncs4r6SMJzLAkVqu z8SE=?9AeJJA2~+M^Uf8BIpIGzLdqHXIu7tdS@(MV%RPn2F+0@SJ?7cg!I7r@fTq1s z*0jM@IY!L2Y0PuHgCqTU1O552s6R)5v)uOWlB=|#ZrXMoI^A~G!(a7#5g%Ok_+>4u zBs`nE#{r+bbJ0%YKOkpA2WQ%L4RvII^$+A(PdOL$Z|FuAIeYDp&Qrr#s+cp>!I8TD zflQN-r?xI+8uj}QL-y%em;8`1^QwlrWBY&g8qcz#4=%@jw*M6V8$V=_d8dPkwRF|< zLnm|rcWTiGm+c=uVi$6iITp<1)h6bg3NDQy^JQ|#W41>e9Ld&|*(^shk@In{y7UJZ zo5y@`(L7}zT*&_t{NznOMjPt*B>pUM^ zxJWpNdG><~2C*xPZ03Utd)R8dbjh-|=ixA$+o-_5%EORz()x8C7iQGWv#8?267^Ni zqNxj$eii7c!I+eMT~6j|Hs${|aIY9vyC)j@soqDGlci*^#Wzd`lNGZk%H}O9JLR-& zaxMTT`SB_)d9Qb3@dXB+mksP)ulhUgr3YjHS3938G7;> zSxr8;FyOBMr&d!ww7Hiw3b-5L>`9#HlGaUhC@jrx$ zxu2DNqC&+}b@A`8X`SbT3l{&x+Il2wyT-Vax@b;8-kPkM#1JWVy=10#GL$1!B1Y6BLBiruMu7*sJdtOfgx2$ey*-h+a*iga^&h-shT$%UgZ`daA^QjYs&=V zi**Zw^#vz&g{k4NjdF#_*H)uv%o%VGM?hKp`=Mgq5;GCj`H=GnIQW*C-@ zwhqjOzGZTxnaG*FN!zpt+dRDg*W--9Hy@g(OoYk*1pK53NB-ZQK4^2*=t=oFUobivy;)|F|{Fd>| zJB#UuVk$IczFm2kL)Mi2U}i}%50{IHTpRPPm@6k=a7E9&GwpFWN-C|KC-c$zdu&>5 zJvo>pJaCvvqNBB-<~{W;vRPoW9^Bcc^V1Bj%c?Ow7sO75wC7De!k) zEYxdcQ287Q=MskU=Sqd|x>#A^`&Z*ETgDj+j$?`*i1c8-)% z{sTC|x=5Lcu$E8Gd8@bah%i&Gi*dx1BEm>nPnKVVm!Syru(#u|zRT*aj6bkZ{Lgr3 za^3~Uu|v)H1GD%d!V(`pscHd_YOt6usx{>!yYeuHtSKGVXp%gKe8gMoaRNC zX;;EgQX`ZT`6INR4@24$nJecra=L@#yyHyG(uxS@X+?wy>{Bh+^s-==fRnnym;$F; z5zg0EqaA7nyu}ev&fV##_-h2r97-!D=N)hyJJekKUtponlDut05Qk zaMEv&>pcIHuNmqaf6XxSvxd664;=e7{!a=;c-luR{U860(n{t`2NS*eZ0A0`*9P~S zA`$-dhc)MrtIW?l7pIu>8*sa$-b`x9A&=Rg}-zfel9-5pV!EuN%ejjZKXW}q4tpa0tQ;=*(Bxbn@B{S?T0F=itnYlbea8d@F3` zy*fE^CV`W>xz}*aTTqnKgA6efb=RzPeF=PvoJ=IRLjuhnO?|)u9cHFJdn7Pizrl&SL)Rx!1=< zho)S!lAS5$kTvBBaFSwfIY!Ktlb=~dk7_XOEsnHt1zxk#7yb6;7M)#zTsbF_GXWgm zRd?^YP&LzvnCEFl%n5w0TCioxf-SU8`rI`IE)zcAh?wVVtI-ZM112 zz)Z}wVsg$0$FW0=#eYptOdtjnG0y`Qh&ka`RSUUIS;z@hIY!KFu~Qu!nZ`CKmfuhp zF1IhLa*UX3)7YPdd%1_WEC#@r>NgqUd~p7WUA&~2|JYDB;$IuQPsb|~^OLrlw>4ht4%tVqe%yTU+{?iIph(O=9>4v{quxxi$RUr}{^HJzB8N9-F?HpbuA7~1(y#HSoQRaSVr^vCbET7Wr-LJF>{cY52u^0|x;DtU7`tT- z5oWb9533asMxHKY`9=5$iZBm*muHhMt^&sAOg!J_oq*OqWz%Zw z$>Bb$?~b$KQ=1Q#v?9WJS`lFaJ$tJr7=LGLPcbg(705Xg!BSVM8V=hiS1K*A$qqHa z*E>2V=kANBnD1lH97-!Dho2@LB8qqLIwqJ!B`H>-8mO)q~3+=e0%UiXs)dyuQlX%7FAoDJZc09TBr?&_fZjQE!0fU2sKmobflE>H}1OW75rL1Gf6FbPNI$B3{tjr|$q;7DDAFvL%b`qQ>chan3&c7$gw-cWbaltuo|WnLu0 z_igyxApRSrmCTDBO!R8;_D7vN4BV57MEI-DtN%!@GVcL1^)-g%JPF*RQEw)~_KHy9a5EJL|B`~{#@nY z$Pf=ge@-dt&ywI=2;oZZ2rtu6_tlc)&ZScoiSS}OU3ohHjnYcya=6E)nCR6q?TNO&)e2#>32}60lTH$YB+48>`-fgO~jl5`+A%%&gUppJRAWtG1rR8 z84Zp@%(3{79F7Sb73M5ro(C)tbHbmm7Lo#081n0?93$qo*kv6%!ZMBXQ0%a>scuk} zW5isW#{L}O;K&_f7zV(fLpSM9XK?D_St*I0^*f09(HmfG6^r@U%jVw6f1^Z`$;Vn# zO!Vq^U*G-jqrly)NX&2e(sqIK*7@46tIZgJ?#~*~1qcQDw~xK-m}AsMZ}E}1a)RDJy46|Lk8DF>(5d{yb>>;O*crYuY9J{bQHht-)j@Lg%P4R`U-pvzU)6HDy}O!x)%D))bm)Qq1G!0&5H$Bj(C!Ud)-clf$^;3Y_+* zua4eug+?ooE9Wk9HU`Ic)!lG~EUk!no>s)1z}>3_<4ZK`sgVUc6`a&Hz!cauv{9}B z`PypqV?qXWZMKH_Y}geQ^CL~>bXqYv{I#P)%(3{V9f}FWfFkC3zydKRypu;f^N{?C zzcA#kRXIk?ZLxE;HB$N0(Wwen2+6lyV2w-)3y5< zb4~`A^=4vD4tdPxd0U8NJDJ%mM>COg9BNGNnA<$`i25kznx{<6$v+AFDU|890({e_D;}Cqw0}ky&1YbEkal){24Z+(&nDScCQ#a+fr23zbO-^pg z`Q#djIl(tM$`|mt0P}~hnUN}(oRJQWoaUpiKf6DFAXV7Lt9)Y4Hb#ySbF^^`Gx^0l zyyb)Oxv86cLNJ^e{n>_DjoL7ThbCuf$dg0N8Glx2gAsFykB=oMhpT5;3BT2!3}-Pt z97dV1jT;8rnPLuEQ+5U?Ddt&o!7*a4ocxRk?P=FGv}oZ)mRz#^5{oX%v6J}c&0 zV3Qqlf)_Xf%AD^*#m69E=Db=lIqSm>9b%5ff5S1DKny5io(C)tbHaD>h-X|x40%pj z$P=q_jF{VEuXAu@8t0(c`^%>KNL7vzb8Q;?Guy$DA>NPv@B-Xqh`qqM8W-}EM9Am*&)?~W$R3DqBS+_G#voKcPQEI8S1 zQ`ZCYTn&yx%(RhZQO&I{9+#7I>Pwxcy4R)%wQY% zS=zSYeIA;eK6nY1L(Ccfn$QL#<`Vz?79r*=W_QOMz4Ep3)bH#}F^8-vBfv?DdDdKT zjF>AYKO>67oN2Ffq>U@^so$aXb8T8}Jvq04$!*c0|u~N(GWKQ z=OmAqZ_!Y<>iz$lN5?A?^C4|F{R97v5>4i!a5smTZ_)7g`!@r3evz0zy2iZ!BUhQL zI(%?e%sC(2%~5YA=H!saY#Tc`m?N`o&TN*WnaDW=oTQlBJVwklPnnpLKMefjWhwB# zt_$@V8B{(;!nuT@Tvn;@uj|SRzqJ~t=97(W;5Xnn#9RjPHDBJDy?#$Q&4@XBxP(Je z;+pw-8T61pnkrl~L%?y)B63P*5nL|}7eI$Rvi7}Ky8dNc?JV>$eOY)I7uO z4l&2#AGRgMvJTkHW2j!dI3ik)6I)zhkSjF@ZF z*q_l3j`U|b2C!pMf3^i@e_Y5@5bGN^oxgmVc)asKL93+IkxVc{n@1|h>`179lR z@XrT0#9Z^dWW`(u(Tte0ho3s4%G!PjJ>-|FS;^W%a=PIz@0>;Cl*}TCIf4AHF{#dR zxNn4DMx8ZSOV}}IE%gqSlJ#&W*25dN$vQ`J`c~pxvky3#QCiL)z;S%&;krT|aCkqL z4?W7^i4%sEYY2ACnQ{Q=she_KQrGO0O-^>q^T{>ZF(-J4qkI7m1^5Y+pM7#rFgeFM zI5LhWP(F9w3)^@c?k|oVbG9*Z*hUd^wDDPH@{9Qj6m!PE*mGM8XT~*b!)J}!@GTEb z&VRvih&khb7TUo0BIXkR+ZG|_EasO=P1%XRugYeMIb=;)ADekeG0&O{4x7?9yJrPX zenu4Sm^1CpjxEEu0(TmQ)}L+DYU|0_4IJN9_nName@oJem}}L%`SC;!=k7t(f?ZM; z>=|%U*8o%CC05L}z$QE9tazFupj-nkLB%5wFcWjFn4I6O?-Fw?{+&i(0x_V7c^7!SEfXlo{%nx6r=c)WRN;H{#fqP2!(W_nh@B8lWz#Ug4 z=Iz#a=s9wgxvWRBV$N~k{vP#al0^=A%(jMuBiVk>Y?h;$$Qb}mQp{~0Bj%c?Ow7qY z1pMS>De_+q^%@yeK1ag2grS^Kt?-x23cs)#hc7qH24Nfc2{;Zh=OW=C-n3$_oMyzF zJ#6cc6j|GE;xL=osM z%D$_`LZ$F-_v+#a^CleIpd!a+F-<7;-A(c#GJ(}?h&@EDev)b zgk>|u9I~ct2~JYXEyswta+()&rrpz#Hm<<;7Dnr9Oi5c$4n5j;)$MX=|9w$4(~6kq zX+_Kl99AtDU(%Je(FU6gPU_q>1@bRUWN&3rP7^U_z;_%0<)UyMD(08bnbT>-<9-(rm+@^y}oR!w^ZdA zG1sQCKNB4s8RGTm&)P-(*&CeuaRp0B^sGNM)ZKW-#v|wzMPmN)%DW!Uf1^Z`*$N9R z#YC_E)af6m&H?v~A~BzH&P9F6Rpt_&MH_RT0q)1BH}gSq$YVCoBS4bvV`j4)%|yi1(^}i8+Cy?S!@2f0+Q|Q~#9Qsqs@3bQ zTGh9z$1k67`(B9u)o?hA7iwpX|2K8U-~J(yCQ8RD`#G*CaeHQrk<19AW21n?Gl$p8NnO?D>Ye$$VJB4bQQg(!q za!0cK;`uWFU=8EnhQlWJo5E=w;`eJ5{|FwMoS(pP>i2uS&OYb;T=#X~&sx`K z?dS9Cc~M{po|(X$;7Rx@fE({nide5-BFU zI&{-3*XRQ7nR&r;yD$H}9J#{0*>KVkbe;+BW~evjCUVH5wg(KHplvg1(;U%6&RgIl zgQxe+>ruf|^b`e8^7$>FqK*1=QsG!Z=M;YiCfY2L$|ahW}|RPm4;ek;b<3(qO&1-A&-i&+L?VF>p? z?RRNmQagpc3yvY<(L>Lnu#oYD14)vIRmO882zv6|+S_-Rvyb%fEVkI!9L}v-%MS*} z{qixsGin(C$75cVTFChsoYbaV!BHo0nN^&l}YG zNp8C`tmpe;^#pQq?k490aBQpY_`aK78PtYgo~aGNoWTE;6ULXY<_cSD%k&zc3LL0| zc{W>B&rnlf2Y{2A*Y{^2D((P*F_=rm=5;60Ke?l$e&}tSp%nL zsSrJ9U_=oWlMCU^4Q0;3y|dMc%BrfBeZZYx&Gza=4++!CZ~f zCQBd5`MMNm=2GCqZBui81jq1Ug>wZx;HU#>;qb75~%(?-uxC+4v6 zDQdC@^Y<9cDSuzfp`rJeHarjcF_`0$^}IAWw}N8`=9K@uvw`wMFc0$Un?*2ZG541; zW#*o`r`nV`;3R{2G#4Bd%!QNP5zd~f*8x)Pmj<$_^TVm&#(gJWBDXLjAG zQ&1a%d8Rf5a{^a3oMkFu-HU`B3r=bcsNm4Xum(thjZVxd@HB(Kum*HT#r+^KW;&^u zoTtDs1al1k%zo%Vch~0-%rk*G!JP1al@rMvkt=dhS&j(Br`E7!=M5#Vf%eJmNwk87yCd+bmAujK~w7k=Ne4S&WEO(q{B zNii|G#~m?yr@O)JnHS7EEjZ+5a)tT6Vc(wPb@l}J9@HB{7CGcm+fN2g&~^{CX^v48dIV4AQ||I86j|dN{)%HO$N)ls#RSEFO~60w02nz3`lZUbw7B;Hm&7gSl_+ zFegj}a}m}Y&Z1e%nuZgCa6?VUTn*DEOCQN;Uyj3Hk;Y)IIi0{U1ar<6^(@rETsXXO zT(hzmf?!US-9b-n%3-7y#?FOJIqO_iFekW&p?nYic?p2uL-{e03YeTd4V=)9_wFA1 z^Abfio{4?a5X@<#=cr%~8(*O&YcSu*zjcK2$62;(cW2OsoolOXSb>)&XBIeyU=H~^ zV{3yADwqfPD>RE>&SJhQXG+Dl^3aE9$~wpl$zYzD>%a6CPRxaq-4S`goNBuol8K+d zoyWlXc2yI|$ytG%I&f^O?$7PeMz1ym^Gt0B<^=9rPS_?z!p4J>S_4#po4DBuYd|(z zRVU^Y__#q}SOYde#eAhv%yd#QIX{472<9CAThIY7Fa+~VU`{Y6yv?@hAgn}ADH7SO zEJp=%U2J~?Cv;;9immunqZG@!&MV7N!CZ6hH*kVKozZ}Y^87gydbYAWLp=f~=BIS7 zWyZ@pG2eLKuW#kg7^2CXW?;gr5eMGZb4hTQ%?swOUtjCr@$!l3Zk686P4 zrHAcT1#AinZ(me+pK=`D2(b~`z}vtv1ar~TSqF3BG!e|{;Z%dvFf*M|_WD|?cu3Aq z;23-1IR(9FA-!mWPlw51?wh-f6Q+W>2x|_(oaU@y`=rZ0u8+CeMw={sBxhZ441qf1 z(39|3j&R^_PM{{eqg~~;P&pMUW9%0?IeeTxwJC>@ni@M7Hs!2yRl%I#?goJYJOkiu zAutAW0h7Zg*i-9dSl?LajG{vKL%=r#bGE~CR4|8OZ&H&zn7g-*Q2ud-&lSoBe(cva z+|Emr^Bg#aU{3jioDC|N2l=-*i(t-T=9V*Mf$k~#5KURma$@e69nRPSmncIp7f#c` zoN70)otV@51+bpqcG9;RC+Bu@I$KW6z1q*B+7Qe$wIP@j$Vcprw+4m%uSnQU;H1`o zaEo~kXDh4$*=$t>a|(ReATSL7|4{KS5Ez5GR7}pd;245AJMfDulmbIA&jjWKbHbOi zd`k3ffyiDf6p7riEJp=%UF-k@$9JRG3MiKEcg`KR^UHEnFc;J4&;15YXyP~UXT>~! zMuXD_O-!9`&pEfDw(hEnxozeK^ADb1zJWhuh$eHcfeEk9oj2y9Vc_nQ7tF7yKl%r9 zh55Z@XuZyTz~w8EVjd)iJZf9U;9Jl(oZ2);G?BA2ILTnH^)N@&`A1nqPf;)@e|PYc zVbJrBa`mb(D15ereQ`}WvRvUu6%{_H9H*iY+Q65=F$8lC2^+z8Q^ogm3#W--P7mKP zNDZ?+9GAI7mnWqmeL#m!S4jwJ@ojoYlce27Esxr@8_u zEIb7+1vZC(&sx?i=gF_|BrdSplkLGtZJVL#zeZ2OwwZZS6`d)tS1Ey)v@R03Cpd;r zARK%&9~^F*;S-1y$~)UlQ z94db#%O1?#TSs`=aky+MJSq7ztK^@`OOrDX978at{FzaHc$6i`Kebr|a~AV?DN`=4 z_>=SKLo}t$pA0AFZn@xWfWyfP!CW}mz~!BoQ|;Ecify&Lq;tGV2-MkCLZBwFFMz3; z@T=v;2cnl1XQI+eat4*-@CZS#FdXSq$(adGYK2jHwsAIw6-M+ldX$CW&kO>?@NWa> z_^C7ob8(KG4%?f8Ifnn@K`_h<48c4Tm=nwi?*@3P8%pG9MIwik<)~n;i@n&u3Eemi z#a28yCB?F?No6@Im}|~#11I>?6%9B&&z~!xXH%T8B!l_I4Yfaif51!3czGx0?O&^1 zoIhiTCi8Iv6JA|B@ZsHSz@3p7%n!J!-)7_r^Bu!U&>XLG2DmLyZw%(-kVkD_7&t*& z3u@CG(L~O6cuXQ0%(Wh7qBF@d*a&UlOW+uSIfsOe;PFii=E7+rnA5{g3{u0)EWl;f(o)4kaysM0YC3G> zKa4ovI`T}Tw~qK;cn+mbsq8iWXA-6U_-Dge)Gmf&xG)cE{rr8O2AC7KDe<42UBO9h zQ{Lo04bEhm6SgTaxzX1l3EmB0LxAOgc!4Uwia_PM`erNX{p{s$iSjQhD*p%rCzO8? zlx_)548l@A^<0Awk%kj$R_pb!+7N_M?dD|JgRpxG3NLFq-*Kbehw=}vlD`BmP0qKF zZwSJaf4H-g@R`W;wiFX#WoaMt!X38geHqeJ?%8uY9A05#g6@-P; zbP%RmKA~aTDf-+A`#*6xF$Cf4Dj^6H_!mR@VP*IPy}VPGFTEtEz8q(A5$9oWQY(zo zGg${=(bFghQ{Za`f#Ker4ClUwz!-$ZIdYc9(+h?ZY7YPRFw6@KK{ykb6NCw0-|}dL zA0mj{W4R)cdz9sp^5*5Kdtioxq&_- zEF^>Ql?}Bs&$)UNu2OkH_|@y5-iSYAXeIMx0~20d`S^DGoC|K}ydeB_%aKFL73L^Q zsPQ^GgIn>PE^^4Dwo440pluYj!MB*>L=!pBf|CrwS`YXCIvs!f6!O34YBWFxdDY zY^?aTzLZbS@3tUJ8$Cw_VQ_{~q&*0`w~p|#{N;=B7FmExe^lk~#=JB+`+#Ez!j%7! zvq1&nAb;a#5rkPxzfz{`Tk#${^dXvZ5je>p?1vZTf}?`4aGDOnRC|>{t)IYskDhtX zxMiwtWKPb;-?BiBK1Neo9MopXm&OGFrWDvf# zq4xf6mks8a=LO+6+I@H}f5y;C=AW=Rq?qvP+6lXU`7XG}!mK^e^?LY%3XnT*^G)FX%a{)NXAguMMAS`-{f-w1)fS+8JJpWu*uL{D# zXG_=@*Ocqa6<+ZIZe6(LO}fg!isv6R=YP;+2*Ml^HsTT;goV>Y5T=KVSsw549$tdW ze5ZRY9+J}?9Ahs$r=Se2CV{+&5q z^&kkrry0r*;EgBj`V|j;V&WGtIp-NTezd+?4(0Rj6U2Q=$|q+6(ud)M8a4)w3g+O9 zqb7SWcW)ixWqJCS4CZd4FQ*NBnU=QUI$oNbAHgvMbISj-vq1&(Apg2%5zJZ4GM2qQ zGv#UBQ}iL4vL!glV6HhTmYpCZ%XS45_@qH#SOfM&#jitP%yd#QIZNWv z9z!ta@V|}@c!439X99DAIpHf=o*VK*M3MY;Nv_E4%5qdN*TwE-;Dl~`f@1e8>gv$4 z92LyPH2QOyffJgzAN=_=&!5TQY>tII6{6?d+E6=uZ1*LZEAoQ*2df`+E`P=lP398@ zCcL`!rEW(~1Gi;fFu%Cl84r>x%(o01PSDvB+~-hl4CdsJM{S=QI6>QU)TTM2iJUEP zqLd8g-Z!sD1#{6;6wJxr4*cY@3%8p2^O zTrh7AL6}8tZHPc&9_FKuJo}CNr}$6Kw&0|;sbKPh&SaVsqH1PNRa7OI4?`OgHV4ED zR0&%ID%VxQCY?vB#@k^L%I6zta?3Y8v+QSMI+QK~CniZLpL&eXEVEj#M+IS2JB2K3 z5Z>9p<%5?UZ`nqo{DB)($sff_lQS0_LlB1ifg3nGRS*vHM>UHe%wiUmGv#hQ8|Xtc zWi31tn+(F4xp%t+C(kSgPSZh{YPT{xdFyZFfp^1t{*pmYGACygIopC`+;Kia8@<{P zgr#b3HeBUe5V%)4VP6ypn*dH~g;525p@VQXTU9}r0-rPp3`^G+sQ6I`j2TlZCg(?R z3_+N~|0p`(1%@D;3Csz?gs*6MCf5%UMZQ)fa_6!f6@+!MM;JJv8?T|*FN?Z*R#}b; z!eScznP}jICVmNj_^pdZO?(ubr4Sa9LHMqQ+ELeSu`gpvwEK9;?OV}6Jl+A2AKbykBH!UiBn{pgJ zyq{~}h2R*1u;}TE%9>kUGbE*cD}etfh*F{8`N+2(y@JY27qG-!kjG@__GeeQedNJmI)qV5Ez!Op8@B|f6P$QA95Z7 z#}I@m@aZTp1mR3zP7o&i*>WOh6^Z<`EJp=lUF`P;PUz|^6w6nUXqxA! zAS|ZQpDqSYXyPwm&Cc`ZIdIm-c9RONbN<;-d&H`5-oi1@3&PXdEwzY0V`wFlPd}xY z@amrr_1f!faBs~E!qX1ue>b_pe8I3S2A#Kpdk*T2`HLL#sO>!iCulo|+A26f6FDnl z155^C@0-`d{lCty{Gz8Q2$R1$_{n9-^QXFc$q&nt@Yxdf#WiJn!;Y;A=L^3w16AR> zm*YHJ#JL$9LlEYWuo2JdAS}btL=dKjj~b+gnRynMxuHU;nwjswG4{f93VOjU!u6t! z;m9fU;s(_Ia)mI}3;xu(JZdrIRnCL=gtdgcn$1J} zw4w4U>7DJ4-+#oav-mQdxO@wpoGlF;KT@;yfztcIiMdxCCubjUQk#1PM?FI=oJP-3 z6MU3GU>GeHI-sb~eX-vef;rpaIqHNOhTTJv_F(SbszLe37`EBq%K%*ZgDQW&+@U~kjnz9@+Lo%4VoGfaX0FH!=IgDvAAU{fgE^V2+D@n+IqRZ<2ZOt5UNB$g(77qNe?h%5SCT^>IlCA*=p(iLh1xVnG?8;2ILTn{ee-&lBkFuG7d=J6ocv3` zPcBQI-_zBr!l3Zk686Ozcu%>)EB-Q$E}V~87=Fhs2KFv8ur)p*8G?DnVS(XM4bjs? zFsFx`8$N`EnduD=Pt;PyLvqds$Jh(cDd>d@<^)~=pdo~^_7gFLz1@eB5JI!s^Fk=; zH-Vmv>wa_&c4bp;i0e{zb9kVHwcKWCVYpo{f>Q_U7K&5k@T?#;wP6(AgC~56Mhw*A z2|4^54yjGKf};Ypa2f?_f}b)7RE6?8A~DYBLfbPSA5P4J{O0lK2#YzYlqvPy z^lYFH(UfuEB!jtM7+@|qDwqqW>0nN^lMHJ8B-eM_dQA6PtyZij=YDW(t8Vw&s5S)i zOl=6}1in~KSjE@iw6NvyIVrUUr~+5g!CW|vPRuEguc@;QfA^J8F}Kzj%%x&-`hsH! z<{19^-spfA7=n2wFejK3enL5sM;3{^tt>|cb6xCo11EIjNEEwr(YSqCmZO5Xm_~nA zvwXU8H(B?U(SU(@{=5xNN9akNZqIq9p|f}rLEFpJ2H#@97fs|m4^A?e zd*8esrk^?=%tcR8Fem?C;3tNCby4Yh4^r^=TNDnt1<;R^gsYE1l6J~_X3GX-I){3WUkK^Q8Z zBg-Cy-CI6**=2S#WC1_gkUwLSD*3Z{X>x{xV+g{KKVy?9KLp_*e|EDtp=L3smouf} zJ#FYiH0366l0i5#*S`iWoKOp==^#wCFXAe;onp-6u-{)L1la5bp_hjY)M&=`cp zIdUd~V+g_={%2sA7Z`$YCNL)m6aMdVA}bz^&?0{>%TYmCbC#-0n-;n;8^u0fG#wqw za#Ro&)96oE11BuN&!Yiv@tn4Yk*Q_d`Ess=Oe4$NK+ymOo=?CG#k3 z4k;$Qdg=aiy4(uxp?N|0*g20MNv<$QSvDN6^H6YaL%lK7kV77|{oTL`+HRvZ%@IxH zJPuAW2x~pu|Lc4>5#Ls7CV0M~`~Y4H;5Sfy46p(w=RXEcu<;GpxK@#k%VD1~oCwoK&!LSW2*bvK z)MO9B?yVY>zp7<>bff(vY}jnEDjTNp(&U^7jv)v`{$`6g8z?^n;UIrnvk1a0=KOM| zR6JvVK15R<11A}TGjsi~@Iw$5PSZh{YG1-tY&*q|+rxf;m29VQYPm^pb!tK2%ZBp( zNN;u_dbxeoNOKgYkz)EZF1;cSJE+SzPXJ*q*0eJmNu_h%P4cMSx_ zAT0eM=SFZ0L72mT4Gi1GCG`-5Gl4llnD7bZMBZB@@?T{+DhTUh-!*VTH||BTd~L4Y zH{x`BTb84Ou$V@FmfR^F%)>(70}Z$@&z~>A*$}_KNQKrpuQ$|Qb?JiDdAsBV;jMqU zVl)1Xp_R<31}40E{pZ`Z+Y;P0@`CV|=O1t%xx$=n_&rO|xdymfq28Fk$RUr~_yv#D zr@)|XD{9jm(L~OY_yCa%!rnKpM+ITgQxt^BUl#o2^5*$lxO!C(7Cu|TzPP4zvYq6z zDJ*=8qQbW>$Kf&=8=(#4(YzrDi=ORu5Ef1oL6{ysV2~PSW_y%f@l=U;NX|Fl7<=J4 z1-;-_<9e~I?ZX6X?~Pt?i^%n`H8{zKGW?M2;tHg&@KA;n*c?u%X)?cDVhGfkC#)p| z>TDk3rwtXTN#D@!_&_-R0vwOax6sMi%)kjF^#UB{FXCc;7RSli3Y^sDUcph1dy(g#}LdZ|4L_r3g$un=FK9QvzR%hO!?F5x~J$vG-Y|q3AJA?U@kZ`B?NQf zG#$*TwxjJJ7}o!3by&}rjOtsBle0NF8-rt9b-#;hL%`3}hJa6Cw{pUMFA{beIH`Nr z-(s%7-<^#im}j$970fB{F@wM`{J*1OzN#_?bE%k|AHgvMb9P{3bifM?!8{X~6U+&3 zWB8b)MDAE5a>ue970h+9{SBPZjUBJL^b7umI(OVID9cg7Tuh@s4;nb$pD$|AfbMzz zd+N289Na7Og85Fv z`wt^mn8OVxL36y$E5WTeZ6t?0YCF%s3EG~ZHux4Zk!T|4K5&x3TH z=JfC{mJQ8&_#iIBkP@YehveJ{jQ_u?+%n5whAS?{w+o-)_n5A}d9s|b^X6d2l zs4y!W4v7<%ZMpdC)1))pBxAp~?+Irg=^^%uea#{EvzGrF9QVt|nLDADuP_QRP)jZ3 z{GWjnI``G{Kb^S~IB^>g$H`d;PHJ%2$pA4L!?H+2=9MMEhSA3vJ26L^4sin>bbJ0^2%*o#Y{N%Fa`R}@V zRTvaLTY`W1KLGpKj?&l^7XEHg;eE?-J}Tne2aX|_i=K~kFprI>Suqs2L`@r%xn#}n zzyDr?y`s*Q{G>r@nC*{HHXq{4of&@7I{D~`?}g{E7vULd-HVWa|M<6ja30#)K48)R z>CYeEw_^W{{)5vFoYXeuP3}9~nM`xS`B7$0)x#YWxG}(nPaT;+p6`Vt^e7N_KyY0h zp_9Iuz5Mr3{yCV9xJySmI9nJvq5N}DKEIS06MrlpoI??)4MCXIdOhld8hXAY%N~SR zVi2Yc#~X5dCjU8p6HUvn=cUPc0~|vThWzKSmB3DQLLKDSH;W+5V&<1Kg@1f4&IbAr zO<5WrZjwRRts8wY8_$i=K{#@1WN`C>Fx9SutE7I(;CHm=#=!cUwc2PsI9q~a+j08d z9My&(oT&{#n8JpX6LwdTum*5aD~u}eE**qpfi+bp)D*}+t&wsr4F6rI_!bC^K{!?n z&M)8?f-r~w7IeT13_&;(m=lC4av8(N2_-`G z$B%P^aJxIM_=Z1YXeIM~0~20-c74M;TY)74ddO#=Q@sweJsFqbJJ+IA z@sOMrI8ICkVc!eSq0|tBg~MJnn;^`hTG`H8>Hj`!AJ(=T%!#|b_)pH7;2831#!-1y zILaK^_Hjy1`r4M0TxWgTZmxy2KE&+I`l^^s@P>x+{cN=D4RAfmj|ot~p$M&==qdy`aYHSmo{8gWy3;Vnw)8nZwSJa zf0eUA1>qonVY3LrEao*!K#Hck%f}02Ptk{H$|7)*L0EHWN_bR5I9N9P^x_^lo#&eP z|FKht6Je@d%#Z~91irfltRJG)iuL5Q2FJGJv>kGN1FELl5QHyBbiF6wH>vK$qJ#WecU&A%F=yxx&1}5^B88^T9nH^~O*`4tdmegMkyY9ZzkVBbvyW4o)%%Ydzed>#$6;Sh`m9 z6a``OUjaY4EP4Kou3qxPvLt-A1pjcJ!VrWxBy7Y49fYM3 zO$1?jIKU86!fa2#W%$a>+?g2Q_u?+gehzafXRm-d~+u`VFZSUAhPEE@h8iy zj*D26GWeJwF;anPF2ZzU!m)^u)et z2?l{M+I}?G#$*T_7j6zKY<+&g7rsewPHOvpMzst zb*CKB>xrN?+W}qG-2Axey0zq+a>9-+61E?rS86R$1s`yIl-LpiRDC|UL^9ZvK$r6b+MlsIH4P-qu7ei zfl@5%TFmf>MFmF%bIn=FzzI9e5H#S7Jb%`Kp5?KSr$Y3c?;C1oY;)=z9P_+jzQ^!4 zm*meFqRG6*z(kGT@6_YL<-nbg7tAN0+hHKN!eo|7E>2$O1aMoS-WamTA&=T#GH`;n zR@A0BqKTYez)1#ktw#lO(Nh%6$zL45E=(>OyG>46aq;b2blP%w?XI;wj~jM!{c-g}M+`aqh!eXEKVjI2VMh)d(*LBPgGZd$ zW#Hjmj@zQkkikbCJ)-~6VFT;CoV>*m^&<}7qRU?Vk9y-jIiUW8lLsGJU)!O!{ZS_j zKeEdS^@E1gA30+1u%Ywj{^+R4QkJ9G;8lTO)FY zLr-cAPynhkQzK3bnH`oSJYC)Lvr2($Jh(cDd>gU;R*a4z|;wK5H`#SBQTs$ zi?HSps96iYb(Z>s>gTHOis<7oZL;){obStV7J?JEP0iu^P1C`gbLI3bblYYK=EC8P zMl5S*A(#s$;jk_O2gz_|-E< zK6%x$dmPiQPn#wFea@hd_U`B2@x7`Cmqb4{DYkh zDwqfP8#Rky&SD-eXUZJiQ}iL4G6$SgFjwZz(ZO6e*&UJh=m^z*Yfu{|a1N|*r`3w} zbEpT-&zSJiMYI4Y*pzS+q(;U%6PCM-X$zZPaFk97OnZTnXqNgaBlfN}cTl*%;IftS=JNkz5BVhYVfi*8d8*!&!-Z! z{DXOEa^`_!2*Q+qkh4<-;UFKc2x$f<)GTHROZM<1&7M~L)k^dsn$jMeWDwRIni8I& z7EaSam})mOsP#MA1@FQ7zGz|0n_@jVeZaBpID`7Ss;M>v;Y@7^!UP^xP8eTRnJa7z zIEEn1*D1jZmN6_c|nvX~(VQ{Wd-UjV zcza9G^FsuY7q%!8xldV+3c|YB0S1mAw+maK*ot4tNwKW!g0dVHgf-_n11B`G9{yB( zP>{NIfS!q1$df^M1w5+p-nm@pa)a<@d)zaNKVxVmlh3WEnDAwAGlBE1>sNE zxure1!d%Mm>$ACD=ab-8JWNRrdDOPNffKY%qBhJ`%yFWL9KM<+8HBYS6@*1kQ4l8o zPv9q)CC{Jj>QzBl_-qOL;+oQ&*fujys)9KM?om!4ACAiv zI1$^gA>ecH(fmw+OV+iJuf5Gxmet2{w$e-OT zf;o%%pqwfE#%G*7^dXv3)6)>lGjp$UlNW-yaI%5RJE5l9HF1^Hs_Sp$3$B9o*K4(6 zJvp0$V_S7cU5_?;wIP^iYC|w5uzNXS?S&jgdl)$A zBegA}Hq8-Dhxo$GT>JQ_liFyh;vqQ$Al29l&nf7Ii&6w0 z17I>x`{v%}gsDI+!kR;%W-X`M@+$gxQXAY*w`r55kK~+Hit}PeaN+{1ITwLr$h|=i zI6P{A(&JCfzAfX55YXhM|+yVi8+fIWXVFADST6Dyfx5=Xv#Qnk|*YxLsLR97fyCZ zL zefHgK%PyO@s%=$!z~20S$?pJua#`~Hk6pbg3<{quVP9NRHn;8AYzhnixTx^0%W?Rp zHew^Rfn&ij1ar~zl@8{@X(E`@!y61z!_0hzviSw+C{;Wp=PhuIz3`lZUbw7B-~xlN zFodV07ZqPnklM-l5}ahf_e1i%D^LY|DX=*NeAcq4lqZLrhGxb6TzkSV@uap*-}FOH zi=KoN^URZ~6LSh|Z9D1az@ljos1m;jyM{G@MSIOz@}aRum?7L{-L?olZJ zQYgIwocPH>%BP-vkzx!d=B(E1QNbM5zC)Hhn7g-*@Unvq;YrDVrb_-qUYeY{z%c}K z%74b$se*ZsKe1T^a~AV-DN_#UrDp?uh^EX3CmGD$a&ZV|0~{61g_8|#UNEQH?+j}F zBp=WV*7Gk$=o^`nGm)GXkd$nz?jiR?wIP^iYC|w5aARBa!b~_}{QE1p!uo=fT47Xy z59nZ?%~sWyEh+FsgTOHS4?rZp&=7;UR7}o%a16nmg&vF!c!439X99DAIpN=z6UpCf z=89b35@7u>ve+T|#9S9!XW)cx3_-CE7Iw8PM+I{+jsA=^a6%IwL|w<_`Ev+3Eq5~n z^Nkv6TMj)A$4dFZeDY2|@JB9~lX;DS39mMqeezSS!R?+G%uhRS<3q@0Feme2FjK!E zo9lIU2baI&j3J90^2m9`zzN!xr#8(IP2~IlPBNHlJt~-so}v?T@)zITuq=80!LD8v z28GX-xW*8;K7c6$RpGqrqk+2cEz5BR6miZ5#}LdpBy7Y09n3{f6TzG%k2gpSGcy2} z;d@VG$>Je7{{bhtMfhHLPC+kRBqQ)w0F!~*0|z@{Do~5C<`Ae^OU)kUx$1;I4%Q}1 zAIVt)9K%UB=fQL6NjT{i4hOz*?j^moU1c3q@_S5iQx-Zo>w=Tol*34U89NtZf7ZFG z*iUc=gTMg(4Pd_BH3n({lhf6}3AZ^5{jI3bP4+ScbGE~CR4|8OeW}SF%-vg1D1R4R zHnmDA8~D{-Z9@xQnw-19F$8nUALeXO!92*vAT@&%a~AV-Ia9vXJw+d)DPMw<4Ca2> z;f#H&gSl{;4(3$ba_@8t!vucYa_G>tv|6#AoE5;at-3?kifThJ&(wxsPT+dwgmowq zb{06PH9!^EK?idwu+fP*1>R~9=!bu3huJ4Ty(9$2%qta>^ENn!V2Y+!OQHri{RE0evthv!{UxuMTSY{MEg{{Zn2r zU;fe!x|7RbPG)Z~lPk8@`6qC9MZGa(kwYFi2O2m*+pg56IiiW2o4`p1bFGItq7KUh zzHBLaih?=$g7nd;3%pthU5n8HvNKU6mYip8Uw)DO59QGo7*-|*{MaYbQ{Fg0R)V3%p zWlp#ej)4E4!kidY#eZ`40VlOh&GqJd>P)6NA*yEPR7F*S`<4^V#T2O$TABoncVxZ{%^EN4~t=s#>jBPtJSb*mj)dR*h;y5YE(w zAWY!L<%F$UB&`1F^a`U2TvrESDX>uxroiC<+lGI+bx|?Da2L-HOSS*BO(qC=emR0%VXk7>7Uz1M6T#&#q+$>zhdgTA$iNBO?x8l#5l!SA1WqytYdtCm zi=Lt&O#Y$ZCzmD9pXTaSL0I@~3H#!j(onAOX+?#fUyk!i5obO)h7)QI2^;Z>4#Lui zCW0_MT;{R#y%uKX6EESW}9*N%&ggN}TpaWiD2*R1boFGhi zXT!${C2~rU$iI~3s35G19cRetD*bvIAmpT@68Ls^9SvD zJh{Sr+K|8IdY$)zy9(-!L6{u!sO=2{Cum!R+B8Qrk+U2&z+@2CdQ=b=Jw-v7{1w1Y zE=!(2-PNmtu<+Ru_Qf@2W5bTE3a?0oy72AFab7Jl@DgwgL6}3rM!c$nu;^(b2-Cyy z2B~3YUd3fL*HXnpa=rj38H9Z=JVym#;jkCYCJ3{r-%(U*d-3LM*w>k(0&G@PRe&Y9 z<>TpW6$WkdH4fUaFISSTC2eGB}1n%|WA{A#NWHfm-ya?x{dcl^YsV z1{;Uq3Vgmb24S(0oI|iF8-g%Z_KGUQi7-^2K$blSw_yo3-7#d>m90mruEY==89a*aFVNvT~9w6p^I&A;P`GFw;qbEcm<9W%ewX~%TYmCb51vKLS0wEpY`+n zc?fz2;$}?-;WHX)uW!A7XJ)Fr6XEsGTeJax#?VUU#|9?6I^*PF@3sPW)4U-3z@To= zlPk;`%RG3Un}XXK^~NAf4tdnJf`JpXwWc=B5l!TD2PYYXwH_6OMNd%>Ccg*x$z{p& zd%Aj65EedL!oIks)R!x~XHnr?mQpvSGO%|MhriJ?1Yr&d8_`<_VQEAYL6{!CZIC+G zd)OP7*;q>z56M{x_nNU6o>R~Z7la91*KqR&4>v~b70-`L?ZQbu`|Jxm*cC`&;q`k` zU~_o(nYCd)*_j0c2?Rz@+3Wqn2YgQIR@SQ)Z> z2$DHo_3?q=K8ErG_zQsfU5Xf}1x(H%22L2Q?kN9@A{+nqtSOk&M$b_v)UfddYO)9O zfwf1x{uJfkgv+K@7iGiHDjPcR(&T&!jv<&+{!nLwI-w5oJ2Z=6&SJhPXG+E2PC_4| zDV?Sng1KKVIAaTSFc(gCM>u0qACR@IjYDR8DipdbDN zRyujud;H^0G4qOZS}#ijtb^t8vSW7aDqQ8qX8AqbW2@NgYzLySdzhfbVKa}6E``A z_h4Qy|LBHGzU9vtqRBiSzyC`y;nnEc=SF`9?y-5neB?*Pf;)@{|)ey%bVwqa`mb(D15ereQ{0s zx?JJ>!?e*rUHEV1IF}Z2`ry->A((SW*a-e%+W40nMNbpKoE{FtC6a51_wdr%=Pu$x z7fTio$@vF3#$I?%K`&g^Bar8L$w2Le{oM&8Fa&B5)*J#gYkA&avcI7&S^|CiyEa++ zNX{#zIGwrR$L&{hUI)hz%rRHg0}dluIFJ?&ZyeXGEQTPMQ{_hnm2+L^I`B{hn}e>gMilr<8xWkzk&Rre;30qb6B*bK2-RDwxB@ z$0*Vs%#UU;r~K6{Pat}KJK@s1SNZ!LFHOz~;245A@`Ygp=J7dBL1&ry10S349gS@21s?_2j${j&0TLyc^o+ z)rNqdsSN?2z#qy90mCLMknSJxQXQhnD5VisCYgE#$YZL zlXEUOh7)rR|9o`73k<z%lm1a|(Ll5)^^g z1DFivzPY`eFakp`7h%mIn6nmsYBA2k1Gu61>_qN7JW!4^1Dv?P$~;idOc zX6Rrp9NsvtSy>E0Fem+G&{Lao7^xYtbK%51>s(c!CfM}2f**xjlV+iJy z|AVtZ1@j>PlV%ajSq8c7fyCZArPsn))9OJ6{W7kiE+7Qe$wIP@j_-ZL(xAAZM=@ljlTN+U?wFYDbf9Avfid$+#pGNCjv<(1_=jKq)%+kZ1oKQ_PB15YVmXnw z7m0kgEJp=%UF^>WPUyz%D3*W1Jh!Xs8Ul3%M+I{+jsEOz;DjbFjt210A~kB_o8a7t zoRtdEbFXixt*w2I3tet7-+I+OaYNviMKC9GOKc7)CThI?zNv@Z0dDSJl02=|zn>;o zn7s`fPSE)zxD!xs-2cfTkJ<(pI6>P4YSSFiL=F!nL zT$Vh4wyRf#LE*C{?2Bv4+vN(c_)C(ya6YGG2x4q54dloA*a*$p*7hh%#$kaWmkb^WUDYoJjo7B$58{?;>e*B22dy zw>_%CUc6OXJG~;LNH55F4C}e!L^$K9;0eyNblx01=eW0O@UpKNwh`Z?>1W(GwSUX1 zW^ctyld}w#e?#zu{QfPS4JvpB`CB!M;K^cEw(Mo@K6R#C0#oANiatbBdV-S-o|>bA zr*N7Mo>aT9L9O3G`d5ImhI6j5{1*~M3@2}H3$sDKOPm|0Ow+6k&4M_g{K7!!IJ`Shyp|K%mn5H zPr_HRJc{6lh$8=4B(kn7M+Hw^>^=rg7`K0-*gJ~G?S!%%6+Fc>`g5Uy6PkDj{JB5R zpLyh1g6AC#wF?eD^hHc~Zt(oMrpMp-GloPmzceu6)g7DOKX_MgU&=iZ-u%Y}dSl%Lok=R zM!Q%PzT5~sUyx-F=I$*YyzFGdshyI4SC#xLcxiIp0ml%`DgQ3C#mm3fe+moouV@y* zoW=Z9%9LaHy`MN^=tDGR1$^pB26MMu9ERBdM+I}?G#$*Twu9lbm0#SB*%a3Eh$yNR z>&e*%9NVgU*o3Gy1oKR72<8MHR!-QYB4Ou&lUk`%fs>q#aw6<+4a`>6i7*9@F$fI9 zKM57@2!Sz}OU2~0Lcli!a}576JE8+#UN#aODwvCD^yhB|PH5s}_|qrPpU=Q)YY5SECpXj%_!5Y!v93_0Xc z+iM0+&~^y5X^v*01^=U0BwQxwd}Z)pjGp5MdOtHPl0*%J1}HDwE1 z7-Umec#opO|6GohmHIf z&RU;obk^#7;W_L@c<;0Bg$w4*Aqdl)Zw%&y8{s6(!@Dpi?w{g6Iec@lA@{P6p2OWf z#O2A!E0FptncXpfO!fT1FV3_S=Yb`HeLc7 z7Zllu-z8XrFm3c4+8BZ`Y`ln?>_OPQ<%9B%v1Go?hDWPxc!ifH=OtSZru;{p4U`{( zaFG8>vk1a0W>zUv_U9K(uxrod|r z0{!CBbwyOXF9gOQEESWp031UQ#_;dIFFN1_h9H~?%n8DTe_u{yeUZpDEP>Itm&MlW zw|wYgI~q8l8}%r*;wz$3EbB6U)s&`rjtat>)8C*cG;t-c2Icwl4fKq+JhMEtq4un! z-Z~HaRc;VI?~Vl=R2PKFTx4LvtEnr0(rN^_=jR3ClUiNWj$8&|GFut~>|C$&d~hp5 z4LRhI)7roZ+D@W2_!h&FXd-7DOAyw2R1g+DMM0SS9l%d6OP+tDt5*eK;j<;|i!*Sy za)sYmRQR6dI2F&RXagsMV+g_=5;kIj4#L7|A_&vN#|=`$%uK*##_E#ALvlJHGa9lU zrH+kKL)Ocr=4Cz7yBZRyQb|K&B-1MS5I7%;;J*;p8$TN1Cx+G1(D-PCaPU8sMA{4= zji6h58Qco@?}W3CdYhl;Vn~r*kn@o3nOyeNb5!sIr#&6B2T%7F3tsj`!;>Ap*>Cs2 zrDs(&dkEH>le-weTFEYsXquBZo^nl+>kFuo)n$mwGXdK7r9E0h95(8~no1UiIeGs40zLO);p~C&<-c%q)HS*} zrsFT&ozMe+Nhv?*t@!)!v-vZIGBUTrDL{$|ucmL=ZiA`dPRlL|7UqE`r_p5T zBRTh$;`BTWoVaaj&i&vRQaR@edcfhX6jHfx&?m{e>d6DDd=~W7rtFuYo`=QGg-to@ zT-6CI!S5N$58z<{^W-$feF2j**T4zwSb*~RH=J{AoM+%z^n8bX%J4`7+u`-F9pNMw z?U=~g?19?7eS$W$v7CdrJFF+{?9jH#&U1Kaat4572-J|@p{=u%^214Pkbh3I2-Ga* z)N-cWtY-s#h^E{FPVyu-Gxuh9i}mt>S~yJyYN~zKpw>@vhnr#jWm>IRPtI&`Y^!(A z%g{!zHk{;UYD2&$@UwElt}YVR9Z!>{))H0V)y~GSmPmn(0zL))#qyY{@6Xk!m>DMq ze5sh6>%cLb6-6oPbaG1LZ_cFA_PoEJp==UF=T=PUyyT6g#e{t7}d- z{Q`ofd5#MBVjBI~)xZf0@HnuZ&-16{`ZyuQw5G!N+*j~O!^$W8%zTpfNW)F5cKV7x zV;Cp%N&^#Kz4FK%7YzjWm%M=A;;YxTCs&x040lz~`3tx_*^fDb9P+4bnt>Cv)l-}1 zh$eD)mnQ?h_s#230bleK1$^@V5B%h^ZujR-4 z->-RTa{dX9A(&JCbZ3JK=0X0~%_5kym?uk_a`7Izr|3g8E3<_yE{v*vo8 z^T8d7dSl2UhdgSVYv2TJBdJYuL=!nJaiWwA=2{PPM4dl<5Ise~oc!g$PliFy|K8QB z!l3Zk686P4rL*BzHLCFMiwfVi6z7_nBF=^27=k&61dRZP1%|gzNF$mE=JfD3gH%5= z*VN!Lf7epQLvlU_$JUF$Dd>d@<^=v`5Egpzcht_u1LH7D?c^+uPjAU!?uO)=Wn6(2 z7EbV`z~&IlS<4cr#SqLn58e~j5`wvS!hv@tXYm2Ab0ghy5*r+!2*)dq@q|u}=_@ea z@ynoeB03j?qc~2^hNw2Rxrfp892Lxk(n<3yEPRuio z3g+OfOOe)KzE3~*b`Hunoi}-ZZ$b(DJ&yMGTwa=-36O6H=9K@gvq1&(AphKE5zJZ4 z(}oXQVOU_wUHx@W(T8Zt*We_Bc{CRs70iW`-C53_sz0PcwaYwjoxr>L!}`ayTCtv- zT5yc3?&Gd%stv(BQyYRgf$hr) z1cp9ON5vJHS1KmwEpQCM9K(OtaCE>648c4Tm=nwi|GJ#W^WkFr^q@tqW%&H2ialRH z`>Z+L44lx7^HD5MsB^n|NLh{w=3*NCxzNA~bv=&;T#)BaTX5FILY@rf^BQUoT60a_ z)49QX#16}@#Gf%lllicL39sh;<1cS+4DP{s!TjheW z6V?)fc{UGu!Q9@YV)_s?b%73f&s}iy@e^9W-oJmp;OyEHLazinIrF_jV4--_5eExrttD zRb2YwDt}kzrOCM;978at{EMUf@F+`=zjCt(<}Bu^Ql`vWUiTDzh^BlDPBNHBbHP!; zTsTb!bE;ivQ0pgf*7C5Pe;7dDYMh*v$ypsosDnc5X`gLs(L#I1s-M)7#4+YsJP;F1%rX44)gC)k2HwGE>-_!cvfXd;JiM@a^At%o_H z&IfbRQxwd}9|wMNS@Qf-T)ip`3ZE@uUtCk}FIV^}MTJ{lx``V>46JxQL>ssgf|wzg zXB-w7PRxbVL@=j^n;P)_I_RrRSIFHO!SwqQ>AuSNMGmj7w~;8e zS5a5_{Ey+VjHY>x3g%)O{dv*A2{&smuujYKrwcfjBd;Zc`8N%<>n?ik9OjC=VE*h? zOI^#KF+`KO33i1~dpC}Oy{%4YZ|M)L|Hi~qtvL00$Qa&59OKeC;`B_6^mFnAn@tU6M7MMMWK^3%E0mK!1SHS0w*SH=><8LVwW}q&rA=u{cs`-J*$#s51#IA zA-wE(LpV_K`PynN|2kfpod1AhI1#4&(auiF55Y6YzphyXPZslQDN}x{__TvQL{r*f zPfVT&yZe;00geiu!f85qQth7%JFnkCerpBmD;_Kn>&fW`j%|gX-ao1hC&HQ95IhOo zx16w}t8Oul^mXLi0Z!^eqbl%d9XzGLM!}Qd#|;9*@E?te`JpjpI;ohPMc^1tgfaZT zt%DADfgyNi0&{{V;jJtuo_>fZa;qYdTa@Lf;Hit<&%g=Y*b2oCF6!#gvK$pW#WebJ zt$`DoI2iu$7b18%nhDTp0t+>I1Gtoeq&(5t6wji z|4<#cWAcLML2GsTKXQe+jAg^|I>&&^jVtCIa>%2$)eM}VZ6|8e9MMG1PT(Yir`Dr_ zr|2mPp5*TZesWpz{5xH}DtHQ?VTV0)O<}GueBxnKSoobqg&$XrQ}Oy2ZQxVj7=owh znXH4SaGD67^zcoC)G*tVQFcFFvUo_2>1jUS3(qO&MGNW0Iym=Ap0#@5R40tUaMmiq zn!{Nu%~{uQh8J$AeweGN+GOb?IUP%JcCYwFs^wOdlaX3kQ9YPYEhN zQ)M0KsZH6B)b8D4=fY`F*14)LB@(>5q5J^u4e$xDF(y(0le52p6WVbC%I^(M4ERz$ zIp<(=Hw1Iq=s7BwgYz{t*@L-z>j*D{0|&MFsJ-moee6O z2l-1ji(t-TmbC2k(UgbzUFg_T^dXwEIXKB+t~n~03#aK|PPGT%Dz=?#_aPU~hgx1G z1nTT6Ay5<8&rrS}>4!U_mlZFLlU|ZDxE$vsZKLM=8=TY{p!A%igSl`T1#=2qU=SGA zfRo_dwh$OIoj6C%#xqR89K-+cwlK^K48c4Tm=nwi-v#hgj!+`^DiS%gEJp=%UF=u` zCv;;k6nk<}SMM#$QNdhHqd)H%IKiKj(SW`4{Mi|t=L{iw-VzP9SM7cJWy}?MC&CZB zc>*JrI}s*xe*~gb*l(zvx5V$yy}1*(m*)lZ?)_WLA(z3N%;AQR6?9$>?#`$;26J-A zBj-E=CurN5+B8Qrk@F-tsbF5AM+I}yQxwd}e-8ZA@)r0LT)ip`3ZE@uUz~v-mMeTh zQQ_Z|<4h{z^g@D22Xi+hYy|%dQ#=utMl=!3>EYpqkP3@QpH1Z?gYo!3(qO& zg$w2cK5Y;dhVW3-{)iSPwUaX)oOB3v9(oRig%Bzn4v7<%ZMpbDAn9)#R0jJVfqf@J zWz34&zW2aMeGIAK@UevOF+@1c;bRCr`PAS^=-i1{?R`eY@1ezUau$J;+T6V-XYAm- zRgY?9o>T>Vf|oX&t}21t7h;Ih0yjiRNC$H_S}c@*=O~_-gEN;R?ZMo=b%gTk4A~_3 zvNwFWt!n1_@Y3X*4Nf|kJNdUo`QgMo$nVoEf;o$^9KvO$%-T@*6n%)MyarQJ!MuW_ zg1K42|_-CI9HtvQ_yoY0NEQEbJ>Eh(0D?NOGag1P3L zV&H_jPC^5CGSaAtdqL0pSjbZ$dS2^>+RYc<@H;bJUNApzTK8l5Glpm~`3z5r39niY zJf`Qtn=ibvCNG$u{o?)Y$rYyM(H*bz#u{+{f_h^xCx<+0JKAt06SVz>+B8Qrk@F}x z$zbk$3woG|>inY`qNgaBlm9gM$z{p&S9kTQFerSsgne;MdAVHSs}~jidO6PeMVyVW zej9>0hlGt-Uk7t(L=(ZB9(FZs5n*Q5$7Pr-b7y84IL2OhPC+kR{-v;y24P_cPekn% z-_(`b$@x1t$;j)6q?0R3y9M`NYhTy{rRZa#ywJC>@x-U8&Hs#Fmsz6QfBZl$=_$h$-Sbh8yBw%tLHE_ac zU4-(VDzfo&>@S93P8&T(1#{TA0X3O}`5gDw5z1d=+1C6-(*}NI)iw;_rODat6;m*$ z{70M(lplh5kUykZ1alU10*Xl;Qf9N!tKyeQ=tDH+S#XlUJems*O$o096i#+W{DH<>^&!2<98D$CP ztKu2z4O-7+#>)%l=WPAAzw>7d(PYjvFj3>GuP@eNKDe*v1@lWgtv{ArVa_w01kLk0 zUkCSn)Eh$rv^^Y_CB>~j%XrhQ%f+{dQ>nMJw?Hs{B144-1GnI>Q!M-_-qOL z;+oRk7O2@27XII&!h4kCd{e}^8XQ9~7d_wTU@nblBAC;|Ck;}=%zT5gf7VjPLvmKL zWj#v$8P<8JA?syQ^Rgc48-t$u!{!w#+3E0y%|#_U9g^f9AG29h7ehYuMJ<2U>x*?< z0oKQWB}I|L-@d2zDu26nTw&b}mOl%e7}v#ma{dfXGElqQDdo0O5QK%(bP%T6wzj-U>!-u|ichp+ zJvm#0lMK{e?R{jq2@HWcQyT&`f!)dpdsy43g&hk{>fQ}&01JFr2VvnfI-#b(Qw##b zBK0sTo(+L9V@k#3d;pFi2(tsTqreb^Gl4llnD7PVMDj0m<%(Rz5MWiY3-k%KE_Oo$ zCv;;0iseUVy&`j=x|((ERhFZIu$V^9p$1N<>k%~Ii#&e@fHTq%TIa3bQ2XwbK0h*3 zH#L=!oG1t)nzt@WrNEP9H9F!=+)PcBQ2f8dI)UKNCe&z7(+&cM@3 z6@K7~MTPTWPeU|eb7A0tYZh_d1ji7BGY$(3Z~2f$G!ca9;rj-uezp%>6LPoIQpH1Z zx*_b$hK>A(am@WPVFia$!kv9jn~S7U|fKEzwv$oE=v;jH)g?|fe^lC%!%+!Y9Nnr1C!gyAs zZ(xq}0CG+Q#}GU@TP*N>9XzGLM!}QdvkU^mz5D*)%ct>6qcPJ-#pHYejv;tL;Ivjz zUz?|So_;=+*wks03h9#i+VPvuGbnw*0Zf@ZCahui-#ePuK)!oW+RPYqj=ubZb zCp7T`)YU%EpJTwe0t|x*pZT+YXzQq75n#eg1oMiCS zdQ|WfJw?Hj{ENX)E=!(&imO)zPvNsA?29vSV!6V(<>eOsSUJwwMVwmfHiqEIAz>rV z#_|?}r!=C8;7JcRv}|bJ!?SUjiju`ca*hJW*bC1o=tT?Z#fbnWA8GKyE^@*M439L3 zu;%a-FU=WcFge^%r=X7&uga4?k~10{Ltf=Pcn&=Yc~v;@SJJ)8tE69MS9#fU=Pl%( z7dK_0lXIhi7^h12Nc1Hlg)1cr97(2Cc~=|XSE z{$hAEg6;4e70ki8oFeVP+`Z+4@*lTsYwpfixDGD;c$L2`d1-R^i%!FdFy%k)Y@qxQ z%!B-v%_5ky7}IZCqbXzgMfy0r=tDH+aF~(|=9)uOLNFIj)4`l-Pc{5**iYctonU>% zWBp=1Ij4hTTXh%i&|x8}rrHq9GqoX@6L>{AVHK~J)56{XCw1?t0xMoGC!9vXoC3c# z2n>rtPgJ}=`W%C~R7}pgubF~5hJWn-=s?Bm2Q!M- z_-qOL;+k?wxx)WdRQPG-IQ)H5Y=k!OEpQCMoI}D!%+|qNI86j|diWoM)G*t#aTz|p z8KsJc8KUaJZj`fG-^0IIdY)48b$YR5<|j)TZo5>dGUdQe<`T{Z$`8Rj$bYF>1alTs zYx%U2nZnP$@zy{eqAA;hlMLpXLsLR97fyCZID4wTOh~mo4Ql-a&b$cLU!m2C_2ldc zj%^3L@(Q%^A|1>#wIP@jxKBA@*B1%98=TY{pbEU+2@7k06xb-3Q{Y1efng1}9u@Nq zurbp~#pEmm$8ciK;lBLUhJ2=T;uJx#3E_#ZBIr;a1pInwa|7cgQ3WLIDOV}6J6n>K=^+{J1 z&QEgDKwbFDv z{0$sKFy~xR&u==IXLFSo%t;?_P#H$*H(cQjsEqkpI!DfAa8jFl1xKBj3#ZYEIl=rQ zk?}TvW6{)8moKvMKREa?1asQxIVzaL#tkXb9?acaJ}Cbe%XyQ#GfrK;eb=`atMa!y zFHKIrnWkV4`EM`gY*4{G$nV}Pf;o#BfnriU^~2&!xls2MeTb&q08TQPXXak$ZjBJk zh0}B}r`iV%YW;%n_Jy#1Q>|94C+AIYY^(06o1%?gZ8$N{)P`VA;DU0(_&4nI3d51^ zPEOm`)Az0_u&WN{QedNCPVklh8~fZ96<-5^G1E!K;c;uVg!TlgFn79A$IvbNK z%xew5qMhe;egJO8i8(psQQI8`PS7@<+TdHv5u%Bl55P$VbFD`ObJ0^2%*p>0{N%Fa z`9HdPRTvaLTf)A$rqtL1HJif1e=I6|*;1S}xpn3mH~<_&Fb{gbVS(WpYH36h!JHl* zZ;4sJ-K3 zqT}JTEOWf-#GK$C3@x81F2`-r zWys*8jvmo}=&*tHT~6NOi24zSZ_#Bh{ztv>pBzws!pVb=tgr1*+y1B%h9BAGg!(~4 z>W>^Tc-T<27kCWjxu48fd*Ugrws@P}ZY3Cs!Rgx^(8WW|ZO7CECVM+I}u zdB?yB-I#=8Uo7hCw`Dmhn2Txjr`GU6AvEztG@# z1jr5MOZ@BD*Z4DrXfi)HFyYlf$9{YCY2ZGQ7tDw6{?0gZh54)HHw0ei6X2c>|6?8` zhdgSlwJjUeb~?3bj%XsM8#u{euJtfS)cHqQL{CvLCw~{qvgG-*T)ip`3ZE@uUtCiT zDpxpn{%D{syni{)ydutIa16m*8Zl1?bJ5d8FsFyl7^H^To(B)dX{q8NIlqFF+#-B0 zJg1-+ZigpuIol$@+Q(rC`O2W&UT}-xUCDpA_xP>LM`~*7YU*0n)SQJ`;N> z3&C6pY!1Pko@|U-48c6}gtdfVp3OsEFeiO8yW{uHIILyG%X)=Q&ejHwcf94XaGd8w z@x)vlC#O3&sm;BDqfX3))9A#U;5`ij!`jP2xlYDUAiB^)aqwd}F=snGM+I|muAxYK zFmJHm{a~7XM+mnLH^8U5zJZ4N2N>|eE9#f z_a^W47 z<^}KSR8pmm!BdYRe}u_(t1j)aG)mCUP2s z6KKp`J@gT^wK2DPVi|Mt?*%__TGIT!DqhD7T0Tp{x~QT&7A|o9#w9O-Zs6_1aR$cX zECNSh%vCW_h=Hy#w|des=FH*e0;#6Y3`7niwsPAXl9L6-Jn#W|x)z$lT9^mqSq^KV zjCn>d!VIdQ;HZ$e{xEK6Lgr;NshlvC7H=FYsh|bQmr8qTrr%$ zD`N?)0gk}&v!gN4E7ft-IDQ+bQ$6RdQmW($bdU`(;a`as{(wr)soU_$c>)V90wYY7 ze|Rd*o^GgYNS53PUqd6zX8TIkcU0Gohx{8$rIKHWO_Q?{9Dxyr{2NPo@;}hip^;xG zLl|KOvo%~&X1P5Nb?}n%7dU|{)P8bjsh($yu;rw0gsC>Wz_#mweB&&n{uWoQO+7h< zz>yts;%`A2wOV6@eYM626L?iPVRd5(8w5_!4C4e?*EPa6z%*M&C~&Mmpc%V$5%Dqz z^gO1Gn4DeU2#hd0|1wlS3p7U97Z}9|6aH;Dk=tU4EF>}1x-&A^ZLSe^gRLsym}+c8 zuo1V=+F%)1i?AHW2)mr&0*)zSJ;b#=T7G6g&vjVQ2sFZ-QWBb0Jbap-D%#eOpU$EuAD=_Jrm6cS8358iCh|CGPemZ6wK~^;71Z- z1zsr}r(i73FmMD$n4JWLI8x9x!nP3U7-8n{ZGlwXXO0v^GgDouHizWw1V>m4&52P9 zWrPVlB@kw6F%_|2;R>^{lM{zYGH``jcakeqfD~p{sBM55!I(3a%!ozcSJ@wQP8f^v zt2QU>@G8l^eZWnUq!$+)PE5u>M#dv{R9HGWB?TPQrQU+lk5M_#_u7n;b3Hgg2loh$ zvqEh-X;!ESzF8p93G^cf^v-YGK(EI_i@=z(98B0p%6%AP4o)SClpFI6h1R_@kn(Sn ztncU^{Slfzkt)CUvuScBfg>>Hlz+mLZ;ZK-pD})OBZHY6Dk%va-I}5fUQ%{}6KKr6 zZADp1E8^Li_sQtc`YK58ty9flDNnsx%=It?_F}D$uvkx4BF-PZ5 z=#L8QQ*}1R+!q+dm=peMIFa0h7ggjndxERs1pAU}%-vvb7jR59UP7>6#j5HPVL6U5 zw@G7u#tS$muCGvlvC;DLAvoV*6)(`3_fAPDw4yI9KvZKsX~;z!Au(iOqRH%oRhu9t za@Bjop?dFu8+GeQ=W>hpkZYMQNmhci&XwSD)xb06gZwWX?+bn8xIaU)n`@sn` z=B^(4h}wEd#_EY>%*j6nexMoD{4Z6!jv2IkmV|XtMadyMBVkb(c*NEbH*n$3ILnFH zI^uE$Lyy3i`y2*n_Hwwid`S@UVV%Rn2>Ua));5RaYyc;4h1%s%s#&479M-~k z#()1;xG<i)-awEK*Mwrbum8|cmuH6sv>*q`*|28&F&UA1DMi}zz=k(+oBW&bnjGG%7 z%z|)98H1#F))IB_lCmG1KqKrYcZ_RJReS2#8wSgSY0^%pc%#qFk-8Q<)m4mrog^}QwTG5-$BG&xbZxu zjhLL#;0TN`JO5NvAY!YAFEEM`Cj8xSA{WLIxg#vc*+cCHds@IT)mVsN-*pFv4VH1` z5g7akj$?#f&dmajDdM{*0GCSA6mc2!%#s-40VxTk$A9^i@>H4r`RDJ-*s_`BwtexL zGiT%D?TTzG@&#X`X(f{vM+HWBz{KsRYl6E!+6r}nYQ3tHYncxS4D4a8b3eGX5U*#1 z$sv#0Itn<*Keg4OHkV^Hkuw~eKqKtx;qkw=Ho{g$d3e@Tzc%~#$zt~l4Q%}w)aAdRY zp2eP8{|Km}=E08>f|>&)Ta+DPYhnq@3M&{ib|W~>3bhR|jWK7$`2-%*)Oiget^|Re zr?d4Trx`c`V~);$rV=W!M%CG@Q2PR-7<0l~g%f#aERn;)avWps20KB(G1a&e!LE%} z)#YJ1jxo1MV}7;@IHrheQGkZg@-wL{?kOsnH_${MeKaLu#8<6avYSWSIx=hewkP=- zO*EO~1k99#qmOR+bJ1RKqwb+Td}7p0axHTPm_a7X=xhZpulsn$oE-9~ZIOUuwC$rd zmt!@NGyB@SfyO*S4}C;!ZOpBnSjL?Ex!?y)ONQT9#p{?s%V$Yg7gdz?00t${2|QvC zwHx@3aGZ!e)GlXzsk{PXt~v<|5wVBba?&y8%;9%vA}C~&!-2@*Z*Hw^4#}y0y|@;d z6IqL%l*?Ku&q(0?00s#&wfGIO(&sMb9b@k2B-Oe;!KcCrjM#bZ3Y>96UV$-Z*HVG%o#)1wTaL__cRF5j z$$=l*?pRIvtI=%G$S`@i5=~df$nZ{lY+lI8dt+XKF<0`dqfT1BG3Jmzi>wS`%o$7> z1QQ}DysGLMa|F_h0g+P=oFHTFBzL82%q_>CC88N~w$ehN)(nxANPWbfZj<_6*G;1 z98CmCJ*rc&7R~H%rP@@G^8`3}Zif0oPvZYEF-JZ_!-TxUlUhZe>-bWgOZ$ZO3MVdN zr;96Y-;LSgxxM*4kI^bkz>!Wpy_WYft&$lvjraQA~-aJ=4fX*o=O5o02n09 z+}<$~Uzf-f%sq z24m;^d0FzEpRDTDik@O^5!}pEv;Ip_fKU`eA?#Z`um#PJh1k24F?WuGNek@ zkFIV#>dHRb+vdK$R^ukg?fbvb@Q1`=nT{3s@gG%4HjXd-AHR!dY&jmv9+)GO^zZiO zs`(;v2 ziCLP_KTHQ_a<4qWhnjXN2~%!ewtyLocBq+K>A!HwrVlk_mhTp9HN*>8Eke!5u_|iQFT24C0KuWzIO$3E}ROj$ZH1m@ivdLjba^{00tcB*J ztwl%Hf^(1R%v%J)Of7yw>=DO58#{$<2S>05#2ji4g_#SQmg5QY4{ullBK>QDN|V0B z9g4$H-0Rs)@}&S z4RBCj)m>tB<|(%>Z;NDmha+1`atepz^oqr)@^l`_VGUhN>FK4`3(Ojj)f3{d#x)?y zZ;EDv(qQu23r#1*>T~13S&6RAFEf2EO+9^@bS5F4TE1BWg8WXbRfbptVp3*@OG?D$ zP6RTK0g-bEoWM08H4v9Gxr^O3Aj|P*iD+v;Y~^=>T9f+4Nd3#HdLUCjkDT-1$Y$N; zFMDc@EB4iD@2BRo+|LB}Ek{_yc23hLl&~J)2-bi&G#KDSl}58K+j7#Z0Wsnc0)eLU zPXv4eGUu%U*@(&c6rA9Tv-Dr9H+TZ!E@<0*fl=0g2tN=`l#ssfrB3e3Phx(=X{)5vwjyMEtEeny(?x*zk<|l58jyCgI zr**HbREbS3Kqovl z*B9SZQ-!wQm=C(2b=oqSN!6B4xMi9a|Np5{Vp40U?srbUq?^;3k0m?mN1WvNoxy!4 zzPG9N8ZzIw2~kaZZ}5_7e&W>^-+14nOzx*#njLrec&aiHsQ*AYzJWZIRZ}w5(fzDE z;dXRK;X6Q+XRn{AZkZ}rGwno{-h9w44f3Euc9Wo^Fma`6S8LN_%A0fWLvNJvd#?|~ z>Y^UjrcO7wnkZIvTW}6({Y0YP~$cp7^s7?;2p$(z3J<280rqCBv zG0qP*#Cvb7Hy8_9mA;A=hVF?Rx=C6d%c8MCe)QXD%+%D0Owq8Z`9&Eh3{W*>6Dub1 zK!Z0Thoqrn5za)a+VUUxw0af)(;W^U0IjMzT;V799(=K%AhMWLGUJ$hA!0V4kB=?z_~TIy3MCQ0E2WA`g zU{zOEgL4UrWAe_EDl;|c{)N9mQeBFTsgcK2Q3F1vhCW&Vn}6`KuCV@&eS(FgBGosv zauc6=E8c-Yi9zaS3ZGNi(b4Hon}nh%b`PC*z70}zld7All!L`AoA>E7Awb4~7)<$0 z?i7mC7TUt`5qQW!Bsy&N34EzfY8mEZn1A@4`81+soA{&(SXIKts}$;a4u6|dP&J_V z57i$3M&^)F^%M08+nQ}h7gqNi6|f?if2&Rckr2V!nz;)9Z&|KnujD8DBzJ3<+`3zz zu5FWhmb|%Qxsn~*WBDPeQl)Z9l`592j!==Ksu=n;$|Y4sL)EI4tA;^Zv0PFT21}K4 zNf;=2b9Hn}R-sb4YI>fpTB%%Bb|uyG(P*W_a>#j7WqhD&x#~&fsuBxrm0Awq(oD|J zvjne9s=XCWj;L#|ya-@cCjF%uy)v1Zz$*X@TJ^>n7Oo+eD6%(K6F%_y?Z3$Rs5tJ}P~ zz5lB5x$f#z^8S2Tb`I`zyxhSY_v3D?xct~=VHTD0$0b}WQQ%yO0+-g6(Es&>$I$b8stCK zOlrQ-Zv#YO4P4nbzCnE)KjchimGI|k`ouR{e8k_Hqk~f6m;l|6Yn>`&_f;M#BO5ZW z>ao_r3ls|HjX?7)0Q8*+m=q0WttXs9d+wA zO#PClFp8?E8q~qm`;@7Lt~(l)f5egDcLo=Z?`^6n)vFY~!9R5!5x8pFdxMuu^Aq<| z-uJ0K<%3rY`!$Tu7D(5y$g zdb8iv?I7ZGr$26+bK#6yVez+#-Hvy^A4Y0pM*=gI7~O;;n`Apk&9Jin)C7|d&=k=B z+a^a(LFThsB+l4WCs${H^y={LddWha^zmHKp5$LzS2CwuJby$jaCU~Osk3-j63BQClkk$7m}?Z7#=ZBIjLjf}RU!@}~7T zw;otMv2Hye|9$WSH(siEb0(;Go$cD+q29A1tlWPK)QK{UhX?6`gAW;R1kCvb$d(45FxC=P3(ZapBd z4}gK2@pW;pP{If_4`e`b4e;N8&@yA`D@d{#P?b=}h~L731UF|qLa@KfW06^rGfIztp~n*?BvCNYS{KGkoo5L8uF2hc zcWKkMSA`xuyZ7$iu6vi(eY$n*-K#?THWj)iR_N04@h5t>?$*71a)rK$ZIgSqNvzPA zKWd7f+?U+5Z^w4Y3D+fD`*_bD?JD$4?$9NLY%0iA_B@R+_1bd50eprrk>w(KDE4Ve&6!9zMr&P53%twCupo_hS zo&NmNmwz+A8~yTcQVV6D%-tJx1Q~)H?5x7w`#?HjT+bJTcvD`o;S5m>E89;hwp9Ey;rT01*T*x^YKj= z;~x5;SX{P#Q)^Vbcjpyr3eAnb_w6o4EEu5q)+_c(h^>64pFjhy`Q7rP!hx9_g(xu%!iH~!Ia zZ@ymlqdz{nXMV+#Cr1>|`^qcjGB=Iew=c*1Eq(XgTcqXCq#OH{m@{u_)m$A{%$@g4 z)A{QbuA1PSN~fOv zt?lQ3v7vw!;b{^_~*d|zn#gUxQ9*`?p%v$K2m`=aU% zr;dL1Zr;9k+;L@|1xXEyT)(bclLxYI{G`;#Qm^cO;i^sfA83E>n;WiwVCGX-Y`lHf z!-;$I&)(bkx%Zx**syN>v7@Ws``evw-r4NUhQpgI-aW1H#0^i~n7dSolcO8%xbNk< z?K3yLb61ILPrkP4_|C>{f37qC!YgHZeYn2UyhoZesWJJP_#5tAkrJ1)>@^27?R@^X z%3a=j@7O0=$>+57X$c3j`7^(Jd9f?sTYWU!qPs@^{??l37yoC&hG)*d@o?71zB~Iz<5zZODLnkG_yct+ z-?TfvWxqLHmlP_ua@x+?4c^?;Y~zocmtNQHopm*e@6A>$Ynik2e_uUn%nO-0Zii#s z2F{OqUkX+as_+)?*Syt(CvvrIH+t)H3&1&DykJ#Faz;a<0BUiR)n4;ixwh zXo%*hYnATL&82?)++KJD+`pa)i2k|VDZp28CDyxk3c=o0dV9g2di14Q=u}dn+1*dU zM%4%;4KG;&zqcRM*YR|)1nMmbYU?Fw5T-t*uj~2*X!B_H3OPTHzJ(pOxNd6pT!Nu` zg|6_W{o$&!=xV5%>n^|{$vw_y6SW>3Y9BVf#fZY|nC4gm{M#FoYRqulaBOktVeH!3 z(`@B7uU^_8&MuE+a96V$vltOfpPH#SV_~4#?ULNmi(!bj{rC2VgJ4i-6wPDE0ILSF zuY)h(Wi{;ix4+R_e+VzLy6Wf&nih{YqPrjjzM!U6^$L3m=PTU`8qycv7%F<4nppu; zVXNTye*D-%I7z7VkfAgY%@!4wIZ(l0}1m*=W$kStu0ax;>Y~Gvep#$*reXXZ&H+t7JLdhu^j>AV&M&+DK$QqXu z=LY;T=LRt5wId!0=jb_sbA!G)&e^qrUGGqj-5Q>C#M&rZ!wcSs1=+ZS>AvZID`9fs z0uu`txa9jW4$NT0?x+8Wt>MabsDX3I_cO!)H~w7m{oY>fl{WpDoF=f>A z=L$CJdeQu$6GKMVo(zNC#Ts>(;vq2W@6f0h1*Z8s_Xa>9XWEg&Bu>Vd< zZLs6xxm=!gHHkNbQ#KRII;U2)6r4KPAW;`oei>!8Q!6_&w2zTcYmQYqjkk zM1w2&0Fb#;z{Kgqz|%RJ#DjZ0+M|LeCq34JT+94PvXMjUJPvLq#Ov+7B8NO`ix*rI zH`+2$o6E79$hiTW!2Noz9%sLv)e~#K9{D$cAGljV^Utezojqcf&yuh%swhpv1s?JH zSKYuL3dPBtB~}9GfD`sb!!l=`;=V80$!Ru`x=UFu~-%q^haemz?`a%zGTwC5*+ z+AY`}Npt z7s=zP^~iV|P4kJ#ZhmiL)8uRfNARd%%5SUE;Oy5k@^8x!j|yfm$HOIszxlzdDeB-Q zB?}%S9k^f5PwsbWXqf$amXrQ|J*vGz_ONQE{yU^T;@73x)RR*M9O10HhAgGl?APQz@YcJB-)Y@?e-SJ?C51dUxY#2Da4CCu#Cvz#>h^%(IKfj~1UY(&KT)g#`1JsUAO zdHaj@>#+i7J%Q#?!M?yK`}GJf4S3MnwJ)+M=liH49}3HH_UpO9rU*E?8clN}*e_yL z_0_N(XTP3J8uRn1fMfFW#pxVPBQ{;yxK@Jm#cOeK|G-f53xDuCdNQ3)ZOjoDt`XFp zX-^sAezm6ze~sbkM_i^=v>a;3ai*mSi?SA9kQMv&x;Lp(@yW-#bZgf)rCptF-P?8Q z*P!y_6+7JB{+{H9^~$z?qC@>h?yH)uY^ex9%*Ywip8JyiSVv%~+Z@|G&a>s<3*l{#e#oSJZ`bo)8yw%vDT>#L<-KD2V- ztylKA_RP4X|2b1+{){`H`|yuKE!HmXb$-Uo4Q;1=(YEEP zsq1&%{nMe@3HSZ^Z09NKC!BhuRHOD^og6uK+WR@{be^)R`>ghV?>szZMvn<|bAHnI zlh?Ah`1sE*uik$4{i!p4o!sNgi8D*Tm~}wP>?&F6#*LWv$*^3--Y8Mx>XhOy@4lww z9XWCrxw&GVGG(R|E>`Aj#i#0K+L3k0fy+DJ-R{5cExKXkj9jy)?94ND(Tq(cYu#Tf z>nAIAulj2I__`;zb*#{)*U9RyZJT`ZzN#-Rc%*(g9_aPP`kZCoT(D}?f4%tgBh_yjy>C9Yx2K4?4@j_i*%`eEbg7pa%U-;@_O~ZYM*I$=g6W( z<|a&uyJPUx+3Lo1sXA%vW#9Fk`rF&d)gJ%;{W)7F^jVa%^qj4I4!3;u>Ss>wZrpBC z`BsxAP5yGr+08W?U)^iovBo#8yshlVA9!YpFKPvJ|QmKGw;6p z^_XGH%2(K0f5XC_Pv*^fy3OcMvh2Qk|H@ixuPTY(hrnq^UxUM$ z_#NFa%pdd5cdK@5H~OzJtH7ClTh_R>Ipfrq9#%Qw6KY3X>hjO%!6{bkvF!8puzK)` zTSky$x4~uq?{9<4Syc_t?D#upV#3@433CekPi=$aHCTP!7AtqS1fs9W^2!rd<@9a# zyb`P~+434LuTkS4yx^@C>bdgAD<}Awx%`Xw=*!_GU_lQb01Zoinu)*F@*!ST2z5Q0 z>w>u6iq}+=cnv?nKlO!VE)%NdSbG^LxrDDAp zsaA}+vx%=@vC(XU!qo^6u!)25n7vux;!T&f#Qo1-9s5@=jj2^@)#LQOHgpR1W_A}| zUHBJw!Cl&>#oBl~KlMDrX+=#adS2qvIR2;$gxur7vi(1Cxdu}!=2bOgB04qenJX%K zBMoLvwbj$il$a*5;SZm{WT_@wOk|v_)tm9Rn!nZV9DBV6yJhe?CO!30&bH=d5b#rM z7UcdMxi@|m$ zFh2n(pJl3blcbu#Pn0q>r|Tc`(4h}OdaB3!7{5NC;2U%mb?He7(z}yXNGdYBM~cev zM*Uvo1q`%V(Evmz(m0r^pf276{Y5It)ww>aAileGzw~xlyo@F1|SqTkSLQe4DO)wLa@RUt# zrb^-iaST7`|iYz&7(F_J&G$LGRPTXORfD zki;C|A)b}0w;Vu2_X!ML;4*lK~7Vjc-_%$Z?3jo z;WY2DPP5(Uzu%)vBO=@5w&ao(TRun|kc# ztn4E`iLyB>d3xd#N8)nc;#<+G2@47o_^?2MOKue7#ZF6RUgoG*gO;Q3k{h*i4yKF$ zm47a|(WrZ~F1b-2sxP@wMkF78O1W{)r~*k{i9`Mh6tjM%%X!b}h(0 z>IKHOeTR&0%wMH^i?xriY9nDGXOr_QICbF2_@!-MtSv*0zl04{w$I-(q-@_vnm}$D z%D#rg%=JSl;{)l_DEkzgj(B2I;Fh7$DG51i@j86;EkpSSz4iiMxuXYP zov$9a@zJ&nHNRr^6XaUvWr9c79MwAG!L5&Yy)8rJkVkD-2{=YueQI+#R+GvbIDuP+ zTs_?NQCk~%t0&f$A@aL}A9yCD`IoDBooy0Ih z3yxsR5IYGAQ4(iD-j*TDNoUItb9h=H)%2N?Xr_%T)#i|#n|kGmTZc6A%Z%Q&sZZJ> zIF$NvWUcX0y9?#te>4|^s)?Y2rZzJW+93b)kQ{Fxg3UiUw}R6U(ecY9r(TTY%u`8b za?AyEo8&Z`UkI)rPGH2=16N=&ID$Py>}U*hjk>~*?JoRXyO!frFN^-w;BnYPM3qko zRGPlA1}*eM8ofO(HhgjxV|$xmiw;%x^HiGO<_(pd$dYf-N&W+i1Z?&b$*wv*%~1Y~ zRPsl$X>t;xNI=nykQ?+dMu1)JDw(sBY&PET^zqfjgUe&86 z-PGuzHn*33sBP0q4^-{bq(j5{&7SI#$VX~zGFx;C7l>=#@rB#-_1d3p-^kJzD^)x6 zT;aDek4h?%b$h0Hzt#JCe%5h6-P^L-i5H8ny|(+x`Hx?bQm^sa3r_bGXa%tC91qSSV@LbZe_dECAFzla;=@ZeZ1U z*OzVZ`h<>$OB~t#;NNF^<*703r$(p#%yZ(FcRG%mKjS~G7Zn(va$C8dE_}|Z{n&_ z=L;rRYut0_>pg0J`uyU!vCkD46hFB9(B!rA>txOHQlX@`ixkdZ;L7WY)g0RXiTpjz z9RF-kqme^%WhyfMswxL-XBs^^XYu#$%AWO_1B?FZyJOG1sW&`(;P8l+&;QYJV~x9} zj{g0~!JX@_{BzU!|MV`hZ1(h;mFB*&{-05&7d*J^zD;HN4Ew0n?8nFKUb!$nM_iVg zjT)}IB6o+ID!j4&VE=8ko;coP>3gelKT#}unL$GreZh@4?BxB>$%9Ove?EKnGZ-ut z{qxy2gW1uyfHS6t;H>fWl!S9FhVSHni1uLUvtQqIC12wi9+@R&XN|9)IbN|exVxgA zHEz#xcp15tSx@jh;-gyUE^x~rUhk}t9P+5`F#!jY9<`OBHkV^Hk<%ZXz_UhI56yCI zJ;_)-vCbOF9|V5jFeLLenQn(M!bSlj7Zhzu42>V zG{V`i;4GH%N2oM7H<}pvS7nH^SO$|UIkoqalE}UNUf)0+yrhf+C-5xRFcmh8Vgs*4I#N4Rmhi>?`mgFo8$5|SSQ$ThW zi@v4wEL8!TvskMq%~>o3-Y7YX)%95l_*D?-oyFSvkkbkr!C5Q?UWJ5df#xjM7Z~L% zmhe8|MDkXzsaa$*_5Vlt@4f(gV7gnQ5*rXe}r z(cb1?byRQyt*TDWG?io~#~h~ooYql&ata z8ex~iq?kLdEhl{=Otnn~YV|-~R~)I|?y6<^*b+IN!4V#Dw&$vVsHxT%YG17})C4{k zPFTe6(r|@M0VimNaRU6xHNuvY#t2j3#{z+7?0$uadD+hMm^NZ^@;ogv!sz_#%Ax{V zpfSR}z$iwT@X~+>uE6R}M3J>)iF_z5$1%cguqgtLsYY!CyFXTUdnGK#F~T-!%+D$T z#}sit@^gE%{2T+PHq1hx5nh~<&>{CtF;}R6&Aaj<{T59tnO_K)$kpP08+XnEH|h%Y zl8@rMlWUpZNlcB_xeMIch}Sd1g7X%!mZ8o*J9IJ_(hByEQ8evzDV}z}qSVoxq zd%+K!mNfsAiq|p1md}!~E~+Tq1xIWr@Q4*^H}Ge}aUxczUCs`01V)&hgoTJ$p|+fK zj4*Tfqd@9Wox|VJ%sRK$HizVt$D>FBjj+pcjIiaf78%9}GpPE4=c}0hu&zVyiV;hq zHvi<@1y0amN+-GEV3lOY2>Z!NWrPWC3b4Qkvx8`XJTMz0Yy~=5cZ@LUt>ob!K==_W zxt2~&djZFU{|c1ysn(tmw&9b*CvgajFr(Fa7_BkF(DNi&QX^cxMP@#Fh|PW|@dB!A zSA_gs{Dr2j{D0UqIR$Yz5*T5~--Sa7(nv=!m` z2UomDu4T>@T!K8RbtZy49PxTam>lw`ZH<6qv<;^=mt!@Na{-({BkbyNjIh-c%LtPn zkB!5D)0^fuRPj1S*z#Et)Ia?SR77WYe#G|b)sE@g#Pfi*`a7T_*llV>o|Bpk3K@j zaZ3ZUl`P1X>BdV?i(io~&!pH|kh2{p!~)~VnretnV98X|8DgQf_2FG|B`PjbtjGy0s>vvQ$n97n9Ry_icl+U}kHANk~ zq_hSn(0IBW$9P&!`o@!Ly9m_k9{72eMP)zdL;u_!$ey!?x)rpiyo*_pS`B+$vV?5np z`wBRwyS;*7i^Zzy_^=$uc-o{fKeGfJQ^aB@z_@7n`2(CLn8*W-=fRYOwhe18;4~G@ zc>a3B7iIVwO(L0l1We@WV5hU|R)f1Rn(^%aZLfLcTIOlN0q3aJxe#35XXcp*a>%2$ zEV8W#)V7A&T#nU5P9<;xji;-}F`iaWEaOT3E#L=EOPaq~#p@VP%V$Yg7gZGDL*#AX z{H4ZT0^Pu$2$w+KY#o)e0vv(yw0gdDji=R^Fek>{TMj$CO0sVsa04jmwd5*Kw{2L94>|YTf~Awg9YTQ@236&1wT05t;CRN- zR*sz4!3jFJ>#k`y&R%27Nn^|j{!k#$l!JlxiWO*o9A5;+oaN9Q$Cx8wA5x^;n5&1; zQ~o%~VNK_^SEsYc;wWC&xI?$#7_ z@RCv=oIqplavWoBIsV8}>B*5z9bl}zq}tX3wYmqcpN`Z={8kB@dU8_0kro%q=I)iZBK469_bu!bC(IxtQqGxi&7V z2#h&9{~}aC3pB>u7Z}BuQ>5r2^12gIA|$6g;CzdfMe>eDn(~{;NQt>)w(DGRl)qmZaQmy?G{6RQ@Ls31? zOS=MBgClVK>}U*hs5*`s$8R|tNogHFRc;cfG~o|L3!|aZbLuvHa`NGzEHJ`UIoeZc zwnji@akAt_SUvKE%}Rcyk0XCYD)~RMX>uNie1Q?B{1u*jvo*rV|1m=tVFuGjVvy8$ zKY*Gp=C(tx=b;W>QeFcm&RfxP&3q@LHkJhe9Usw=~C z93yO##{BFMaLf$$J__(ewEW~Ohb{8(HGxL>OiDtVkFGgOPZiAwFJ9f?Extz6O6F1l z6S+Dwwbzy<;QkfO2tR+e#5Qs*^K*g!I;wU41ui!nd8URO@~Ca6fMc{Rr8bviHIY*k z2f#oh?CNohu+9vL_-DSnCkDqhD3TRuy|x~QU*5gf7oz)R$h6?pk@9NtOd z6~awme{cjwn4JWLD8YL(ysZ(Ila3K)4o3*2>ONDVIGWk*O0_v8=O8$NMp)NEb12mq zVas7HGK>*sP~QuZWBS8xixrPS9b>BzdMvGLvJBu%Db%MwsACxR5F^ zuyOz*>P$)}0M0q$db2)0*&qK=|B{5;gqX0*(oP36%Z-j%S2z_|(%Eu0ddg z8LigCXpIp@wA;y&8)5a-2sS%HU{-wjTQ5%~e;S)6X9qX}BMkXlFIVZLd}D--{An4& z2s4k+c!`LFDd812{gib-ay~jIz>4+vq#u+(l^3Xn_J)nbWh$o1*zZTs$axH$pc%#q@Q7=KZGdTvFu`2~0!`;X zf{6L}SI-FBh{-tsj=%`B^Up&Cv_NBoeSuMoFyW#VPu+>}4PB|Ec>&Kcn5LcE^; zB8NO`8!R|*8Ev_!&E;54Vi{rb*Mc83EgAkQ6)*W_TC#kW zgmqCxIT0@KRj~q>+=1pK@bg$4-eeVQgjFYDAwGAFuq{M7MwmH#Sa99fedBRGx`wj9bB4`k2T zPR?#{WJjDvL(mm|ResYy;;5*3u;DBhPvGHj!d{FeEE{gC3L3jkfG@g6*za4Z_AFCi zA;JAxramv;_-u=K2=qLZtq(clzzH_O?EEd_Q2{N`7-3&v6eCRdlyD-8#1gqaEXOgz zZm?epIJz1wiXd2C0&|ZWUU&OFEXOgzHfhXHHo?turii0a0Pc)WQ^YI5X(3p>JytL! zVac&gF^%x-X+zZ3C7M<;e-SW|tAexU_um6%@Lgsn&@JmOT8#fRksw+h>N#TzCa1UTybv{gI>(Y@n*H>gb{W* zyRmvGFv32^F~Z;+V{Bq0d{8|#g7SY6EPguatd=UBIoLEgC19upMws%eA)U#}te6#H zBOk@i05|V3n42YM2WmuaW*_5z5${-!I(SLx1Wuq4b~%m_ww&~hFx3tbsMQnu(<_kr z2qSD$PY$nn%Z@mkhp4Ej))--5tuev`&I%_i!U(&qla~NhJX!Z73iIjx>cMRD=PZe!z zL{gu$wrv(QtqjM{`+@tLoVRFc$ zwlM;Z(KdBdZ$s(`> z4u|)pduenzkAWjFp6FXj&q8+v)^gGqPYUcL5NJC8Lcn=jpJzO6=E(T~9D(tqz?YFQ zEzqpM`U0aEPr?_66Umjbs3H%9K$p#YhTbBF5YE zOlkKZxGSR>&y)sFzCf;J{+D2M8l5Y_eF*V-CW0LDsO=^J$7p+q+FXv+L=Lx<1R77B zH?7Apo>osR<4OJ_;0I1`n*XJW*D;=!&yuh%swjQJ1s?IV2RHC%!*L>>65w)9fFm%T z>?AD2VN7qH@wA+Dj3;v#Cm6G)&m2ZGy#Fd{pQ#T{;2No}h2~JI*^`S}d`h{jMTRk+ zOipV-a?C*Jb+%4=u$MKn@_YtVnB`n_=ExZ7g zp3gL?A4yIMI6()~2#&KA!E(~rb%I9;1e!FyfHXc6D~)}h6&YcsQF9z4?5FYicn1_PY|v9MOkSQr z)7+XIHNR)U5g1|0U!u}L`NjzQ@-u)DW>T&i7$zz0Yq>SGorRow-~<|BHE)zha=~$o zu;rw0gxN|ta<+jZ@OqS5-jiz96n&|l5q7*D={rFWwAs4STBT#N ztx8rp!`N&FbyS@CmHm;nJCJ(MVA-I^`9{Doz3qdE;IoS=iL?g~ba zV}z}qG)9=;_w0aO$k9QSC|uyC7y&!*U!WY?H?Pv=DI2U|oO$Too-p^}zW7 zSEvJxa7+9Gi+4&tNlz7RD?)>zHB0d|npQG-l{tusT(xZ8|DNOE_KaqPyAHT(A-R@0 zR^a1~X`Ma6jqq{gkVkF2(J1Hy%V;}6ZOEHvsI4Y)PJt6>gk3$35w?0_8Da9zfFC$5 zY5qtRuVaKQpCw^kR8exsj@T>;10NYH@I2u-<6?2TfFm%%R?j%s2-`xWV}zMQ-uWI> zYtv`OA?$x#sWyk?ECEMY3(bj9i+Ed$&j9506@FpNaBsts)W2)O2zyfrBhWlY*b2)C z&k<&F)(ets2Gl?3S8uvWwsj{rkOjfm+i8HzM_S zyJ~If$+-ZIY}PGvx2M(^b6>47<^&cLSV2b^FDkn;47>F8lX`63v+3_vP>ne2pfW%nrB;FEHj^|5{sSI=ELwGv*DuPOC?*Wj-g^A#hCV zyb9cio7~7DkJ=^(IH)7F&7d~q%`@g!6FJ|26KKp`J&rNAdSV%K@_z(Ba9Yy*sw!T` z3|c-*!n&xU2zR2{z^ldzT(}d>a&C*oX@hxJV9b3E12lVtZ6VSz=FDMN!6Cx*ncI-V zwXRf~LvrFU7wthB`DJ``n%~(L!J$;MN7!=kQS0^o{pSd$S!-pK@rY93Xjzc87#X*z zGbOVQ?-#_2(s8t;=N8Q8X58%sosY5hj*6B}PCfz0)Z!47@}^nOz}i}n(-D_x1;&%n zYCVqegr53j$&IIaN&}niDY-hVhc)EikS&$`jcl5nE#L@@C*frV^#IOupGyD+N3c*Z3P@t#H=U)uREkE;=|ya#=$wrBp&OZl2Efqg9YLv1d{Y9eP3IDy8~)#DgXt0$K6B>xcjfzy)aH&F39#?$gy64pf(sVYCO4&>!qhX3JrZiC0}F?%%h^ zOb+*+1}*BF-gXeFkMOHD_2guQw+T9!nyzrjOO9E^@spEkC70m*0@LIO{2A5rY=|qc zCgyX25oRA_pg*glz1bQ8PGyRe8sQ2p)KeNL{~pO_uqV3u2h}x0-Gjh5;y`Q z4EdMk^5mPX5k~%n3}J*B%-nEE8SB;*b?}n11)M-5>?e1us;M!;mXp2_rrP}iwYmph zHnwJwJ1=w9+SHSi`#I?m=g!MeMy=KuVPCB=!UPrtP&RgzFka+vhX%X!1#;?u6Et?6 z01K-$nz3sGOtS(@@ZAD|dQ!NvFe07?fu4u55tFkU9DxyL=bwfOXo1EE`vRjFVZx7v z6UjTQql(NsB)A$*u!~$H>;`*%hj=FR2Ue34T{#$m2LV6I$_ z%@H}>!3jKp(EUy4$2ozp`H6J`LH?5xzMD6PZ}XNO|5;fc*bkY{32q+Td=8dzY(8tb z95vfa!-{X3f2An!PJ7haorDYk8Iv7gtQ5hAINjNv{DdD=~4| z)ZcM-mHO_uc(z(cpx%ttJJGj3g?jIl$R?Vc2f@K^8}((>5gXjWop|wb!{Wc!1T4&wY6ms^vpD2m@ayYAPm#BzC_pR?S^5y7Q>hWPEaq1;4s;y z7g&y$YyuYwgqghbM!)Ah+}_x+d1(R8qCc|)y6y;$b2Gt~0-xolIJoZY5a<6#@FxIQ z$B+1B3RgKs;ht9l^Sc5yn4E6~9Fw`jsKE1XprvXReuW~*IUkNQEEZ?j+2FVwJ;PwI zy~MkECJHzv@xzcG{<;&7qZ42F6~^_$UxEU<1I;PmnI+}3awtbF;4c6N7Epr^sS)f1 zYQYqk=Ugxc3FAD|3iAxtcDz7$K3Mc`vdAeEjuX-2T~5=m949W9^QeGhobO@8*4m9r z=cnl3?GP95tOz_K8J&{wK-`Y@9AeSV9=7c&U!Skhm6Lf3R)K?<$oc3tU49(~ZgMoI zzp`Pk&g5F=y@HkHV_Ii2xWf^z=g`R^kJ=s+aE!L$)aG)mCUPc#6X>j6Jv=hh)<*`b zCzkUie-ijXQ?`kBfQr{Sa9ci0!n&xUEDRTT#HooJ_{wk`&SYL8Tuxprx(ci`I|&Oh zOxY%5r7b5NpUWKHAXwKmIUI&&_*+*!sWyk?i~vXARVejsPpVm(_ob#e$iwQ9J{t7E zC3W4Cv`SXmJRHQTWToR(sWZTmI)j=fPW{e;NL$2XA#70O%mXKASx%SGaGc|d<)qmG zL-2eHjzlER6|OBYP*33l29|po-k1VmTPt`hpNRSQ5;ElS=%TDNDY5IrC)C zPPMxQYIRRO-36(yvLnvUI-Xi{lHjX_dgxOV+t1;IHHsyyCKjiI<^U(a zMk^I!4&?SrXPoC2)1Pz-Pn?d|f!syjYy8VWg&sY-_wL@VdzaRI zx^?W`t3vxW6}l!?=+g1=CwjN;*1dglg}#YxlY6&Gtk9T0YKouSm)x^&$9BmH*Cky0 zc+Vc~D)db5&?UKD?~dKO;k_03YI4tJ-p?3JBguYUHOwn8DVyAyq7GhC`hyc_%w3LS z%q=Hv%W;gkO&asFQNS_z>4O5CiI$&! z;B1lHwfKHYLZ4N8YIBx~X3X23$h?QI(L|HkN?`VptM^a7amPq-Z;xio# z4QAjK3$62Za7Q6t&&!ZQ9<{wJ;23SAsLkbAP2|i6C(xL?dK_bJ^~5sfMKclSA~uKQj0Gof4cXgwF_%0bx))vkV$gW+2Q!{&`!tcbKyI zCx^cYKwyMfN6q2!(->jPagyU0VbYg^9&`{iCHzH|kf}GTQ-11GZTcp7lOTKz-Wvz- z3WV=DYzrnw_*657zoO5oy>YS9_$yYr1xDECFpb6tBaM$zliUca=ju^@PKgm#U0bE$ zRH`)WWz*!`501bHQ~oKH2Ff=^*vQ|TA&fAC=^ZL5b$hrqMIF4Pi~}do2z$u|heD2#hc~f8D{TfEH+surDx* z5hncQa3WugC30COf_Cbuw`OZ^~bOr#|Yb`F+Udt95a!ZK>=QimY>1k zl*R!eaD{qFN*GUI$r~qTT?tAM-F+^_KkpJw6&%-mt!@N!{2lhXoOuojuEzcVi{rbuL3`CTGIS^ zDqhD3TRuy|x~QV?X+Q$w!=fmg{@V>2sA6pesTZ(m1V|qwQR3~ zN(}ndS~tnIj^tbmj=)g+9OlFrYRh4VS4sBm16GzvFDq9$w$X&;^`O#o3zkmK%>s_@ zQp@Y1a=gLL^Ut<&4jJf6bBP-h05volTEYay6c%d#*AF&W@Q%}wV;K*j( z<-LbDF=~x5_thF>PGIM7!niZTOQS1n7&t*=*9mZdYs@Vt%?dRIP7w$+lfnQ*`~U=c z#@t3sPB!eO5EyfG{tFMF0$QLk=Dxrv#+>l001xsJj>t~2M2c=<)t!;Sc5?6Pbc5|7 z&||963Bf)atE!{IavWoBlg9ik5^zj@o<&@|K$E73qriDjV4{z0Oi6et=b7I0c+rgc zvekDV;cGO}WG2E81(|*1YU5qMC%p`ApJ>MXNP{_}$+gU;5|gEM_5qh$i9C}<4tdnp zUcfQhUZFOZV>OZUGB|<8+|@%LQ5(|)_QzR0v5YzSZ-5^-EouH}6|Z9kEuSS}T~tv% z3>Wz5Sb?t%$Ke^XR|q$O1>qnB#+;pmg?QC9=9ZI=F=r017nl^&w_imw5qHMg9Fo%k zoWK=oT?@@&EzAnF<**jUGyeOAnnCqPP(g}b?eSsh1>N!j3R4IDCsp=cQRYnUD zcVgN!l5<36gsJjVPo-I*hRQKy$&Ijj&L5lQBgz5~v%Y*@==4rB(Bx4zO%AVC3yd)3 zpYi0I6>1~@XofJt3`X(@GBY$#(@Oo^p64coPB732d&vdIF~XLUz7eKcZeI^7p&oCQ z`XTkrT(vg!YFs=cdk&BH|I?cpl0|Og*jP#RNteoxhUS!$6G@_5+P#gbD8~F?zZaQRL)UA}5FC zI4jg{u#-v#2{W%R zT?B`Ns7APVms*(9v=JurCjk?=I+Cx&_vgVa8qEklJUKZBxirFL<`f(jjn1OrUO>E_ z|00Jxa;^|?jJ6BZ=5nkia=26#XoPj%v>wL@TRpLiF!{HEA2=;({!J=g#|T?KOTxOS z1hx(rc*Fw^-N2s+$EhAGfh)if7-4o27NWXqgsq-*j4*S!S0L5&ndk3qw z^xY1nr_shm1RGcRHqLF zw-+Q^&r2uEqf4wqvc1y>TS{`egyZaq#aRopAy}bi*P@<1%ETFC4m~*;tk{?zRL>ox z`~w1yWAeKPP4h78_PM!inw)EJcoZ0O%5UMxH^$t^pPM0!IfJ=Xa;(<_h)Fr-))aN{ zlF|*FKx6K59Aj=d=^JyZ9WGF7dh#)({&!ccO+7hNz!4q+e^*gE#@ttHj5&cz!wI_> zOBipb3z`F*057VcVGODyOo&rZ;%-Q+RpaNQ;G3LI& zD8`)dmqUsCAv?0@ojtfBKMTuojJeA>A>in0{E!{N{vE5TnTCqaCy_M6ag4c58uL?8 zz%et}-(cm4mY=EM49Aw(Kx2Li&j@@e`3-u!Xe-oNAFMHsuhB%4nOm^xja;2-lC}MA za3@AH=AYd2+ymrV=5>NCAIG%LiQq;&_KFt#N{E>A592 z+rpPRMEnLWTMKfy!Bb#7QB%X=Vc!@}aGEn?a^tC_ZLHSiw8YtfwPa}VPhA^HCrmkd}T=iU)lx0YYcT$2ncuDC1PN4C0IgatPob-(+ z)%FmmH9c?{QXjE?ZBtLqRB&W7e20E0<1*#%%!;tD))-F$XND6t$W5awY$G@VE5NJC8Aiy_4py%mq#N-HX-lM=xo0E13UnZLG2bK$MlCCwJ-MOO_<(< zX7f)DtyIuqN+-E@Ta{!c$E=U|$w{?FO7Jm&1$LhuL<^*iFm~Sxbh7R&cawff9{zU- zzgMjAe-m&__`RSs;`wYgeCjEJWhQ|UX0%$5V}udy-DJs)uzHFGo2`Im0}msrYxjoy zKZ+m?-dPWtOk~sKbO%SU0t@+n6jAAPjIfapPn7|lV!>cWgiFdKw{N&fSqx5~5%!Zi zNjW%k^Pc6TZ-l9Kn?S7|$bU>i>R)!%+SHS?3mn-Ir}xV!qgHE-u&>q_VFJGkCyZ-6 z?hL~&ok&hytoa4aFiwCIT_bD*Ok;!zZXsAqG-G!nB7PqNJr89gCg*i<1S_!Y{O_Xz zTA(q)zQ8C(nD7t7iCh~?|{G)gN?D7>n_}et+=JHXPqedTV*c*G<|w@@{0@J1AQ^ zIc)_To$--(Bjen`;2B4oadM`C6LfHo;5b_>EGNwhHNhVU1e&hJKp%@0XfG_Z1RHZz z4$X0lITCg^Maqr2da4HH4-~BLn7llO{PMcGo8Q;jG&w(j6Ku?t{NGg?9Aj?ezn&qC zIfMBlR8nR<<<=B+@RCvp&NRrF`^g1|NioLUa?&^ERC}$+|1$M6o$>jWMS{$)*xh zpW%pjBm{cK+(t}J4v{fe6&Q&M3|E;m#@rVe#h4RbNMNWPkyB%dyd^BhG3IWt%>*1% zjj0Hh8@=6`ofFmTjH^pnj$_Pi(#RPg;F$c3KoQ@HmYzkpwZ3tHQx+a-n1V2h}!x>wAB;Kn3FHLr&#kl zKdw}pLvpy+FKC52fHb%*>W5<=}&_$IJ$y9{4&sIqNd(FZ0Y1Y8;-+=!$jo_7H~`&mrxTp zo|Cj`q@KlCXb~7;8y6ok<89SITr0?u8)5Yn3pTq}u)gESza^FYrfiy=oX?AlFy-HZ zvS|5ctA>$}K9d1fs2NN#1QXQ9oTRLA`v&UZC1oTyfks#zvpTSEtZ|L7<)m+fsrEI2 zT75(tz6Pn^M%Y(tj4*+3hZA-rmauDwiHtD&76Uw@(r9KX z8(Iu5)2IjuEy=BPaiGaS@NA0K7z)rih<|^QvGq`Ri*_ z5?bH3b0j@gG$TB&bDQjZji!~%l2{oO7~yL_s8;lDa7RTm!jHBaG>+W=kG(U2*Qxs3 z{(T(dEg36{3=xIHF&sna5Q&J$5J`q(o*kT|Bn?88lvGrt_#;E53`I#14dx+Ks8A`1 z{u18nTEpJ!K4lgU^a2#IWatdK4kV{7_jIb`mA`EYi5!Recj4*R}oyBaO>f4Ku zLq6%nk*ae@&I90BSUXDXk3J)%Dr@IT^|E%PKM49R6p26Bfjrmt#;9Z>)Y@LH5+BPt zHao-2DWiPBx)$4;Bad9_<`_mDB{{EKaMb=guItU)n}g$w!@3saL}6epj3;X(Pr{a)@LZ- z{B|41v*`MeGYuRI<4J+Hq5@K&GM=tL593Mr!f+xx`-wapmSY%CGuU{GQ&rX7IwRO& zepM|OmSY%CoiygBtp!IOuC@SyV%QkmZ;aWH@TW=vldV3Tnug=#Os&{a>%2$b9M(VYRf}y zCP!-`hhOa!Xgp=!q#na~YCV3&ll(^D2M$Y;zd^)n7*EY-Nmv(AlvWmZ2B@Mia9-4P z5@-hACLHHWKh7d>ER3fv#FwV=)Os>8p3LED3#qEle2Ew%q+bq>in1&(DcB*&)~ zak>^4Erh9BltnFeo5FPL6c)iO_8LI>qde>T>A!hT1-M%TNMUMegbpw(%m_1<+;&$8 z*dLIS{v7Zf_hIIwA~+Uj2`-1nb9I)WIY_7W@x}x&RaOT*=%6e!-oLYxaWxy{W<1@z zHNkZ)!dKt{0M|wMjxpC@a_U=fRM)DDG!F1fV=o*xEsQzSC^<}{x_J+2>_bhq#=Ocs z;;9joKiKAQErz}ROheyvX&B3<$yo`Gg)yi6z9J2juZ+2pKQ>Dka|UB`gT2u=PM9@C z9h{_anP{LfcawWUI7(&AH79dpPPIQsyaW5h%Z8*g)wL6zlaJvE9$I_xhv4am=nG&l*m&>{6zj0mSY%mGuU{$d42?YstAJRnpw}P zUK^HU7;~L8=BJ7UM-_28G+p79pKriP!ayEq%O zV4~;NpFHusX5gOpGUm5^`R6clHS;rz1I{6-^E|km335ypIpk5>9t)1r)|}c*j@Cp@ z1gGDD#@y6n7;~-1&zO^+!)Crf@QYj_;x){m=F?xWW}+x1?B)wt6a-#`9mYwZ8Mw`y zmYcvL*ZOgI1>M4!YdzPR#$4;k#F#UO≻k`%IB*5q63xRp*eLukC9gIX<-z#+<-? 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 From 02ca8048deed5074ee8d48ecb4baa7d560b4cfae Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Mon, 14 Oct 2024 07:58:14 -0700 Subject: [PATCH 15/16] fix: merge. --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 87af65baf..dbc9697a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13536,7 +13536,7 @@ version = "0.0.2" dependencies = [ "anyhow", "bcs 0.1.4", - "clap 4.5.19", + "clap 4.5.20", "console-subscriber", "dot-movement", "futures", @@ -13556,7 +13556,7 @@ dependencies = [ "syncup", "tokio", "tokio-stream", - "tonic 0.11.0", + "tonic 0.12.3", "tracing", "tracing-subscriber 0.3.18", "zstd 0.13.2", From fe09f1cc23abc40705b74fd7706ca83b1d355036 Mon Sep 17 00:00:00 2001 From: Liam Monninger Date: Fri, 18 Oct 2024 10:27:22 -0700 Subject: [PATCH 16/16] fix: remove trailing space. --- .github/workflows/checks-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/checks-all.yml b/.github/workflows/checks-all.yml index 820447a1d..9e8bbc38d 100755 --- a/.github/workflows/checks-all.yml +++ b/.github/workflows/checks-all.yml @@ -68,7 +68,7 @@ jobs: -p maptos-opt-executor \ -p memseq \ -p move-rocks \ - -p movement-types \ + -p movement-types \ -p suzuka-config EOF