diff --git a/coverage.html b/coverage.html index 61354b4e..10dd9330 100644 --- a/coverage.html +++ b/coverage.html @@ -118,7 +118,7 @@

Enum tor_interface::legacy_tor_version::Error

source ·
pub enum Error {
     ParseError(String),
 }
Expand description

LegacyTorVersion-specific error type

-

Variants§

§

ParseError(String)

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

ParseError(String)

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( diff --git a/crates/tor_interface/mock_tor_client/enum.Error.html b/crates/tor_interface/mock_tor_client/enum.Error.html index 7d7d513c..8f1a9db9 100644 --- a/crates/tor_interface/mock_tor_client/enum.Error.html +++ b/crates/tor_interface/mock_tor_client/enum.Error.html @@ -10,7 +10,7 @@ ConnectFailed(TargetAddr), NotImplemented(), }
Expand description

MockTorClient-specific error type

-

Variants§

§

ClientNotBootstrapped()

§

ClientAlreadyBootstrapped()

§

OnionServiceNotFound(OnionAddr)

§

OnionServiceNotPublished(OnionAddr)

§

OnionServiceRequiresOnionAuth()

§

OnionServiceAuthInvalid()

§

TcpListenerBindFailed(Error)

§

TcpListenerLocalAddrFailed(Error)

§

ConnectFailed(TargetAddr)

§

NotImplemented()

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for Error

source§

fn from(error: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

ClientNotBootstrapped()

§

ClientAlreadyBootstrapped()

§

OnionServiceNotFound(OnionAddr)

§

OnionServiceNotPublished(OnionAddr)

§

OnionServiceRequiresOnionAuth()

§

OnionServiceAuthInvalid()

§

TcpListenerBindFailed(Error)

§

TcpListenerLocalAddrFailed(Error)

§

ConnectFailed(TargetAddr)

§

NotImplemented()

Trait Implementations§

source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for Error

source§

fn from(error: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( diff --git a/crates/tor_interface/proxy/enum.ProxyConfig.html b/crates/tor_interface/proxy/enum.ProxyConfig.html index 7bb7a5ed..98ef216f 100644 --- a/crates/tor_interface/proxy/enum.ProxyConfig.html +++ b/crates/tor_interface/proxy/enum.ProxyConfig.html @@ -6,7 +6,7 @@

Variants§

§

Socks4(Socks4ProxyConfig)

A SOCKS4 proxy

§

Socks5(Socks5ProxyConfig)

A SOCKS5 proxy

§

Https(HttpsProxyConfig)

An HTTP CONNECT proxy

-

Trait Implementations§

source§

impl Clone for ProxyConfig

source§

fn clone(&self) -> ProxyConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProxyConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<HttpsProxyConfig> for ProxyConfig

source§

fn from(config: HttpsProxyConfig) -> Self

Converts to this type from the input type.
source§

impl From<Socks4ProxyConfig> for ProxyConfig

source§

fn from(config: Socks4ProxyConfig) -> Self

Converts to this type from the input type.
source§

impl From<Socks5ProxyConfig> for ProxyConfig

source§

fn from(config: Socks5ProxyConfig) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for ProxyConfig

source§

fn clone(&self) -> ProxyConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProxyConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<HttpsProxyConfig> for ProxyConfig

source§

fn from(config: HttpsProxyConfig) -> Self

Converts to this type from the input type.
source§

impl From<Socks4ProxyConfig> for ProxyConfig

source§

fn from(config: Socks4ProxyConfig) -> Self

Converts to this type from the input type.
source§

impl From<Socks5ProxyConfig> for ProxyConfig

source§

fn from(config: Socks5ProxyConfig) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( diff --git a/crates/tor_interface/proxy/enum.ProxyConfigError.html b/crates/tor_interface/proxy/enum.ProxyConfigError.html index 2e60ba2f..b61a46da 100644 --- a/crates/tor_interface/proxy/enum.ProxyConfigError.html +++ b/crates/tor_interface/proxy/enum.ProxyConfigError.html @@ -2,7 +2,7 @@ Generic(String), }
Expand description

Error type for the proxy module

Variants§

§

Generic(String)

An error returned when constructing a proxy configuration with invalid parameters

-

Trait Implementations§

source§

impl Debug for ProxyConfigError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ProxyConfigError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ProxyConfigError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for ProxyConfigError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ProxyConfigError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ProxyConfigError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( diff --git a/crates/tor_interface/tor_crypto/enum.SignBit.html b/crates/tor_interface/tor_crypto/enum.SignBit.html index c7f445ee..46527642 100644 --- a/crates/tor_interface/tor_crypto/enum.SignBit.html +++ b/crates/tor_interface/tor_crypto/enum.SignBit.html @@ -2,7 +2,7 @@ Zero, One, }
Expand description

An enum representing a single bit

-

Variants§

§

Zero

§

One

Trait Implementations§

source§

impl Clone for SignBit

source§

fn clone(&self) -> SignBit

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl From<SignBit> for bool

source§

fn from(signbit: SignBit) -> Self

Converts to this type from the input type.
source§

impl From<SignBit> for u8

source§

fn from(signbit: SignBit) -> Self

Converts to this type from the input type.
source§

impl From<bool> for SignBit

source§

fn from(signbit: bool) -> Self

Converts to this type from the input type.
source§

impl Copy for SignBit

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

Zero

§

One

Trait Implementations§

source§

impl Clone for SignBit

source§

fn clone(&self) -> SignBit

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl From<SignBit> for bool

source§

fn from(signbit: SignBit) -> Self

Converts to this type from the input type.
source§

impl From<SignBit> for u8

source§

fn from(signbit: SignBit) -> Self

Converts to this type from the input type.
source§

impl From<bool> for SignBit

source§

fn from(signbit: bool) -> Self

Converts to this type from the input type.
source§

impl Copy for SignBit

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( diff --git a/crates/tor_interface/tor_crypto/struct.V3OnionServiceId.html b/crates/tor_interface/tor_crypto/struct.V3OnionServiceId.html index 415df0b0..d7f04cb7 100644 --- a/crates/tor_interface/tor_crypto/struct.V3OnionServiceId.html +++ b/crates/tor_interface/tor_crypto/struct.V3OnionServiceId.html @@ -16,7 +16,7 @@

source

pub fn from_private_key(private_key: &Ed25519PrivateKey) -> V3OnionServiceId

Create a V3OnionServiceId from an Ed25519PrivateKey.

source

pub fn is_valid(service_id: &str) -> bool

Determine if the provided string is a valid representation of a V3OnionServiceId

source

pub fn as_bytes(&self) -> &[u8; 56]

View this service id as an array of bytes

-

Trait Implementations§

source§

impl Clone for V3OnionServiceId

source§

fn clone(&self) -> V3OnionServiceId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for V3OnionServiceId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for V3OnionServiceId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for V3OnionServiceId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for V3OnionServiceId

source§

fn clone(&self) -> V3OnionServiceId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for V3OnionServiceId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for V3OnionServiceId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for V3OnionServiceId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for V3OnionServiceId

source§

fn cmp(&self, other: &V3OnionServiceId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where diff --git a/crates/tor_interface/tor_provider/enum.OnionAddr.html b/crates/tor_interface/tor_provider/enum.OnionAddr.html index 330e8dc7..212631b0 100644 --- a/crates/tor_interface/tor_provider/enum.OnionAddr.html +++ b/crates/tor_interface/tor_provider/enum.OnionAddr.html @@ -1,7 +1,7 @@ OnionAddr in tor_interface::tor_provider - Rust

Enum tor_interface::tor_provider::OnionAddr

source ·
pub enum OnionAddr {
     V3(OnionAddrV3),
 }
Expand description

An onion service address analog to std::net::SocketAddr

-

Variants§

Trait Implementations§

source§

impl Clone for OnionAddr

source§

fn clone(&self) -> OnionAddr

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OnionAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for OnionAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromStr for OnionAddr

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for OnionAddr

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Variants§

Trait Implementations§

source§

impl Clone for OnionAddr

source§

fn clone(&self) -> OnionAddr

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OnionAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for OnionAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromStr for OnionAddr

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for OnionAddr

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for OnionAddr

source§

fn cmp(&self, other: &OnionAddr) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where diff --git a/crates/tor_interface/tor_provider/struct.DomainAddr.html b/crates/tor_interface/tor_provider/struct.DomainAddr.html index 9093e21e..c541ef98 100644 --- a/crates/tor_interface/tor_provider/struct.DomainAddr.html +++ b/crates/tor_interface/tor_provider/struct.DomainAddr.html @@ -3,7 +3,7 @@

Implementations§

source§

impl DomainAddr

A DomainAddr has a domain name (scuh as www.example.com) and a port

source

pub fn domain(&self) -> &str

Returns the domain name associated with this domain address.

source

pub fn port(&self) -> u16

Returns the port number associated with this domain address.

-

Trait Implementations§

source§

impl Clone for DomainAddr

source§

fn clone(&self) -> DomainAddr

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DomainAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for DomainAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromStr for DomainAddr

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for DomainAddr

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for DomainAddr

source§

fn clone(&self) -> DomainAddr

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DomainAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for DomainAddr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromStr for DomainAddr

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for DomainAddr

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for DomainAddr

source§

fn cmp(&self, other: &DomainAddr) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where diff --git a/crates/type.impl/std/primitive.usize.js b/crates/type.impl/std/primitive.usize.js index da014e4e..ef01c053 100644 --- a/crates/type.impl/std/primitive.usize.js +++ b/crates/type.impl/std/primitive.usize.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"gosling":[["
§

impl<T> Accumulate<T> for usize

§

fn initial(_capacity: Option<usize>) -> usize

Create a new Extend of the correct type
§

fn accumulate(&mut self, _acc: T)

Accumulate the input into an accumulator
","Accumulate","gosling::context::HandshakeHandle"],["
source§

impl<'a> Add<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: &BigInt) -> BigInt

Performs the + operation. Read more
","Add<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Add<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: &BigUint) -> BigUint

Performs the + operation. Read more
","Add<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Add<&usize> for usize

§

type Output = <usize as Add>::Output

The resulting type after applying the + operator.
source§

fn add(self, other: &usize) -> <usize as Add>::Output

Performs the + operation. Read more
","Add<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Add<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: BigInt) -> BigInt

Performs the + operation. Read more
","Add","gosling::context::HandshakeHandle"],["
source§

impl Add<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: BigUint) -> BigUint

Performs the + operation. Read more
","Add","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Add for usize

§

type Output = usize

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> usize

Performs the + operation. Read more
","Add","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl AddAssign<&usize> for usize

source§

fn add_assign(&mut self, other: &usize)

Performs the += operation. Read more
","AddAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl AddAssign for usize

source§

fn add_assign(&mut self, other: usize)

Performs the += operation. Read more
","AddAssign","gosling::context::HandshakeHandle"],["
§

impl AsAny for usize

§

fn as_any(&self) -> &(dyn Any + 'static)

Returns thick pointer of &dyn Any type, that can be later downcasted\nback to a reference of the original type.
","AsAny","gosling::context::HandshakeHandle"],["
§

impl AsBytes for usize

§

fn as_bytes(&self) -> &[u8]

Gets the bytes of this value. Read more
§

fn as_bytes_mut(&mut self) -> &mut [u8]
where\n Self: FromBytes,

Gets the bytes of this value mutably. Read more
§

fn write_to(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to bytes. Read more
§

fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the prefix of bytes. Read more
§

fn write_to_suffix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the suffix of bytes. Read more
","AsBytes","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<f32> for usize

source§

fn as_(self) -> f32

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<f64> for usize

source§

fn as_(self) -> f64

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i128> for usize

source§

fn as_(self) -> i128

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i16> for usize

source§

fn as_(self) -> i16

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i32> for usize

source§

fn as_(self) -> i32

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i64> for usize

source§

fn as_(self) -> i64

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i8> for usize

source§

fn as_(self) -> i8

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<isize> for usize

source§

fn as_(self) -> isize

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u128> for usize

source§

fn as_(self) -> u128

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u16> for usize

source§

fn as_(self) -> u16

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u32> for usize

source§

fn as_(self) -> u32

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u64> for usize

source§

fn as_(self) -> u64

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u8> for usize

source§

fn as_(self) -> u8

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<usize> for usize

source§

fn as_(self) -> usize

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Binary for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Binary","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitAnd<&usize> for usize

§

type Output = <usize as BitAnd>::Output

The resulting type after applying the & operator.
source§

fn bitand(self, other: &usize) -> <usize as BitAnd>::Output

Performs the & operation. Read more
","BitAnd<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitAnd for usize

§

type Output = usize

The resulting type after applying the & operator.
source§

fn bitand(self, rhs: usize) -> usize

Performs the & operation. Read more
","BitAnd","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl BitAndAssign<&usize> for usize

source§

fn bitand_assign(&mut self, other: &usize)

Performs the &= operation. Read more
","BitAndAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl BitAndAssign for usize

source§

fn bitand_assign(&mut self, other: usize)

Performs the &= operation. Read more
","BitAndAssign","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitOr<&usize> for usize

§

type Output = <usize as BitOr>::Output

The resulting type after applying the | operator.
source§

fn bitor(self, other: &usize) -> <usize as BitOr>::Output

Performs the | operation. Read more
","BitOr<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitOr for usize

§

type Output = usize

The resulting type after applying the | operator.
source§

fn bitor(self, rhs: usize) -> usize

Performs the | operation. Read more
","BitOr","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl BitOrAssign<&usize> for usize

source§

fn bitor_assign(&mut self, other: &usize)

Performs the |= operation. Read more
","BitOrAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl BitOrAssign for usize

source§

fn bitor_assign(&mut self, other: usize)

Performs the |= operation. Read more
","BitOrAssign","gosling::context::HandshakeHandle"],["
§

impl BitRegister for usize

§

const ALL: usize = 18_446_744_073_709_551_615usize

The literal !0.
§

const INDX: u8 = _

The number of bits required to store an index in the range 0 .. BITS.
§

const MASK: u8 = _

A mask over all bits that can be used as an index within the element.\nThis is the value with the least significant INDX-many bits set high.
","BitRegister","gosling::context::HandshakeHandle"],["
§

impl<'a, T, O> BitSliceIndex<'a, T, O> for usize
where\n T: BitStore,\n O: BitOrder,

§

type Immut = BitRef<'a, Const, T, O>

The output type of immutable access.
§

type Mut = BitRef<'a, Mut, T, O>

The output type of mutable access.
§

fn get(\n self,\n bits: &'a BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Immut>

Immutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

fn get_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Mut>

Mutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

unsafe fn get_unchecked(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice without doing any bounds checking. Read more
§

unsafe fn get_unchecked_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice without doing any bounds checking. Read more
§

fn index(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice, panicking if self is out of\nbounds. Read more
§

fn index_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice, panicking if self is out of bounds. Read more
","BitSliceIndex<'a, T, O>","gosling::context::HandshakeHandle"],["
§

impl BitStore for usize

§

type Access = Cell<usize>

The unsigned integers will only be BitStore type parameters\nfor handles to unaliased memory, following the normal Rust\nreference rules.

\n
§

type Mem = usize

The element type used in the memory region underlying a BitSlice. It\nis always one of the unsigned integer fundamentals.
§

type Alias = BitSafeUsize

A sibling BitStore implementor that is known to be alias-safe. It is\nused when a BitSlice introduces multiple handles that view the same\nmemory location, and at least one of them has write capabilities to it.\nIt must have the same underlying memory type, and can only change access\npatterns or public-facing usage.
§

type Unalias = usize

The inverse of ::Alias. It is used when a BitSlice removes the\nconditions that required a T -> T::Alias transition.
§

const ZERO: usize = 0usize

The zero constant.
§

fn new(value: <usize as BitStore>::Mem) -> usize

Wraps a raw memory value as a BitStore type.
§

fn load_value(&self) -> <usize as BitStore>::Mem

Loads a value out of the memory system according to the ::Access\nrules. This may be called when the value is aliased by a write-capable\nreference.
§

fn store_value(&mut self, value: <usize as BitStore>::Mem)

Stores a value into the memory system. This is only called when there\nare no other handles to the value, and it may bypass ::Access\nconstraints.
§

const ALIGNED_TO_SIZE: [(); 1] = _

All implementors are required to have their alignment match their size. Read more
§

const ALIAS_WIDTH: [(); 1] = _

All implementors are required to have Self and Self::Alias be equal\nin representation. This is true by fiat for all types except the\nunsigned integers. Read more
§

fn get_bit<O>(&self, index: BitIdx<Self::Mem>) -> bool
where\n O: BitOrder,

Reads a single bit out of the memory system according to the ::Access\nrules. This is lifted from BitAccess so that it can be used\nelsewhere without additional casts. Read more
","BitStore","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitXor<&usize> for usize

§

type Output = <usize as BitXor>::Output

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: &usize) -> <usize as BitXor>::Output

Performs the ^ operation. Read more
","BitXor<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitXor for usize

§

type Output = usize

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: usize) -> usize

Performs the ^ operation. Read more
","BitXor","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl BitXorAssign<&usize> for usize

source§

fn bitxor_assign(&mut self, other: &usize)

Performs the ^= operation. Read more
","BitXorAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl BitXorAssign for usize

source§

fn bitxor_assign(&mut self, other: usize)

Performs the ^= operation. Read more
","BitXorAssign","gosling::context::HandshakeHandle"],["
§

impl Bits for usize

§

const EMPTY: usize = 0usize

A value with all bits unset.
§

const ALL: usize = 18_446_744_073_709_551_615usize

A value with all bits set.
","Bits","gosling::context::HandshakeHandle"],["
source§

impl Bounded for usize

source§

fn min_value() -> usize

Returns the smallest finite number this type can represent
source§

fn max_value() -> usize

Returns the largest finite number this type can represent
","Bounded","gosling::context::HandshakeHandle"],["
§

impl CastSigned for usize

§

type Signed = isize

The signed integer type with the same size as Self.
§

fn cast_signed(self) -> <usize as CastSigned>::Signed

Cast an integer to the signed integer of the same size.
","CastSigned","gosling::context::HandshakeHandle"],["
§

impl CastUnsigned for usize

§

type Unsigned = usize

The unsigned integer type with the same size as Self.
§

fn cast_unsigned(self) -> <usize as CastUnsigned>::Unsigned

Cast an integer to the unsigned integer of the same size.
","CastUnsigned","gosling::context::HandshakeHandle"],["
source§

impl CheckedAdd for usize

source§

fn checked_add(&self, v: &usize) -> Option<usize>

Adds two numbers, checking for overflow. If overflow happens, None is\nreturned.
","CheckedAdd","gosling::context::HandshakeHandle"],["
source§

impl CheckedDiv for usize

source§

fn checked_div(&self, v: &usize) -> Option<usize>

Divides two numbers, checking for underflow, overflow and division by\nzero. If any of that happens, None is returned.
","CheckedDiv","gosling::context::HandshakeHandle"],["
source§

impl CheckedEuclid for usize

source§

fn checked_div_euclid(&self, v: &usize) -> Option<usize>

Performs euclid division that returns None instead of panicking on division by zero\nand instead of wrapping around on underflow and overflow.
source§

fn checked_rem_euclid(&self, v: &usize) -> Option<usize>

Finds the euclid remainder of dividing two numbers, checking for underflow, overflow and\ndivision by zero. If any of that happens, None is returned.
source§

fn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>

Returns both the quotient and remainder from checked Euclidean division. Read more
","CheckedEuclid","gosling::context::HandshakeHandle"],["
source§

impl CheckedMul for usize

source§

fn checked_mul(&self, v: &usize) -> Option<usize>

Multiplies two numbers, checking for underflow or overflow. If underflow\nor overflow happens, None is returned.
","CheckedMul","gosling::context::HandshakeHandle"],["
source§

impl CheckedNeg for usize

source§

fn checked_neg(&self) -> Option<usize>

Negates a number, returning None for results that can’t be represented, like signed MIN\nvalues that can’t be positive, or non-zero unsigned values that can’t be negative. Read more
","CheckedNeg","gosling::context::HandshakeHandle"],["
source§

impl CheckedRem for usize

source§

fn checked_rem(&self, v: &usize) -> Option<usize>

Finds the remainder of dividing two numbers, checking for underflow, overflow and division\nby zero. If any of that happens, None is returned. Read more
","CheckedRem","gosling::context::HandshakeHandle"],["
source§

impl CheckedShl for usize

source§

fn checked_shl(&self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShl","gosling::context::HandshakeHandle"],["
source§

impl CheckedShr for usize

source§

fn checked_shr(&self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShr","gosling::context::HandshakeHandle"],["
source§

impl CheckedSub for usize

source§

fn checked_sub(&self, v: &usize) -> Option<usize>

Subtracts two numbers, checking for underflow. If underflow happens,\nNone is returned.
","CheckedSub","gosling::context::HandshakeHandle"],["
§

impl<T> CheckedSum<usize> for T
where\n T: IntoIterator<Item = usize>,

§

fn checked_sum(self) -> Result<usize, Error>

Iterate over the values of this type, computing a checked sum. Read more
","CheckedSum","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Clone for usize

source§

fn clone(&self) -> usize

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","gosling::context::HandshakeHandle"],["
source§

impl ConstOne for usize

source§

const ONE: usize = 1usize

The multiplicative identity element of Self, 1.
","ConstOne","gosling::context::HandshakeHandle"],["
source§

impl ConstZero for usize

source§

const ZERO: usize = 0usize

The additive identity element of Self, 0.
","ConstZero","gosling::context::HandshakeHandle"],["
source§

impl ConstantTimeEq for usize

source§

fn ct_eq(&self, other: &usize) -> Choice

Determine if two items are equal. Read more
source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
","ConstantTimeEq","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Debug for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","gosling::context::HandshakeHandle"],["
§

impl Decode for usize

Decode a usize.

\n

Uses [Decode] impl on u32 and then converts to a usize, handling\npotential overflow if usize is smaller than u32.

\n

Enforces a library-internal limit of 1048575, as the main use case for\nusize is length prefixes.

\n
§

type Error = Error

Type returned in the event of a decoding error.
§

fn decode(reader: &mut impl Reader) -> Result<usize, Error>

Attempt to decode a value of this type using the provided [Reader].
","Decode","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Default for usize

source§

fn default() -> usize

Returns the default value of 0

\n
","Default","gosling::context::HandshakeHandle"],["
source§

impl<'de> Deserialize<'de> for usize

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<usize, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Display for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","gosling::context::HandshakeHandle"],["
source§

impl<'a> Div<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: &BigInt) -> BigInt

Performs the / operation. Read more
","Div<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Div<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: &BigUint) -> BigUint

Performs the / operation. Read more
","Div<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Div<&usize> for usize

§

type Output = <usize as Div>::Output

The resulting type after applying the / operator.
source§

fn div(self, other: &usize) -> <usize as Div>::Output

Performs the / operation. Read more
","Div<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Div<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: BigInt) -> BigInt

Performs the / operation. Read more
","Div","gosling::context::HandshakeHandle"],["
source§

impl Div<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: BigUint) -> BigUint

Performs the / operation. Read more
","Div","gosling::context::HandshakeHandle"],["
1.51.0 · source§

impl Div<NonZero<usize>> for usize

source§

fn div(self, other: NonZero<usize>) -> usize

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the / operator.
","Div>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Div for usize

This operation rounds towards zero, truncating any\nfractional part of the exact result.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the / operator.
source§

fn div(self, other: usize) -> usize

Performs the / operation. Read more
","Div","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl DivAssign<&usize> for usize

source§

fn div_assign(&mut self, other: &usize)

Performs the /= operation. Read more
","DivAssign<&usize>","gosling::context::HandshakeHandle"],["
1.79.0 · source§

impl DivAssign<NonZero<usize>> for usize

source§

fn div_assign(&mut self, other: NonZero<usize>)

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
","DivAssign>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl DivAssign for usize

source§

fn div_assign(&mut self, other: usize)

Performs the /= operation. Read more
","DivAssign","gosling::context::HandshakeHandle"],["
§

impl Encode for usize

Encode a usize as a uint32 as described in RFC4251 § 5.

\n

Uses [Encode] impl on u32 after converting from a usize, handling\npotential overflow if usize is bigger than u32.

\n
§

fn encoded_len(&self) -> Result<usize, Error>

Get the length of this type encoded in bytes, prior to Base64 encoding.
§

fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value using the provided [Writer].
§

fn encoded_len_prefixed(&self) -> Result<usize, Error>

Return the length of this type after encoding when prepended with a\nuint32 length prefix.
§

fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value, first prepending a uint32 length prefix\nset to [Encode::encoded_len].
","Encode","gosling::context::HandshakeHandle"],["
source§

impl Euclid for usize

source§

fn div_euclid(&self, v: &usize) -> usize

Calculates Euclidean division, the matching method for rem_euclid. Read more
source§

fn rem_euclid(&self, v: &usize) -> usize

Calculates the least nonnegative remainder of self (mod v). Read more
source§

fn div_rem_euclid(&self, v: &Self) -> (Self, Self)

Returns both the quotient and remainder from Euclidean division. Read more
","Euclid","gosling::context::HandshakeHandle"],["
source§

impl FmtConst for usize

source§

fn fmt_const(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Print a const expression representing this value.
","FmtConst","gosling::context::HandshakeHandle"],["
source§

impl From<Alignment> for usize

source§

fn from(align: Alignment) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<ByteQty> for usize

§

fn from(value: ByteQty) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<HopNum> for usize

§

fn from(hop: HopNum) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<HsDirPos> for usize

§

fn from(value: HsDirPos) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<IntroPtIndex> for usize

§

fn from(value: IntroPtIndex) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl<const MIN: usize, const MAX: usize> From<RangedUsize<MIN, MAX>> for usize

§

fn from(value: RangedUsize<MIN, MAX>) -> usize

Converts to this type from the input type.
","From>","gosling::context::HandshakeHandle"],["
§

impl From<RouterStatusIdx> for usize

§

fn from(value: RouterStatusIdx) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<State> for usize

§

fn from(src: State) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<Token> for usize

§

fn from(val: Token) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<Token> for usize

§

fn from(val: Token) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl<O> From<U16<O>> for usize
where\n O: ByteOrder,

§

fn from(x: U16<O>) -> usize

Converts to this type from the input type.
","From>","gosling::context::HandshakeHandle"],["
1.28.0 · source§

impl From<bool> for usize

source§

fn from(small: bool) -> usize

Converts a bool to usize losslessly.\nThe resulting value is 0 for false and 1 for true values.

\n
§Examples
\n
assert_eq!(usize::from(true), 1);\nassert_eq!(usize::from(false), 0);
\n
","From","gosling::context::HandshakeHandle"],["
1.26.0 · source§

impl From<u16> for usize

source§

fn from(small: u16) -> usize

Converts u16 to usize losslessly.

\n
","From","gosling::context::HandshakeHandle"],["
§

impl From<u24> for usize

§

fn from(val: u24) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<u40> for usize

§

fn from(val: u40) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<u48> for usize

§

fn from(val: u48) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<u56> for usize

§

fn from(val: u56) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
1.5.0 · source§

impl From<u8> for usize

source§

fn from(small: u8) -> usize

Converts u8 to usize losslessly.

\n
","From","gosling::context::HandshakeHandle"],["
source§

impl FromBytes for usize

§

type Bytes = [u8; 8]

source§

fn from_be_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in big endian. Read more
source§

fn from_le_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in little endian. Read more
source§

fn from_ne_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its memory representation as a byte array in native endianness. Read more
","FromBytes","gosling::context::HandshakeHandle"],["
§

impl FromBytes for usize

§

fn ref_from(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the given bytes as a &Self without copying. Read more
§

fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &Self without copying. Read more
§

fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &Self without copying. Read more
§

fn mut_from(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut Self without copying. Read more
§

fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut Self without\ncopying. Read more
§

fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut Self without copying. Read more
§

fn slice_from(bytes: &[u8]) -> Option<&[Self]>
where\n Self: Sized,

Interprets the given bytes as a &[Self] without copying. Read more
§

fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut [Self] without copying. Read more
§

fn mut_slice_from_prefix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [Self], &mut [u8])>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from_suffix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [u8], &mut [Self])>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn read_from(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from bytes. Read more
§

fn read_from_prefix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
§

fn read_from_suffix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
","FromBytes","gosling::context::HandshakeHandle"],["
source§

impl FromPrimitive for usize

source§

fn from_isize(n: isize) -> Option<usize>

Converts an isize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i8(n: i8) -> Option<usize>

Converts an i8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i16(n: i16) -> Option<usize>

Converts an i16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i32(n: i32) -> Option<usize>

Converts an i32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i64(n: i64) -> Option<usize>

Converts an i64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i128(n: i128) -> Option<usize>

Converts an i128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_usize(n: usize) -> Option<usize>

Converts a usize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u8(n: u8) -> Option<usize>

Converts an u8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u16(n: u16) -> Option<usize>

Converts an u16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u32(n: u32) -> Option<usize>

Converts an u32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u64(n: u64) -> Option<usize>

Converts an u64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u128(n: u128) -> Option<usize>

Converts an u128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_f32(n: f32) -> Option<usize>

Converts a f32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_f64(n: f64) -> Option<usize>

Converts a f64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
","FromPrimitive","gosling::context::HandshakeHandle"],["
§

impl FromSql for usize

§

fn column_result(value: ValueRef<'_>) -> Result<usize, FromSqlError>

Converts SQLite value into Rust value.
","FromSql","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl FromStr for usize

§

type Err = ParseIntError

The associated error which can be returned from parsing.
source§

fn from_str(src: &str) -> Result<usize, ParseIntError>

Parses a string s to return a value of this type. Read more
","FromStr","gosling::context::HandshakeHandle"],["
§

impl FromZeroes for usize

§

fn zero(&mut self)

Overwrites self with zeroes. Read more
§

fn new_zeroed() -> Self
where\n Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
","FromZeroes","gosling::context::HandshakeHandle"],["
§

impl Fundamental for usize

§

fn as_bool(self) -> bool

Tests self != 0.
§

fn as_char(self) -> Option<char>

Represents self as a Unicode Scalar Value, if possible.
§

fn as_i8(self) -> i8

Performs self as i8.
§

fn as_i16(self) -> i16

Performs self as i16.
§

fn as_i32(self) -> i32

Performs self as i32.
§

fn as_i64(self) -> i64

Performs self as i64.
§

fn as_i128(self) -> i128

Performs self as i128.
§

fn as_isize(self) -> isize

Performs self as isize.
§

fn as_u8(self) -> u8

Performs self as u8.
§

fn as_u16(self) -> u16

Performs self as u16.
§

fn as_u32(self) -> u32

Performs self as u32.
§

fn as_u64(self) -> u64

Performs self as u64.
§

fn as_u128(self) -> u128

Performs self as u128.
§

fn as_usize(self) -> usize

Performs self as usize.
§

fn as_f32(self) -> f32

Performs self as f32.
§

fn as_f64(self) -> f64

Performs self as f64.
","Fundamental","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Hash for usize

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
source§

fn hash_slice<H>(data: &[usize], state: &mut H)
where\n H: Hasher,

Feeds a slice of this type into the given Hasher. Read more
","Hash","gosling::context::HandshakeHandle"],["
source§

impl Integer for usize

source§

fn div_floor(&self, other: &usize) -> usize

Unsigned integer division. Returns the same result as div (/).

\n
source§

fn mod_floor(&self, other: &usize) -> usize

Unsigned integer modulo operation. Returns the same result as rem (%).

\n
source§

fn gcd(&self, other: &usize) -> usize

Calculates the Greatest Common Divisor (GCD) of the number and other

\n
source§

fn lcm(&self, other: &usize) -> usize

Calculates the Lowest Common Multiple (LCM) of the number and other.

\n
source§

fn gcd_lcm(&self, other: &usize) -> (usize, usize)

Calculates the Greatest Common Divisor (GCD) and\nLowest Common Multiple (LCM) of the number and other.

\n
source§

fn is_multiple_of(&self, other: &usize) -> bool

Returns true if the number is a multiple of other.

\n
source§

fn is_even(&self) -> bool

Returns true if the number is divisible by 2.

\n
source§

fn is_odd(&self) -> bool

Returns true if the number is not divisible by 2.

\n
source§

fn div_rem(&self, other: &usize) -> (usize, usize)

Simultaneous truncated integer division and modulus.

\n
source§

fn div_ceil(&self, other: &usize) -> usize

Ceiled integer division. Read more
source§

fn extended_gcd_lcm(&self, other: &usize) -> (ExtendedGcd<usize>, usize)

Greatest common divisor, least common multiple, and Bézout coefficients.
source§

fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
where\n Self: Clone,

Greatest common divisor and Bézout coefficients. Read more
source§

fn divides(&self, other: &Self) -> bool

👎Deprecated: Please use is_multiple_of instead
Deprecated, use is_multiple_of instead.
source§

fn div_mod_floor(&self, other: &Self) -> (Self, Self)

Simultaneous floored integer division and modulus.\nReturns (quotient, remainder). Read more
source§

fn next_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds up to nearest multiple of argument. Read more
source§

fn prev_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds down to nearest multiple of argument. Read more
source§

fn dec(&mut self)
where\n Self: Clone,

Decrements self by one. Read more
source§

fn inc(&mut self)
where\n Self: Clone,

Increments self by one. Read more
","Integer","gosling::context::HandshakeHandle"],["
§

impl Integral for usize

§

const ZERO: usize = 0usize

The type’s zero value.
§

const ONE: usize = 1usize

The type’s step value.
§

const MIN: usize = 0usize

The type’s minimum value. This is zero for unsigned integers.
§

const MAX: usize = 18_446_744_073_709_551_615usize

The type’s maximum value.
§

const BITS: u32 = 64u32

The size of this type in bits.
§

fn min_value() -> usize

Returns the smallest value that can be represented by this integer type.
§

fn max_value() -> usize

Returns the largest value that can be represented by this integer type.
§

fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer. Read more
§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.
§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.
§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of\nself.
§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation of\nself.
§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of\nself.
§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation of\nself.
§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping the\ntruncated bits to the end of the resulting integer. Read more
§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping the\ntruncated bits to the beginning of the resulting integer. Read more
§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer.
§

fn reverse_bits(self) -> usize

Reverses the bit pattern of the integer.
§

fn from_be(self) -> usize

Converts an integer from big endian to the target’s endianness. Read more
§

fn from_le(self) -> usize

Converts an integer frm little endian to the target’s endianness. Read more
§

fn to_be(self) -> usize

Converts self to big endian from the target’s endianness. Read more
§

fn to_le(self) -> usize

Converts self to little endian from the target’s endianness. Read more
§

fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None if\noverflow occurred.
§

fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning None if\noverflow occurred.
§

fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning None\nif overflow occurred.
§

fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean remainder. Computes self.rem_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None if self == MIN. Read more
§

fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None if rhs is\nlarger than or equal to the number of bits in self.
§

fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None if rhs\nis larger than or equal to the number of bits in self.
§

fn checked_pow(self, rhs: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.
§

fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs, saturating at\nthe numeric bounds instead of overflowing.
§

fn saturating_pow(self, rhs: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp), saturating\nat the numeric bounds instead of overflowing.
§

fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs, wrapping around at\nthe boundary of the type.
§

fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs, wrapping around\nat the boundary of the type.
§

fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping\naround at the boundary of the type.
§

fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean remainder. Computes self.rem_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self, wrapping around at the\nboundary of the type. Read more
§

fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_pow(self, rhs: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp), wrapping\naround at the boundary of the type.
§

fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs Read more
§

fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs Read more
§

fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs. Read more
§

fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs. Read more
§

fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs). Read more
§

fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs. Read more
§

fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Overflowing Euclidean remainder. Calculates self.rem_euclid(rhs). Read more
§

fn overflowing_neg(self) -> (usize, bool)

Negates self, overflowing if this is equal to the minimum value. Read more
§

fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits. Read more
§

fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits. Read more
§

fn overflowing_pow(self, rhs: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring. Read more
§

fn pow(self, rhs: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.
§

fn div_euclid(self, rhs: usize) -> usize

Calculates the quotient of Euclidean division of self by rhs. Read more
§

fn rem_euclid(self, rhs: usize) -> usize

Calculates the least nonnegative remainder of self (mod rhs). Read more
","Integral","gosling::context::HandshakeHandle"],["
source§

impl IntoBigInt for usize

source§

fn into_bigint(self) -> Option<BigInt>

Converts the value of self to a BigInt.
","IntoBigInt","gosling::context::HandshakeHandle"],["
source§

impl IntoBigUint for usize

source§

fn into_biguint(self) -> Option<BigUint>

Converts the value of self to a BigUint.
","IntoBigUint","gosling::context::HandshakeHandle"],["
source§

impl<'de, E> IntoDeserializer<'de, E> for usize
where\n E: Error,

§

type Deserializer = UsizeDeserializer<E>

The type of the deserializer being converted into.
source§

fn into_deserializer(self) -> UsizeDeserializer<E>

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","gosling::context::HandshakeHandle"],["
§

impl IntoNotification for usize

§

type Tag = ()

The tag data associated with a notification. Read more
§

type Notify = Notify

The notification type. Read more
§

fn into_notification(self) -> <usize as IntoNotification>::Notify

Convert this value into a notification. Read more
§

fn additional(self) -> Additional<Self::Notify>
where\n Self: Sized,

Convert this value into an additional notification. Read more
§

fn relaxed(self) -> Relaxed<Self::Notify>
where\n Self: Sized,

Don’t emit a fence for this notification. Read more
§

fn tag<T>(self, tag: T) -> Tag<Self::Notify, T>
where\n T: Clone,\n Self: Sized + IntoNotification<Tag = ()>,

Use a tag with this notification. Read more
§

fn tag_with<T, F>(self, tag: F) -> TagWith<Self::Notify, F>
where\n Self: Sized + IntoNotification<Tag = ()>,\n F: FnMut() -> T,

Use a function to generate a tag with this notification. Read more
","IntoNotification","gosling::context::HandshakeHandle"],["
1.42.0 · source§

impl LowerExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerExp","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl LowerHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerHex","gosling::context::HandshakeHandle"],["
source§

impl<'a> Mul<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigInt) -> BigInt

Performs the * operation. Read more
","Mul<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Mul<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigUint) -> BigUint

Performs the * operation. Read more
","Mul<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Mul<&usize> for usize

§

type Output = <usize as Mul>::Output

The resulting type after applying the * operator.
source§

fn mul(self, other: &usize) -> <usize as Mul>::Output

Performs the * operation. Read more
","Mul<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Mul<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: BigInt) -> BigInt

Performs the * operation. Read more
","Mul","gosling::context::HandshakeHandle"],["
source§

impl Mul<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: BigUint) -> BigUint

Performs the * operation. Read more
","Mul","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Mul for usize

§

type Output = usize

The resulting type after applying the * operator.
source§

fn mul(self, other: usize) -> usize

Performs the * operation. Read more
","Mul","gosling::context::HandshakeHandle"],["
source§

impl MulAdd for usize

§

type Output = usize

The resulting type after applying the fused multiply-add.
source§

fn mul_add(self, a: usize, b: usize) -> <usize as MulAdd>::Output

Performs the fused multiply-add operation (self * a) + b
","MulAdd","gosling::context::HandshakeHandle"],["
source§

impl MulAddAssign for usize

source§

fn mul_add_assign(&mut self, a: usize, b: usize)

Performs the fused multiply-add assignment operation *self = (*self * a) + b
","MulAddAssign","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl MulAssign<&usize> for usize

source§

fn mul_assign(&mut self, other: &usize)

Performs the *= operation. Read more
","MulAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl MulAssign for usize

source§

fn mul_assign(&mut self, other: usize)

Performs the *= operation. Read more
","MulAssign","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Not for usize

§

type Output = usize

The resulting type after applying the ! operator.
source§

fn not(self) -> usize

Performs the unary ! operation. Read more
","Not","gosling::context::HandshakeHandle"],["
source§

impl Num for usize

§

type FromStrRadixErr = ParseIntError

source§

fn from_str_radix(s: &str, radix: u32) -> Result<usize, ParseIntError>

Convert from a string and radix (typically 2..=36). Read more
","Num","gosling::context::HandshakeHandle"],["
source§

impl NumCast for usize

source§

fn from<N>(n: N) -> Option<usize>
where\n N: ToPrimitive,

Creates a number from another value that can be converted into\na primitive via the ToPrimitive trait. If the source value cannot be\nrepresented by the target type, then None is returned. Read more
","NumCast","gosling::context::HandshakeHandle"],["
§

impl Numeric for usize

§

type Bytes = [u8; 8]

The [u8; N] byte array that stores values of Self.
§

fn to_be_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nbig-endian (network) byte order.
§

fn to_le_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nlittle-endian byte order.
§

fn to_ne_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nnative byte order.
§

fn from_be_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in big\nendian.
§

fn from_le_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in little\nendian.
§

fn from_ne_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its memory representation as a byte array in\nnative endianness.
","Numeric","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Octal for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Octal","gosling::context::HandshakeHandle"],["
source§

impl One for usize

source§

fn one() -> usize

Returns the multiplicative identity element of Self, 1. Read more
source§

fn is_one(&self) -> bool

Returns true if self is equal to the multiplicative identity. Read more
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
","One","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Ord for usize

source§

fn cmp(&self, other: &usize) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","gosling::context::HandshakeHandle"],["
source§

impl OverflowingAdd for usize

source§

fn overflowing_add(&self, v: &usize) -> (usize, bool)

Returns a tuple of the sum along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingAdd","gosling::context::HandshakeHandle"],["
source§

impl OverflowingMul for usize

source§

fn overflowing_mul(&self, v: &usize) -> (usize, bool)

Returns a tuple of the product along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingMul","gosling::context::HandshakeHandle"],["
source§

impl OverflowingSub for usize

source§

fn overflowing_sub(&self, v: &usize) -> (usize, bool)

Returns a tuple of the difference along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingSub","gosling::context::HandshakeHandle"],["
§

impl ParseHex for usize

§

fn parse_hex(input: &str) -> Result<usize, ParseError>

Parse the value from hex.
","ParseHex","gosling::context::HandshakeHandle"],["
source§

impl PartialEq<Value> for usize

source§

fn eq(&self, other: &Value) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl PartialEq for usize

source§

fn eq(&self, other: &usize) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
source§

fn ne(&self, other: &usize) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl PartialOrd for usize

source§

fn partial_cmp(&self, other: &usize) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
source§

fn lt(&self, other: &usize) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
source§

fn le(&self, other: &usize) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
source§

fn ge(&self, other: &usize) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
source§

fn gt(&self, other: &usize) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
","PartialOrd","gosling::context::HandshakeHandle"],["
source§

impl PhfBorrow<usize> for usize

source§

fn borrow(&self) -> &usize

Convert a reference to self to a reference to the borrowed type.
","PhfBorrow","gosling::context::HandshakeHandle"],["
source§

impl PhfHash for usize

source§

fn phf_hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds the value into the state given, updating the hasher as necessary.
source§

fn phf_hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the state provided.
","PhfHash","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u16) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u16>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u32) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u32>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u8) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u8>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a usize) -> usize

Returns self to the power rhs. Read more
","Pow<&'a usize>","gosling::context::HandshakeHandle"],["
source§

impl<U> Pow<PInt<U>> for usize
where\n U: Unsigned + NonZero,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: PInt<U>) -> <usize as Pow<PInt<U>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","gosling::context::HandshakeHandle"],["
source§

impl<U, B> Pow<UInt<U, B>> for usize
where\n U: Unsigned,\n B: Bit,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UInt<U, B>) -> <usize as Pow<UInt<U, B>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","gosling::context::HandshakeHandle"],["
source§

impl Pow<UTerm> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UTerm) -> <usize as Pow<UTerm>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<Z0> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: Z0) -> <usize as Pow<Z0>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u16) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u32) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u8) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: usize) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl PrimInt for usize

source§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self. Read more
source§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self. Read more
source§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation\nof self. Read more
source§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation\nof self. Read more
source§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self. Read more
source§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self. Read more
source§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping\nthe truncated bits to the end of the resulting integer. Read more
source§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping\nthe truncated bits to the beginning of the resulting integer. Read more
source§

fn signed_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn signed_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, copying\nthe “sign bit” in the most significant bits even for unsigned types. Read more
source§

fn unsigned_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn unsigned_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, filling\nzeros in the most significant bits. Read more
source§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer. Read more
source§

fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. Read more
source§

fn from_be(x: usize) -> usize

Convert an integer from big endian to the target’s endianness. Read more
source§

fn from_le(x: usize) -> usize

Convert an integer from little endian to the target’s endianness. Read more
source§

fn to_be(self) -> usize

Convert self to big endian from the target’s endianness. Read more
source§

fn to_le(self) -> usize

Convert self to little endian from the target’s endianness. Read more
source§

fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring. Read more
","PrimInt","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl<'a> Product<&'a usize> for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product<&'a usize>","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl Product for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product","gosling::context::HandshakeHandle"],["
§

impl<R> RangeExt<usize> for R
where\n R: RangeBounds<usize>,

§

fn normalize(\n self,\n start: impl Into<Option<usize>>,\n end: impl Into<Option<usize>>,\n) -> Range<usize>

Normalizes a range-like type to a canonical half-open Range. Read more
§

fn intersection<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the intersection between two range-likes. The produced Range\nspans only the elements common to both. Read more
§

fn union<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the union between two range-likes. The produced Range spans all\nelements present in at least one of them. Read more
","RangeExt","gosling::context::HandshakeHandle"],["
source§

impl<'a> Rem<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigInt) -> BigInt

Performs the % operation. Read more
","Rem<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Rem<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigUint) -> BigUint

Performs the % operation. Read more
","Rem<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Rem<&usize> for usize

§

type Output = <usize as Rem>::Output

The resulting type after applying the % operator.
source§

fn rem(self, other: &usize) -> <usize as Rem>::Output

Performs the % operation. Read more
","Rem<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Rem<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: BigInt) -> BigInt

Performs the % operation. Read more
","Rem","gosling::context::HandshakeHandle"],["
source§

impl Rem<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: BigUint) -> BigUint

Performs the % operation. Read more
","Rem","gosling::context::HandshakeHandle"],["
1.51.0 · source§

impl Rem<NonZero<usize>> for usize

source§

fn rem(self, other: NonZero<usize>) -> usize

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the % operator.
","Rem>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Rem for usize

This operation satisfies n % d == n - (n / d) * d. The\nresult has the same sign as the left operand.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the % operator.
source§

fn rem(self, other: usize) -> usize

Performs the % operation. Read more
","Rem","gosling::context::HandshakeHandle"],["
source§

impl<'a> RemAssign<&'a BigUint> for usize

source§

fn rem_assign(&mut self, other: &BigUint)

Performs the %= operation. Read more
","RemAssign<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl RemAssign<&usize> for usize

source§

fn rem_assign(&mut self, other: &usize)

Performs the %= operation. Read more
","RemAssign<&usize>","gosling::context::HandshakeHandle"],["
source§

impl RemAssign<BigUint> for usize

source§

fn rem_assign(&mut self, other: BigUint)

Performs the %= operation. Read more
","RemAssign","gosling::context::HandshakeHandle"],["
1.79.0 · source§

impl RemAssign<NonZero<usize>> for usize

source§

fn rem_assign(&mut self, other: NonZero<usize>)

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
","RemAssign>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl RemAssign for usize

source§

fn rem_assign(&mut self, other: usize)

Performs the %= operation. Read more
","RemAssign","gosling::context::HandshakeHandle"],["
source§

impl Roots for usize

source§

fn nth_root(&self, n: u32) -> usize

Returns the truncated principal nth root of an integer\n– if x >= 0 { ⌊ⁿ√x⌋ } else { ⌈ⁿ√x⌉ } Read more
source§

fn sqrt(&self) -> usize

Returns the truncated principal square root of an integer – ⌊√x⌋ Read more
source§

fn cbrt(&self) -> usize

Returns the truncated principal cube root of an integer –\nif x >= 0 { ⌊∛x⌋ } else { ⌈∛x⌉ } Read more
","Roots","gosling::context::HandshakeHandle"],["
§

impl RowIndex for usize

§

fn idx(&self, stmt: &Statement<'_>) -> Result<usize, Error>

Returns the index of the appropriate column, or None if no such\ncolumn exists.
","RowIndex","gosling::context::HandshakeHandle"],["
source§

impl SampleUniform for usize

§

type Sampler = UniformInt<usize>

The UniformSampler implementation supporting type X.
","SampleUniform","gosling::context::HandshakeHandle"],["
source§

impl Saturating for usize

source§

fn saturating_add(self, v: usize) -> usize

Saturating addition operator.\nReturns a+b, saturating at the numeric bounds instead of overflowing.
source§

fn saturating_sub(self, v: usize) -> usize

Saturating subtraction operator.\nReturns a-b, saturating at the numeric bounds instead of overflowing.
","Saturating","gosling::context::HandshakeHandle"],["
source§

impl SaturatingAdd for usize

source§

fn saturating_add(&self, v: &usize) -> usize

Saturating addition. Computes self + other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingAdd","gosling::context::HandshakeHandle"],["
source§

impl SaturatingMul for usize

source§

fn saturating_mul(&self, v: &usize) -> usize

Saturating multiplication. Computes self * other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingMul","gosling::context::HandshakeHandle"],["
source§

impl SaturatingSub for usize

source§

fn saturating_sub(&self, v: &usize) -> usize

Saturating subtraction. Computes self - other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingSub","gosling::context::HandshakeHandle"],["
§

impl SeekNum for usize

§

fn from_block_byte<T>(\n block: T,\n byte: u8,\n bs: u8,\n) -> Result<usize, OverflowError>
where\n T: Counter,

Try to get position for block number block, byte position inside\nblock byte, and block size bs.
§

fn into_block_byte<T>(self, bs: u8) -> Result<(T, u8), OverflowError>
where\n T: Counter,

Try to get block number and bytes position for given block size bs.
","SeekNum","gosling::context::HandshakeHandle"],["
source§

impl Serialize for usize

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i128> for usize

§

type Output = <usize as Shl<i128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i128) -> <usize as Shl<i128>>::Output

Performs the << operation. Read more
","Shl<&i128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i16> for usize

§

type Output = <usize as Shl<i16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i16) -> <usize as Shl<i16>>::Output

Performs the << operation. Read more
","Shl<&i16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i32> for usize

§

type Output = <usize as Shl<i32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i32) -> <usize as Shl<i32>>::Output

Performs the << operation. Read more
","Shl<&i32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i64> for usize

§

type Output = <usize as Shl<i64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i64) -> <usize as Shl<i64>>::Output

Performs the << operation. Read more
","Shl<&i64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i8> for usize

§

type Output = <usize as Shl<i8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i8) -> <usize as Shl<i8>>::Output

Performs the << operation. Read more
","Shl<&i8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&isize> for usize

§

type Output = <usize as Shl<isize>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &isize) -> <usize as Shl<isize>>::Output

Performs the << operation. Read more
","Shl<&isize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u128> for usize

§

type Output = <usize as Shl<u128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u128) -> <usize as Shl<u128>>::Output

Performs the << operation. Read more
","Shl<&u128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u16> for usize

§

type Output = <usize as Shl<u16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u16) -> <usize as Shl<u16>>::Output

Performs the << operation. Read more
","Shl<&u16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u32> for usize

§

type Output = <usize as Shl<u32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u32) -> <usize as Shl<u32>>::Output

Performs the << operation. Read more
","Shl<&u32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u64> for usize

§

type Output = <usize as Shl<u64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u64) -> <usize as Shl<u64>>::Output

Performs the << operation. Read more
","Shl<&u64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u8> for usize

§

type Output = <usize as Shl<u8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u8) -> <usize as Shl<u8>>::Output

Performs the << operation. Read more
","Shl<&u8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&usize> for usize

§

type Output = <usize as Shl>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &usize) -> <usize as Shl>::Output

Performs the << operation. Read more
","Shl<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i128) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i16) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i32) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i64) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i8) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<isize> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: isize) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u128) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u16) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u32) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u64) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u8) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: usize) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i128> for usize

source§

fn shl_assign(&mut self, other: &i128)

Performs the <<= operation. Read more
","ShlAssign<&i128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i16> for usize

source§

fn shl_assign(&mut self, other: &i16)

Performs the <<= operation. Read more
","ShlAssign<&i16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i32> for usize

source§

fn shl_assign(&mut self, other: &i32)

Performs the <<= operation. Read more
","ShlAssign<&i32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i64> for usize

source§

fn shl_assign(&mut self, other: &i64)

Performs the <<= operation. Read more
","ShlAssign<&i64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i8> for usize

source§

fn shl_assign(&mut self, other: &i8)

Performs the <<= operation. Read more
","ShlAssign<&i8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&isize> for usize

source§

fn shl_assign(&mut self, other: &isize)

Performs the <<= operation. Read more
","ShlAssign<&isize>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u128> for usize

source§

fn shl_assign(&mut self, other: &u128)

Performs the <<= operation. Read more
","ShlAssign<&u128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u16> for usize

source§

fn shl_assign(&mut self, other: &u16)

Performs the <<= operation. Read more
","ShlAssign<&u16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u32> for usize

source§

fn shl_assign(&mut self, other: &u32)

Performs the <<= operation. Read more
","ShlAssign<&u32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u64> for usize

source§

fn shl_assign(&mut self, other: &u64)

Performs the <<= operation. Read more
","ShlAssign<&u64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u8> for usize

source§

fn shl_assign(&mut self, other: &u8)

Performs the <<= operation. Read more
","ShlAssign<&u8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&usize> for usize

source§

fn shl_assign(&mut self, other: &usize)

Performs the <<= operation. Read more
","ShlAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i128> for usize

source§

fn shl_assign(&mut self, other: i128)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i16> for usize

source§

fn shl_assign(&mut self, other: i16)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i32> for usize

source§

fn shl_assign(&mut self, other: i32)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i64> for usize

source§

fn shl_assign(&mut self, other: i64)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i8> for usize

source§

fn shl_assign(&mut self, other: i8)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<isize> for usize

source§

fn shl_assign(&mut self, other: isize)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u128> for usize

source§

fn shl_assign(&mut self, other: u128)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u16> for usize

source§

fn shl_assign(&mut self, other: u16)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u32> for usize

source§

fn shl_assign(&mut self, other: u32)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u64> for usize

source§

fn shl_assign(&mut self, other: u64)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u8> for usize

source§

fn shl_assign(&mut self, other: u8)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign for usize

source§

fn shl_assign(&mut self, other: usize)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i128> for usize

§

type Output = <usize as Shr<i128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i128) -> <usize as Shr<i128>>::Output

Performs the >> operation. Read more
","Shr<&i128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i16> for usize

§

type Output = <usize as Shr<i16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i16) -> <usize as Shr<i16>>::Output

Performs the >> operation. Read more
","Shr<&i16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i32> for usize

§

type Output = <usize as Shr<i32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i32) -> <usize as Shr<i32>>::Output

Performs the >> operation. Read more
","Shr<&i32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i64> for usize

§

type Output = <usize as Shr<i64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i64) -> <usize as Shr<i64>>::Output

Performs the >> operation. Read more
","Shr<&i64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i8> for usize

§

type Output = <usize as Shr<i8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i8) -> <usize as Shr<i8>>::Output

Performs the >> operation. Read more
","Shr<&i8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&isize> for usize

§

type Output = <usize as Shr<isize>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &isize) -> <usize as Shr<isize>>::Output

Performs the >> operation. Read more
","Shr<&isize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u128> for usize

§

type Output = <usize as Shr<u128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u128) -> <usize as Shr<u128>>::Output

Performs the >> operation. Read more
","Shr<&u128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u16> for usize

§

type Output = <usize as Shr<u16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u16) -> <usize as Shr<u16>>::Output

Performs the >> operation. Read more
","Shr<&u16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u32> for usize

§

type Output = <usize as Shr<u32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u32) -> <usize as Shr<u32>>::Output

Performs the >> operation. Read more
","Shr<&u32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u64> for usize

§

type Output = <usize as Shr<u64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u64) -> <usize as Shr<u64>>::Output

Performs the >> operation. Read more
","Shr<&u64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u8> for usize

§

type Output = <usize as Shr<u8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u8) -> <usize as Shr<u8>>::Output

Performs the >> operation. Read more
","Shr<&u8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&usize> for usize

§

type Output = <usize as Shr>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &usize) -> <usize as Shr>::Output

Performs the >> operation. Read more
","Shr<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i128) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i16) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i32) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i64) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i8) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<isize> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: isize) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u128) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u16) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u32) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u64) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u8) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: usize) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i128> for usize

source§

fn shr_assign(&mut self, other: &i128)

Performs the >>= operation. Read more
","ShrAssign<&i128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i16> for usize

source§

fn shr_assign(&mut self, other: &i16)

Performs the >>= operation. Read more
","ShrAssign<&i16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i32> for usize

source§

fn shr_assign(&mut self, other: &i32)

Performs the >>= operation. Read more
","ShrAssign<&i32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i64> for usize

source§

fn shr_assign(&mut self, other: &i64)

Performs the >>= operation. Read more
","ShrAssign<&i64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i8> for usize

source§

fn shr_assign(&mut self, other: &i8)

Performs the >>= operation. Read more
","ShrAssign<&i8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&isize> for usize

source§

fn shr_assign(&mut self, other: &isize)

Performs the >>= operation. Read more
","ShrAssign<&isize>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u128> for usize

source§

fn shr_assign(&mut self, other: &u128)

Performs the >>= operation. Read more
","ShrAssign<&u128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u16> for usize

source§

fn shr_assign(&mut self, other: &u16)

Performs the >>= operation. Read more
","ShrAssign<&u16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u32> for usize

source§

fn shr_assign(&mut self, other: &u32)

Performs the >>= operation. Read more
","ShrAssign<&u32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u64> for usize

source§

fn shr_assign(&mut self, other: &u64)

Performs the >>= operation. Read more
","ShrAssign<&u64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u8> for usize

source§

fn shr_assign(&mut self, other: &u8)

Performs the >>= operation. Read more
","ShrAssign<&u8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&usize> for usize

source§

fn shr_assign(&mut self, other: &usize)

Performs the >>= operation. Read more
","ShrAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i128> for usize

source§

fn shr_assign(&mut self, other: i128)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i16> for usize

source§

fn shr_assign(&mut self, other: i16)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i32> for usize

source§

fn shr_assign(&mut self, other: i32)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i64> for usize

source§

fn shr_assign(&mut self, other: i64)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i8> for usize

source§

fn shr_assign(&mut self, other: i8)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<isize> for usize

source§

fn shr_assign(&mut self, other: isize)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u128> for usize

source§

fn shr_assign(&mut self, other: u128)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u16> for usize

source§

fn shr_assign(&mut self, other: u16)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u32> for usize

source§

fn shr_assign(&mut self, other: u32)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u64> for usize

source§

fn shr_assign(&mut self, other: u64)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u8> for usize

source§

fn shr_assign(&mut self, other: u8)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign for usize

source§

fn shr_assign(&mut self, other: usize)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
source§

impl SimdElement for usize

§

type Mask = isize

🔬This is a nightly-only experimental API. (portable_simd)
The mask element type corresponding to this element type.
","SimdElement","gosling::context::HandshakeHandle"],["
1.15.0 (const: unstable) · source§

impl<T> SliceIndex<[T]> for usize

The methods index and index_mut panic if the index is out of bounds.

\n
§

type Output = T

The output type returned by methods.
source§

fn get(self, slice: &[T]) -> Option<&T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in\nbounds.
source§

fn get_mut(self, slice: &mut [T]) -> Option<&mut T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in\nbounds.
source§

unsafe fn get_unchecked(self, slice: *const [T]) -> *const T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

fn index(self, slice: &[T]) -> &T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking\nif out of bounds.
source§

fn index_mut(self, slice: &mut [T]) -> &mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking\nif out of bounds.
","SliceIndex<[T]>","gosling::context::HandshakeHandle"],["
§

impl SmartDisplay for usize

§

type Metadata = ()

User-provided metadata type.
§

fn metadata(&self, f: FormatterOptions) -> Metadata<'_, usize>

Compute any information needed to format the value. This must, at a minimum, determine the\nwidth of the value before any padding is added by the formatter. Read more
§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Format the value using the given formatter. This is the same as Display::fmt. Read more
§

fn fmt_with_metadata(\n &self,\n f: &mut Formatter<'_>,\n _metadata: Metadata<'_, Self>,\n) -> Result<(), Error>

Format the value using the given formatter and metadata. The formatted output should have\nthe width indicated by the metadata. This is before any padding is added by the\nformatter. Read more
","SmartDisplay","gosling::context::HandshakeHandle"],["
source§

impl Step for usize

source§

fn forward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

unsafe fn forward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

unsafe fn backward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

fn steps_between(start: &usize, end: &usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the number of successor steps required to get from start to end. Read more
source§

fn forward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
","Step","gosling::context::HandshakeHandle"],["
source§

impl<'a> Sub<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigInt) -> BigInt

Performs the - operation. Read more
","Sub<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Sub<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigUint) -> BigUint

Performs the - operation. Read more
","Sub<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Sub<&usize> for usize

§

type Output = <usize as Sub>::Output

The resulting type after applying the - operator.
source§

fn sub(self, other: &usize) -> <usize as Sub>::Output

Performs the - operation. Read more
","Sub<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Sub<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: BigInt) -> BigInt

Performs the - operation. Read more
","Sub","gosling::context::HandshakeHandle"],["
source§

impl Sub<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: BigUint) -> BigUint

Performs the - operation. Read more
","Sub","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Sub for usize

§

type Output = usize

The resulting type after applying the - operator.
source§

fn sub(self, other: usize) -> usize

Performs the - operation. Read more
","Sub","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl SubAssign<&usize> for usize

source§

fn sub_assign(&mut self, other: &usize)

Performs the -= operation. Read more
","SubAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl SubAssign for usize

source§

fn sub_assign(&mut self, other: usize)

Performs the -= operation. Read more
","SubAssign","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl<'a> Sum<&'a usize> for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum<&'a usize>","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl Sum for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum","gosling::context::HandshakeHandle"],["
source§

impl ToBigInt for usize

source§

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a BigInt.
","ToBigInt","gosling::context::HandshakeHandle"],["
source§

impl ToBigUint for usize

source§

fn to_biguint(&self) -> Option<BigUint>

Converts the value of self to a BigUint.
","ToBigUint","gosling::context::HandshakeHandle"],["
source§

impl ToBytes for usize

§

type Bytes = [u8; 8]

source§

fn to_be_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in big-endian byte order. Read more
source§

fn to_le_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in little-endian byte order. Read more
source§

fn to_ne_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in native byte order. Read more
","ToBytes","gosling::context::HandshakeHandle"],["
source§

impl ToPrimitive for usize

source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be\nrepresented by an isize, then None is returned.
source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be\nrepresented by an i8, then None is returned.
source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be\nrepresented by an i16, then None is returned.
source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be\nrepresented by an i32, then None is returned.
source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be\nrepresented by an i64, then None is returned.
source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be\nrepresented by an i128 (i64 under the default implementation), then\nNone is returned. Read more
source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be\nrepresented by a usize, then None is returned.
source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be\nrepresented by a u8, then None is returned.
source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be\nrepresented by a u16, then None is returned.
source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be\nrepresented by a u32, then None is returned.
source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be\nrepresented by a u64, then None is returned.
source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be\nrepresented by a u128 (u64 under the default implementation), then\nNone is returned. Read more
source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f32.
source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f64. Read more
","ToPrimitive","gosling::context::HandshakeHandle"],["
§

impl ToSql for usize

§

fn to_sql(&self) -> Result<ToSqlOutput<'_>, Error>

Converts Rust value to SQLite value
","ToSql","gosling::context::HandshakeHandle"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","gosling::context::HandshakeHandle"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","gosling::context::HandshakeHandle"],["
§

impl<const L: i32, const H: i32> TryFrom<BoundedInt32<L, H>> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(\n val: BoundedInt32<L, H>,\n) -> Result<usize, <usize as TryFrom<BoundedInt32<L, H>>>::Error>

Performs the conversion.
","TryFrom>","gosling::context::HandshakeHandle"],["
§

impl TryFrom<Length> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(len: Length) -> Result<usize, Error>

Performs the conversion.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i128> for usize

source§

fn try_from(u: i128) -> Result<usize, <usize as TryFrom<i128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i16> for usize

source§

fn try_from(u: i16) -> Result<usize, <usize as TryFrom<i16>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i32> for usize

source§

fn try_from(u: i32) -> Result<usize, <usize as TryFrom<i32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i64> for usize

source§

fn try_from(u: i64) -> Result<usize, <usize as TryFrom<i64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i8> for usize

source§

fn try_from(u: i8) -> Result<usize, <usize as TryFrom<i8>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<isize> for usize

source§

fn try_from(u: isize) -> Result<usize, <usize as TryFrom<isize>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<u128> for usize

source§

fn try_from(u: u128) -> Result<usize, <usize as TryFrom<u128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<u32> for usize

source§

fn try_from(value: u32) -> Result<usize, <usize as TryFrom<u32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<u64> for usize

source§

fn try_from(value: u64) -> Result<usize, <usize as TryFrom<u64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
§

impl Unsigned for usize

§

fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.
§

fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self. Read more
§

fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to n. If the\nnext power of two is greater than the type’s maximum value, None is\nreturned, otherwise the power of two is wrapped in Some.
","Unsigned","gosling::context::HandshakeHandle"],["
1.42.0 · source§

impl UpperExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperExp","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl UpperHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperHex","gosling::context::HandshakeHandle"],["
§

impl Value for usize

§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
","Value","gosling::context::HandshakeHandle"],["
source§

impl WrappingAdd for usize

source§

fn wrapping_add(&self, v: &usize) -> usize

Wrapping (modular) addition. Computes self + other, wrapping around at the boundary of\nthe type.
","WrappingAdd","gosling::context::HandshakeHandle"],["
source§

impl WrappingMul for usize

source§

fn wrapping_mul(&self, v: &usize) -> usize

Wrapping (modular) multiplication. Computes self * other, wrapping around at the boundary\nof the type.
","WrappingMul","gosling::context::HandshakeHandle"],["
source§

impl WrappingNeg for usize

source§

fn wrapping_neg(&self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type. Read more
","WrappingNeg","gosling::context::HandshakeHandle"],["
source§

impl WrappingShl for usize

source§

fn wrapping_shl(&self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShl","gosling::context::HandshakeHandle"],["
source§

impl WrappingShr for usize

source§

fn wrapping_shr(&self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShr","gosling::context::HandshakeHandle"],["
source§

impl WrappingSub for usize

source§

fn wrapping_sub(&self, v: &usize) -> usize

Wrapping (modular) subtraction. Computes self - other, wrapping around at the boundary\nof the type.
","WrappingSub","gosling::context::HandshakeHandle"],["
§

impl WriteHex for usize

§

fn write_hex<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Write the value as hex.
","WriteHex","gosling::context::HandshakeHandle"],["
§

impl Writeable for usize

§

fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
where\n W: Write + ?Sized,

Writes a string to the given sink. Errors from the sink are bubbled up.\nThe default implementation delegates to write_to_parts, and discards any\nPart annotations.
§

fn writeable_length_hint(&self) -> LengthHint

Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
§

fn write_to_parts<S>(&self, sink: &mut S) -> Result<(), Error>
where\n S: PartsWrite + ?Sized,

Write bytes and Part annotations to the given sink. Errors from the\nsink are bubbled up. The default implementation delegates to write_to,\nand doesn’t produce any Part annotations.
§

fn write_to_string(&self) -> Cow<'_, str>

Creates a new String with the data from this Writeable. Like ToString,\nbut smaller and faster. Read more
§

fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

Compares the contents of this Writeable to the given bytes\nwithout allocating a String to hold the Writeable contents. Read more
","Writeable","gosling::context::HandshakeHandle"],["
§

impl<'a> Yokeable<'a> for usize

§

type Output = usize

This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
§

fn transform(&self) -> &<usize as Yokeable<'a>>::Output

This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
§

fn transform_owned(self) -> <usize as Yokeable<'a>>::Output

This method must cast self between Self<'static> and Self<'a>. Read more
§

unsafe fn make(this: <usize as Yokeable<'a>>::Output) -> usize

This method can be used to cast away Self<'a>’s lifetime. Read more
§

fn transform_mut<F>(&'a mut self, f: F)
where\n F: 'static + for<'b> FnOnce(&'b mut <usize as Yokeable<'a>>::Output),

This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>,\nand pass it to f. Read more
","Yokeable<'a>","gosling::context::HandshakeHandle"],["
source§

impl Zero for usize

source§

fn zero() -> usize

Returns the additive identity element of Self, 0. Read more
source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","gosling::context::HandshakeHandle"],["
§

impl<'a> ZeroFrom<'a, usize> for usize

§

fn zero_from(this: &'a usize) -> usize

Clone the other C into a struct that may retain references into C.
","ZeroFrom<'a, usize>","gosling::context::HandshakeHandle"],["
§

impl<'a> ZeroMapKV<'a> for usize

§

type Container = FlexZeroVec<'a>

The container that can be used with this type: [ZeroVec] or [VarZeroVec].
§

type Slice = FlexZeroSlice

§

type GetType = [u8]

The type produced by Container::get() Read more
§

type OwnedType = usize

The type produced by Container::replace() and Container::remove(),\nalso used during deserialization. If Self is human readable serialized,\ndeserializing to Self::OwnedType should produce the same value once\npassed through Self::owned_as_self() Read more
","ZeroMapKV<'a>","gosling::context::HandshakeHandle"],["
source§

impl usize

1.43.0 · source

pub const MIN: usize = 0usize

The smallest value that can be represented by this integer type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MIN, 0);
\n
1.43.0 · source

pub const MAX: usize = 18_446_744_073_709_551_615usize

The largest value that can be represented by this integer type\n(264 − 1 on 64-bit targets).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX, 18446744073709551615);
\n
1.53.0 · source

pub const BITS: u32 = 64u32

The size of this integer type in bits.

\n
§Examples
\n
assert_eq!(usize::BITS, 64);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b01001100usize;\n\nassert_eq!(n.count_ones(), 3);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX.count_zeros(), 0);
\n
1.0.0 (const: 1.32.0) · source

pub const fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of self.

\n

Depending on what you’re doing with the value, you might also be interested in the\nilog2 function which returns a consistent number, even if the type widens.

\n
§Examples
\n

Basic usage:

\n\n
let n = usize::MAX >> 2;\n\nassert_eq!(n.leading_zeros(), 2);
\n
1.0.0 (const: 1.32.0) · source

pub const fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b0101000usize;\n\nassert_eq!(n.trailing_zeros(), 3);
\n
1.46.0 (const: 1.46.0) · source

pub const fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = !(usize::MAX >> 2);\n\nassert_eq!(n.leading_ones(), 2);
\n
1.46.0 (const: 1.46.0) · source

pub const fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b1010111usize;\n\nassert_eq!(n.trailing_ones(), 3);
\n
source

pub const fn cast_signed(self) -> isize

🔬This is a nightly-only experimental API. (integer_sign_cast)

Returns the bit pattern of self reinterpreted as a signed integer of the same size.

\n

This produces the same result as an as cast, but ensures that the bit-width remains\nthe same.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(integer_sign_cast)]\n\nlet n = usize::MAX;\n\nassert_eq!(n.cast_signed(), -1isize);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n,\nwrapping the truncated bits to the end of the resulting integer.

\n

Please note this isn’t the same operation as the << shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0xaa00000000006e1usize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n,\nwrapping the truncated bits to the beginning of the resulting\ninteger.

\n

Please note this isn’t the same operation as the >> shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x6e10aausize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn swap_bytes(self) -> usize

Reverses the byte order of the integer.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);
\n
1.37.0 (const: 1.37.0) · source

pub const fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\nsecond least-significant bit becomes second most-significant bit, etc.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0usize.reverse_bits());
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_be(x: usize) -> usize

Converts an integer from big endian to the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(usize::from_be(n), n)\n} else {\n    assert_eq!(usize::from_be(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_le(x: usize) -> usize

Converts an integer from little endian to the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(usize::from_le(n), n)\n} else {\n    assert_eq!(usize::from_le(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_be(self) -> usize

Converts self to big endian from the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(n.to_be(), n)\n} else {\n    assert_eq!(n.to_be(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_le(self) -> usize

Converts self to little endian from the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(n.to_le(), n)\n} else {\n    assert_eq!(n.to_le(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None\nif overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!((usize::MAX - 2).checked_add(1), Some(usize::MAX - 1));\nassert_eq!((usize::MAX - 2).checked_add(3), None);
\n
source

pub const fn strict_add(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer addition. Computes self + rhs, panicking\nif overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!((usize::MAX - 2).strict_add(1), usize::MAX - 1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add(3);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_add(self, rhs: usize) -> usize

Unchecked integer addition. Computes self + rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_add(y) is semantically equivalent to calling\nx.checked_add(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_add.

\n
§Safety
\n

This results in undefined behavior when\nself + rhs > usize::MAX or self + rhs < usize::MIN,\ni.e. when checked_add would return None.

\n
1.66.0 (const: 1.66.0) · source

pub const fn checked_add_signed(self, rhs: isize) -> Option<usize>

Checked addition with a signed integer. Computes self + rhs,\nreturning None if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_add_signed(2), Some(3));\nassert_eq!(1usize.checked_add_signed(-2), None);\nassert_eq!((usize::MAX - 2).checked_add_signed(3), None);
\n
source

pub const fn strict_add_signed(self, rhs: isize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict addition with a signed integer. Computes self + rhs,\npanicking if overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_add_signed(2), 3);
\n

The following panic because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_add_signed(-2);
\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add_signed(3);
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_sub(1), Some(0));\nassert_eq!(0usize.checked_sub(1), None);
\n
source

pub const fn strict_sub(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer subtraction. Computes self - rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_sub(1), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0usize.strict_sub(1);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_sub(self, rhs: usize) -> usize

Unchecked integer subtraction. Computes self - rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_sub(y) is semantically equivalent to calling\nx.checked_sub(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_sub.

\n

If you find yourself writing code like this:

\n\n
if foo >= bar {\n    // SAFETY: just checked it will not overflow\n    let diff = unsafe { foo.unchecked_sub(bar) };\n    // ... use diff ...\n}
\n

Consider changing it to

\n\n
if let Some(diff) = foo.checked_sub(bar) {\n    // ... use diff ...\n}
\n

As that does exactly the same thing – including telling the optimizer\nthat the subtraction cannot overflow – but avoids needing unsafe.

\n
§Safety
\n

This results in undefined behavior when\nself - rhs > usize::MAX or self - rhs < usize::MIN,\ni.e. when checked_sub would return None.

\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_mul(1), Some(5));\nassert_eq!(usize::MAX.checked_mul(2), None);
\n
source

pub const fn strict_mul(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer multiplication. Computes self * rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(5usize.strict_mul(1), 5);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_mul(2);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_mul(self, rhs: usize) -> usize

Unchecked integer multiplication. Computes self * rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_mul(y) is semantically equivalent to calling\nx.checked_mul(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_mul.

\n
§Safety
\n

This results in undefined behavior when\nself * rhs > usize::MAX or self * rhs < usize::MIN,\ni.e. when checked_mul would return None.

\n
1.0.0 (const: 1.52.0) · source

pub const fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div(2), Some(64));\nassert_eq!(1usize.checked_div(0), None);
\n
source

pub const fn strict_div(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer division. Computes self / rhs.\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div_euclid(2), Some(64));\nassert_eq!(1usize.checked_div_euclid(0), None);
\n
source

pub const fn strict_div_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean division. Computes self.div_euclid(rhs).\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_div(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div_euclid(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div_euclid(0);
\n
1.7.0 (const: 1.52.0) · source

pub const fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem(2), Some(1));\nassert_eq!(5usize.checked_rem(0), None);
\n
source

pub const fn strict_rem(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer remainder. Computes self % rhs.\nStrict remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean modulo. Computes self.rem_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem_euclid(2), Some(1));\nassert_eq!(5usize.checked_rem_euclid(0), None);
\n
source

pub const fn strict_rem_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean modulo. Computes self.rem_euclid(rhs).\nStrict modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem_euclid(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem_euclid(0);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog(self, base: usize) -> u32

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

This method might not be optimized owing to implementation details;\nilog2 can produce results more efficiently for base 2, and ilog10\ncan produce results more efficiently for base 10.

\n
§Panics
\n

This function will panic if self is zero, or if base is less than 2.

\n
§Examples
\n
assert_eq!(5usize.ilog(5), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog2(self) -> u32

Returns the base 2 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Examples
\n
assert_eq!(2usize.ilog2(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog10(self) -> u32

Returns the base 10 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Example
\n
assert_eq!(10usize.ilog10(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog(self, base: usize) -> Option<u32>

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

Returns None if the number is zero, or if the base is not at least 2.

\n

This method might not be optimized owing to implementation details;\nchecked_ilog2 can produce results more efficiently for base 2, and\nchecked_ilog10 can produce results more efficiently for base 10.

\n
§Examples
\n
assert_eq!(5usize.checked_ilog(5), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog2(self) -> Option<u32>

Returns the base 2 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(2usize.checked_ilog2(), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog10(self) -> Option<u32>

Returns the base 10 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(10usize.checked_ilog10(), Some(1));
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0usize.checked_neg(), Some(0));\nassert_eq!(1usize.checked_neg(), None);
\n
source

pub const fn strict_neg(self) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict negation. Computes -self, panicking unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0usize.strict_neg(), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_neg();
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x1usize.checked_shl(4), Some(0x10));\nassert_eq!(0x10usize.checked_shl(129), None);
\n
source

pub const fn strict_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift left. Computes self << rhs, panicking if rhs is larger\nthan or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x1usize.strict_shl(4), 0x10);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shl(129);
\n
source

pub const unsafe fn unchecked_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift left. Computes self << rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shl would return None.

\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x10usize.checked_shr(4), Some(0x1));\nassert_eq!(0x10usize.checked_shr(129), None);
\n
source

pub const fn strict_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift right. Computes self >> rhs, panicking rhs is\nlarger than or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x10usize.strict_shr(4), 0x1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shr(129);
\n
source

pub const unsafe fn unchecked_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift right. Computes self >> rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shr would return None.

\n
1.34.0 (const: 1.50.0) · source

pub const fn checked_pow(self, exp: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_pow(5), Some(32));\nassert_eq!(usize::MAX.checked_pow(2), None);
\n
source

pub const fn strict_pow(self, exp: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict exponentiation. Computes self.pow(exp), panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(2usize.strict_pow(5), 32);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_pow(2);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at\nthe numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_add(1), 101);\nassert_eq!(usize::MAX.saturating_add(127), usize::MAX);
\n
1.66.0 (const: 1.66.0) · source

pub const fn saturating_add_signed(self, rhs: isize) -> usize

Saturating addition with a signed integer. Computes self + rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.saturating_add_signed(2), 3);\nassert_eq!(1usize.saturating_add_signed(-2), 0);\nassert_eq!((usize::MAX - 2).saturating_add_signed(4), usize::MAX);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating\nat the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_sub(27), 73);\nassert_eq!(13usize.saturating_sub(127), 0);
\n
1.7.0 (const: 1.47.0) · source

pub const fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.saturating_mul(10), 20);\nassert_eq!((usize::MAX).saturating_mul(10), usize::MAX);
\n
1.58.0 (const: 1.58.0) · source

pub const fn saturating_div(self, rhs: usize) -> usize

Saturating integer division. Computes self / rhs, saturating at the\nnumeric bounds instead of overflowing.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.saturating_div(2), 2);\n
\n
1.34.0 (const: 1.50.0) · source

pub const fn saturating_pow(self, exp: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp),\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(4usize.saturating_pow(3), 64);\nassert_eq!(usize::MAX.saturating_pow(2), usize::MAX);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(200usize.wrapping_add(55), 255);\nassert_eq!(200usize.wrapping_add(usize::MAX), 199);
\n
1.66.0 (const: 1.66.0) · source

pub const fn wrapping_add_signed(self, rhs: isize) -> usize

Wrapping (modular) addition with a signed integer. Computes\nself + rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_add_signed(2), 3);\nassert_eq!(1usize.wrapping_add_signed(-2), usize::MAX);\nassert_eq!((usize::MAX - 2).wrapping_add_signed(4), 1);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_sub(100), 0);\nassert_eq!(100usize.wrapping_sub(usize::MAX), 101);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u8 is used here.

\n\n
assert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs.\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div(10), 10);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs).\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div_euclid(10), 10);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs.\nWrapped remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem(10), 0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean modulo. Computes self.rem_euclid(rhs).\nWrapped modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem_euclid(10), 0);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type.

\n

Since unsigned types do not have negative equivalents\nall applications of this function will wrap (except for -0).\nFor values smaller than the corresponding signed type’s maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to MAX + 1 - (val - MAX - 1) where\nMAX is the corresponding signed type’s maximum.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0_usize.wrapping_neg(), 0);\nassert_eq!(usize::MAX.wrapping_neg(), 1);\nassert_eq!(13_usize.wrapping_neg(), (!13) + 1);\nassert_eq!(42_usize.wrapping_neg(), !(42 - 1));
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_left function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_shl(7), 128);\nassert_eq!(1usize.wrapping_shl(128), 1);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_right function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.wrapping_shr(7), 1);\nassert_eq!(128usize.wrapping_shr(128), 128);
\n
1.34.0 (const: 1.50.0) · source

pub const fn wrapping_pow(self, exp: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp),\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_add(2), (7, false));\nassert_eq!(usize::MAX.overflowing_add(1), (0, true));
\n
source

pub const fn carrying_add(self, rhs: usize, carry: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates self + rhs + carry and returns a tuple containing\nthe sum and the output carry.

\n

Performs “ternary addition” of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.

\n

This can be thought of as a 64-bit “full adder”, in the electronics sense.

\n

If the input carry is false, this method is equivalent to\noverflowing_add, and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    3  MAX    (a = 3 × 2^64 + 2^64 - 1)\n// +  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    9    6    (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (usize, usize) = (3, usize::MAX);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));
\n
1.66.0 (const: 1.66.0) · source

pub const fn overflowing_add_signed(self, rhs: isize) -> (usize, bool)

Calculates self + rhs with a signed rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.overflowing_add_signed(2), (3, false));\nassert_eq!(1usize.overflowing_add_signed(-2), (usize::MAX, true));\nassert_eq!((usize::MAX - 2).overflowing_add_signed(4), (1, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs

\n

Returns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_sub(2), (3, false));\nassert_eq!(0usize.overflowing_sub(1), (usize::MAX, true));
\n
source

pub const fn borrowing_sub(self, rhs: usize, borrow: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates selfrhsborrow and returns a tuple\ncontaining the difference and the output borrow.

\n

Performs “ternary subtraction” by subtracting both an integer\noperand and a borrow-in bit from self, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    9    6    (a = 9 × 2^64 + 6)\n// -  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    3  MAX    (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (usize, usize) = (9, 6);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, usize::MAX));
\n
1.60.0 (const: 1.60.0) · source

pub const fn abs_diff(self, other: usize) -> usize

Computes the absolute difference between self and other.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.abs_diff(80), 20usize);\nassert_eq!(100usize.abs_diff(110), 10usize);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs.

\n

Returns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
assert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs.

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div(2), (2, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs).

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.overflowing_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div_euclid(2), (2, false));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs.

\n

Returns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem(2), (1, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Calculates the remainder self.rem_euclid(rhs) as if by Euclidean division.

\n

Returns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to self.overflowing_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem_euclid(2), (1, false));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_neg(self) -> (usize, bool)

Negates self in an overflowing fashion.

\n

Returns !self + 1 using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0usize.overflowing_neg(), (0, false));\nassert_eq!(2usize.overflowing_neg(), (-2i32 as usize, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x1usize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1usize.overflowing_shl(132), (0x10, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x10usize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10usize.overflowing_shr(132), (0x1, true));
\n
1.34.0 (const: 1.50.0) · source

pub const fn overflowing_pow(self, exp: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring.

\n

Returns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));
\n
1.0.0 (const: 1.50.0) · source

pub const fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.pow(5), 32);
\n
source

pub const fn isqrt(self) -> usize

🔬This is a nightly-only experimental API. (isqrt)

Returns the square root of the number, rounded down.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(isqrt)]\nassert_eq!(10usize.isqrt(), 3);
\n
1.38.0 (const: 1.52.0) · source

pub const fn div_euclid(self, rhs: usize) -> usize

Performs Euclidean division.

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self / rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.div_euclid(4), 1); // or any other integer type
\n
1.38.0 (const: 1.52.0) · source

pub const fn rem_euclid(self, rhs: usize) -> usize

Calculates the least remainder of self (mod rhs).

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self % rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.rem_euclid(4), 3); // or any other integer type
\n
source

pub const fn div_floor(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (int_roundings)

Calculates the quotient of self and rhs, rounding the result towards negative infinity.

\n

This is the same as performing self / rhs for all unsigned integers.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(int_roundings)]\nassert_eq!(7_usize.div_floor(4), 1);
\n
1.73.0 (const: 1.73.0) · source

pub const fn div_ceil(self, rhs: usize) -> usize

Calculates the quotient of self and rhs, rounding the result towards positive infinity.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7_usize.div_ceil(4), 2);
\n
1.73.0 (const: 1.73.0) · source

pub const fn next_multiple_of(self, rhs: usize) -> usize

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Overflow behavior
\n

On overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.next_multiple_of(8), 16);\nassert_eq!(23_usize.next_multiple_of(8), 24);
\n
1.73.0 (const: 1.73.0) · source

pub const fn checked_next_multiple_of(self, rhs: usize) -> Option<usize>

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs. Returns None if rhs is zero or the\noperation would result in overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_usize.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_usize.checked_next_multiple_of(0), None);\nassert_eq!(usize::MAX.checked_next_multiple_of(2), None);
\n
1.0.0 (const: 1.32.0) · source

pub const fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.

\n
§Examples
\n

Basic usage:

\n\n
assert!(16usize.is_power_of_two());\nassert!(!10usize.is_power_of_two());
\n
1.0.0 (const: 1.50.0) · source

pub const fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self.

\n

When return value overflows (i.e., self > (1 << (N-1)) for type\nuN), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.next_power_of_two(), 2);\nassert_eq!(3usize.next_power_of_two(), 4);\nassert_eq!(0usize.next_power_of_two(), 1);
\n
1.0.0 (const: 1.50.0) · source

pub const fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to self. If\nthe next power of two is greater than the type’s maximum value,\nNone is returned, otherwise the power of two is wrapped in Some.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_next_power_of_two(), Some(2));\nassert_eq!(3usize.checked_next_power_of_two(), Some(4));\nassert_eq!(usize::MAX.checked_next_power_of_two(), None);
\n
source

pub const fn wrapping_next_power_of_two(self) -> usize

🔬This is a nightly-only experimental API. (wrapping_next_power_of_two)

Returns the smallest power of two greater than or equal to n. If\nthe next power of two is greater than the type’s maximum value,\nthe return value is wrapped to 0.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2usize.wrapping_next_power_of_two(), 2);\nassert_eq!(3usize.wrapping_next_power_of_two(), 4);\nassert_eq!(usize::MAX.wrapping_next_power_of_two(), 0);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_be_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nbig-endian (network) byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_le_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nlittle-endian byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_ne_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nnative byte order.

\n

As the target platform’s native endianness is used, portable code\nshould use to_be_bytes or to_le_bytes, as appropriate,\ninstead.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_ne_bytes();\nassert_eq!(\n    bytes,\n    if cfg!(target_endian = \"big\") {\n        [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n    } else {\n        [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n    }\n);
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_be_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in big endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_be_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_be_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_le_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in little endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_le_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_le_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_ne_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its memory representation\nas a byte array in native endianness.

\n

As the target platform’s native endianness is used, portable code\nlikely wants to use from_be_bytes or from_le_bytes, as\nappropriate instead.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n    [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n    [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_ne_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_ne_bytes(int_bytes.try_into().unwrap())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn min_value() -> usize

👎Deprecating in a future version: replaced by the MIN associated constant on this type

New code should prefer to use\nusize::MIN instead.

\n

Returns the smallest value that can be represented by this integer type.

\n
1.0.0 (const: 1.32.0) · source

pub const fn max_value() -> usize

👎Deprecating in a future version: replaced by the MAX associated constant on this type

New code should prefer to use\nusize::MAX instead.

\n

Returns the largest value that can be represented by this integer type.

\n
source

pub const fn widening_mul(self, rhs: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the complete product self * rhs without the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

If you also need to add a carry to the wide result, then you want\nSelf::carrying_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));
\n
source

pub const fn carrying_mul(self, rhs: usize, carry: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the “full multiplication” self * rhs + carry\nwithout the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

Performs “long multiplication” which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create “big integers” which represent larger values.

\n

If you don’t need the carry, then you can use Self::widening_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(usize::MAX.carrying_mul(usize::MAX, usize::MAX), (0, usize::MAX));
\n

This is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.

\n\n
#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec<u16>, multiplicand: u16) {\n    let mut carry = 0;\n    for d in little_endian_digits.iter_mut() {\n        (*d, carry) = d.carrying_mul(multiplicand, carry);\n    }\n    if carry != 0 {\n        little_endian_digits.push(carry);\n    }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);
\n

If carry is zero, this is similar to overflowing_mul,\nexcept that it gives the value of the overflow instead of just whether one happened:

\n\n
#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));
\n

The value of the first field in the returned tuple matches what you’d get\nby combining the wrapping_mul and\nwrapping_add methods:

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(\n    789_u16.carrying_mul(456, 123).0,\n    789_u16.wrapping_mul(456).wrapping_add(123),\n);
\n
source

pub const fn midpoint(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (num_midpoint)

Calculates the middle point of self and rhs.

\n

midpoint(a, b) is (a + b) >> 1 as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards negative infinity and that no overflow will ever occur.

\n
§Examples
\n
#![feature(num_midpoint)]\nassert_eq!(0usize.midpoint(4), 2);\nassert_eq!(1usize.midpoint(4), 2);
\n
",0,"gosling::context::HandshakeHandle"],["
source§

impl usize

1.0.0 (const: unstable) · source

pub fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer.

\n

The string is expected to be an optional + sign\nfollowed by digits.\nLeading and trailing whitespace represent an error.\nDigits are a subset of these characters, depending on radix:

\n
    \n
  • 0-9
  • \n
  • a-z
  • \n
  • A-Z
  • \n
\n
§Panics
\n

This function panics if radix is not in the range from 2 to 36.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::from_str_radix(\"A\", 16), Ok(10));
\n
",0,"gosling::context::HandshakeHandle"],["
§

impl AtLeast16 for usize

","AtLeast16","gosling::context::HandshakeHandle"],["
§

impl AtLeast32 for usize

","AtLeast32","gosling::context::HandshakeHandle"],["
§

impl AtLeast64 for usize

","AtLeast64","gosling::context::HandshakeHandle"],["
§

impl AtLeast8 for usize

","AtLeast8","gosling::context::HandshakeHandle"],["
§

impl AtMost128 for usize

","AtMost128","gosling::context::HandshakeHandle"],["
§

impl AtMost64 for usize

","AtMost64","gosling::context::HandshakeHandle"],["
§

impl BitOps for usize

","BitOps","gosling::context::HandshakeHandle"],["
source§

impl ConstParamTy for usize

","ConstParamTy","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Copy for usize

","Copy","gosling::context::HandshakeHandle"],["
§

impl DefaultIsZeroes for usize

","DefaultIsZeroes","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Eq for usize

","Eq","gosling::context::HandshakeHandle"],["
§

impl ExtendTarget<usize> for usize

","ExtendTarget","gosling::context::HandshakeHandle"],["
source§

impl Index for usize

","Index","gosling::context::HandshakeHandle"],["
§

impl Index for usize

","Index","gosling::context::HandshakeHandle"],["
source§

impl Integer for usize

","Integer","gosling::context::HandshakeHandle"],["
§

impl Is64 for usize

","Is64","gosling::context::HandshakeHandle"],["
§

impl NotAutoValue for usize

","NotAutoValue","gosling::context::HandshakeHandle"],["
§

impl NumericOps for usize

","NumericOps","gosling::context::HandshakeHandle"],["
source§

impl SimdCast for usize

","SimdCast","gosling::context::HandshakeHandle"],["
source§

impl StructuralPartialEq for usize

","StructuralPartialEq","gosling::context::HandshakeHandle"],["
§

impl TruncateTarget<u16> for usize

","TruncateTarget","gosling::context::HandshakeHandle"],["
§

impl TruncateTarget<u8> for usize

","TruncateTarget","gosling::context::HandshakeHandle"],["
§

impl TruncateTarget<usize> for usize

","TruncateTarget","gosling::context::HandshakeHandle"],["
source§

impl TrustedStep for usize

","TrustedStep","gosling::context::HandshakeHandle"],["
§

impl Uint for usize

","Uint","gosling::context::HandshakeHandle"],["
source§

impl Unsigned for usize

","Unsigned","gosling::context::HandshakeHandle"],["
source§

impl Weight for usize

","Weight","gosling::context::HandshakeHandle"],["
source§

impl ZeroablePrimitive for usize

","ZeroablePrimitive","gosling::context::HandshakeHandle"]], -"tor_interface":[["
§

impl<T> Accumulate<T> for usize

§

fn initial(_capacity: Option<usize>) -> usize

Create a new Extend of the correct type
§

fn accumulate(&mut self, _acc: T)

Accumulate the input into an accumulator
","Accumulate","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Add<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: &BigInt) -> BigInt

Performs the + operation. Read more
","Add<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Add<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: &BigUint) -> BigUint

Performs the + operation. Read more
","Add<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Add<&usize> for usize

§

type Output = <usize as Add>::Output

The resulting type after applying the + operator.
source§

fn add(self, other: &usize) -> <usize as Add>::Output

Performs the + operation. Read more
","Add<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Add<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: BigInt) -> BigInt

Performs the + operation. Read more
","Add","tor_interface::tor_provider::CircuitToken"],["
source§

impl Add<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: BigUint) -> BigUint

Performs the + operation. Read more
","Add","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Add for usize

§

type Output = usize

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> usize

Performs the + operation. Read more
","Add","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl AddAssign<&usize> for usize

source§

fn add_assign(&mut self, other: &usize)

Performs the += operation. Read more
","AddAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl AddAssign for usize

source§

fn add_assign(&mut self, other: usize)

Performs the += operation. Read more
","AddAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl AsAny for usize

§

fn as_any(&self) -> &(dyn Any + 'static)

Returns thick pointer of &dyn Any type, that can be later downcasted\nback to a reference of the original type.
","AsAny","tor_interface::tor_provider::CircuitToken"],["
§

impl AsBytes for usize

§

fn as_bytes(&self) -> &[u8]

Gets the bytes of this value. Read more
§

fn as_bytes_mut(&mut self) -> &mut [u8]
where\n Self: FromBytes,

Gets the bytes of this value mutably. Read more
§

fn write_to(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to bytes. Read more
§

fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the prefix of bytes. Read more
§

fn write_to_suffix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the suffix of bytes. Read more
","AsBytes","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<f32> for usize

source§

fn as_(self) -> f32

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<f64> for usize

source§

fn as_(self) -> f64

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i128> for usize

source§

fn as_(self) -> i128

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i16> for usize

source§

fn as_(self) -> i16

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i32> for usize

source§

fn as_(self) -> i32

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i64> for usize

source§

fn as_(self) -> i64

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i8> for usize

source§

fn as_(self) -> i8

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<isize> for usize

source§

fn as_(self) -> isize

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u128> for usize

source§

fn as_(self) -> u128

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u16> for usize

source§

fn as_(self) -> u16

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u32> for usize

source§

fn as_(self) -> u32

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u64> for usize

source§

fn as_(self) -> u64

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u8> for usize

source§

fn as_(self) -> u8

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<usize> for usize

source§

fn as_(self) -> usize

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Binary for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Binary","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitAnd<&usize> for usize

§

type Output = <usize as BitAnd>::Output

The resulting type after applying the & operator.
source§

fn bitand(self, other: &usize) -> <usize as BitAnd>::Output

Performs the & operation. Read more
","BitAnd<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitAnd for usize

§

type Output = usize

The resulting type after applying the & operator.
source§

fn bitand(self, rhs: usize) -> usize

Performs the & operation. Read more
","BitAnd","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl BitAndAssign<&usize> for usize

source§

fn bitand_assign(&mut self, other: &usize)

Performs the &= operation. Read more
","BitAndAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl BitAndAssign for usize

source§

fn bitand_assign(&mut self, other: usize)

Performs the &= operation. Read more
","BitAndAssign","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitOr<&usize> for usize

§

type Output = <usize as BitOr>::Output

The resulting type after applying the | operator.
source§

fn bitor(self, other: &usize) -> <usize as BitOr>::Output

Performs the | operation. Read more
","BitOr<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitOr for usize

§

type Output = usize

The resulting type after applying the | operator.
source§

fn bitor(self, rhs: usize) -> usize

Performs the | operation. Read more
","BitOr","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl BitOrAssign<&usize> for usize

source§

fn bitor_assign(&mut self, other: &usize)

Performs the |= operation. Read more
","BitOrAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl BitOrAssign for usize

source§

fn bitor_assign(&mut self, other: usize)

Performs the |= operation. Read more
","BitOrAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl BitRegister for usize

§

const ALL: usize = 18_446_744_073_709_551_615usize

The literal !0.
§

const INDX: u8 = _

The number of bits required to store an index in the range 0 .. BITS.
§

const MASK: u8 = _

A mask over all bits that can be used as an index within the element.\nThis is the value with the least significant INDX-many bits set high.
","BitRegister","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a, T, O> BitSliceIndex<'a, T, O> for usize
where\n T: BitStore,\n O: BitOrder,

§

type Immut = BitRef<'a, Const, T, O>

The output type of immutable access.
§

type Mut = BitRef<'a, Mut, T, O>

The output type of mutable access.
§

fn get(\n self,\n bits: &'a BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Immut>

Immutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

fn get_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Mut>

Mutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

unsafe fn get_unchecked(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice without doing any bounds checking. Read more
§

unsafe fn get_unchecked_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice without doing any bounds checking. Read more
§

fn index(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice, panicking if self is out of\nbounds. Read more
§

fn index_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice, panicking if self is out of bounds. Read more
","BitSliceIndex<'a, T, O>","tor_interface::tor_provider::CircuitToken"],["
§

impl BitStore for usize

§

type Access = Cell<usize>

The unsigned integers will only be BitStore type parameters\nfor handles to unaliased memory, following the normal Rust\nreference rules.

\n
§

type Mem = usize

The element type used in the memory region underlying a BitSlice. It\nis always one of the unsigned integer fundamentals.
§

type Alias = BitSafeUsize

A sibling BitStore implementor that is known to be alias-safe. It is\nused when a BitSlice introduces multiple handles that view the same\nmemory location, and at least one of them has write capabilities to it.\nIt must have the same underlying memory type, and can only change access\npatterns or public-facing usage.
§

type Unalias = usize

The inverse of ::Alias. It is used when a BitSlice removes the\nconditions that required a T -> T::Alias transition.
§

const ZERO: usize = 0usize

The zero constant.
§

fn new(value: <usize as BitStore>::Mem) -> usize

Wraps a raw memory value as a BitStore type.
§

fn load_value(&self) -> <usize as BitStore>::Mem

Loads a value out of the memory system according to the ::Access\nrules. This may be called when the value is aliased by a write-capable\nreference.
§

fn store_value(&mut self, value: <usize as BitStore>::Mem)

Stores a value into the memory system. This is only called when there\nare no other handles to the value, and it may bypass ::Access\nconstraints.
§

const ALIGNED_TO_SIZE: [(); 1] = _

All implementors are required to have their alignment match their size. Read more
§

const ALIAS_WIDTH: [(); 1] = _

All implementors are required to have Self and Self::Alias be equal\nin representation. This is true by fiat for all types except the\nunsigned integers. Read more
§

fn get_bit<O>(&self, index: BitIdx<Self::Mem>) -> bool
where\n O: BitOrder,

Reads a single bit out of the memory system according to the ::Access\nrules. This is lifted from BitAccess so that it can be used\nelsewhere without additional casts. Read more
","BitStore","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitXor<&usize> for usize

§

type Output = <usize as BitXor>::Output

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: &usize) -> <usize as BitXor>::Output

Performs the ^ operation. Read more
","BitXor<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitXor for usize

§

type Output = usize

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: usize) -> usize

Performs the ^ operation. Read more
","BitXor","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl BitXorAssign<&usize> for usize

source§

fn bitxor_assign(&mut self, other: &usize)

Performs the ^= operation. Read more
","BitXorAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl BitXorAssign for usize

source§

fn bitxor_assign(&mut self, other: usize)

Performs the ^= operation. Read more
","BitXorAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl Bits for usize

§

const EMPTY: usize = 0usize

A value with all bits unset.
§

const ALL: usize = 18_446_744_073_709_551_615usize

A value with all bits set.
","Bits","tor_interface::tor_provider::CircuitToken"],["
source§

impl Bounded for usize

source§

fn min_value() -> usize

Returns the smallest finite number this type can represent
source§

fn max_value() -> usize

Returns the largest finite number this type can represent
","Bounded","tor_interface::tor_provider::CircuitToken"],["
§

impl CastSigned for usize

§

type Signed = isize

The signed integer type with the same size as Self.
§

fn cast_signed(self) -> <usize as CastSigned>::Signed

Cast an integer to the signed integer of the same size.
","CastSigned","tor_interface::tor_provider::CircuitToken"],["
§

impl CastUnsigned for usize

§

type Unsigned = usize

The unsigned integer type with the same size as Self.
§

fn cast_unsigned(self) -> <usize as CastUnsigned>::Unsigned

Cast an integer to the unsigned integer of the same size.
","CastUnsigned","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedAdd for usize

source§

fn checked_add(&self, v: &usize) -> Option<usize>

Adds two numbers, checking for overflow. If overflow happens, None is\nreturned.
","CheckedAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedDiv for usize

source§

fn checked_div(&self, v: &usize) -> Option<usize>

Divides two numbers, checking for underflow, overflow and division by\nzero. If any of that happens, None is returned.
","CheckedDiv","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedEuclid for usize

source§

fn checked_div_euclid(&self, v: &usize) -> Option<usize>

Performs euclid division that returns None instead of panicking on division by zero\nand instead of wrapping around on underflow and overflow.
source§

fn checked_rem_euclid(&self, v: &usize) -> Option<usize>

Finds the euclid remainder of dividing two numbers, checking for underflow, overflow and\ndivision by zero. If any of that happens, None is returned.
source§

fn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>

Returns both the quotient and remainder from checked Euclidean division. Read more
","CheckedEuclid","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedMul for usize

source§

fn checked_mul(&self, v: &usize) -> Option<usize>

Multiplies two numbers, checking for underflow or overflow. If underflow\nor overflow happens, None is returned.
","CheckedMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedNeg for usize

source§

fn checked_neg(&self) -> Option<usize>

Negates a number, returning None for results that can’t be represented, like signed MIN\nvalues that can’t be positive, or non-zero unsigned values that can’t be negative. Read more
","CheckedNeg","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedRem for usize

source§

fn checked_rem(&self, v: &usize) -> Option<usize>

Finds the remainder of dividing two numbers, checking for underflow, overflow and division\nby zero. If any of that happens, None is returned. Read more
","CheckedRem","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedShl for usize

source§

fn checked_shl(&self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShl","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedShr for usize

source§

fn checked_shr(&self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShr","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedSub for usize

source§

fn checked_sub(&self, v: &usize) -> Option<usize>

Subtracts two numbers, checking for underflow. If underflow happens,\nNone is returned.
","CheckedSub","tor_interface::tor_provider::CircuitToken"],["
§

impl<T> CheckedSum<usize> for T
where\n T: IntoIterator<Item = usize>,

§

fn checked_sum(self) -> Result<usize, Error>

Iterate over the values of this type, computing a checked sum. Read more
","CheckedSum","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Clone for usize

source§

fn clone(&self) -> usize

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstOne for usize

source§

const ONE: usize = 1usize

The multiplicative identity element of Self, 1.
","ConstOne","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstZero for usize

source§

const ZERO: usize = 0usize

The additive identity element of Self, 0.
","ConstZero","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstantTimeEq for usize

source§

fn ct_eq(&self, other: &usize) -> Choice

Determine if two items are equal. Read more
source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
","ConstantTimeEq","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Debug for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","tor_interface::tor_provider::CircuitToken"],["
§

impl Decode for usize

Decode a usize.

\n

Uses [Decode] impl on u32 and then converts to a usize, handling\npotential overflow if usize is smaller than u32.

\n

Enforces a library-internal limit of 1048575, as the main use case for\nusize is length prefixes.

\n
§

type Error = Error

Type returned in the event of a decoding error.
§

fn decode(reader: &mut impl Reader) -> Result<usize, Error>

Attempt to decode a value of this type using the provided [Reader].
","Decode","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Default for usize

source§

fn default() -> usize

Returns the default value of 0

\n
","Default","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'de> Deserialize<'de> for usize

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<usize, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Display for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Div<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: &BigInt) -> BigInt

Performs the / operation. Read more
","Div<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Div<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: &BigUint) -> BigUint

Performs the / operation. Read more
","Div<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Div<&usize> for usize

§

type Output = <usize as Div>::Output

The resulting type after applying the / operator.
source§

fn div(self, other: &usize) -> <usize as Div>::Output

Performs the / operation. Read more
","Div<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Div<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: BigInt) -> BigInt

Performs the / operation. Read more
","Div","tor_interface::tor_provider::CircuitToken"],["
source§

impl Div<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: BigUint) -> BigUint

Performs the / operation. Read more
","Div","tor_interface::tor_provider::CircuitToken"],["
1.51.0 · source§

impl Div<NonZero<usize>> for usize

source§

fn div(self, other: NonZero<usize>) -> usize

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the / operator.
","Div>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Div for usize

This operation rounds towards zero, truncating any\nfractional part of the exact result.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the / operator.
source§

fn div(self, other: usize) -> usize

Performs the / operation. Read more
","Div","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl DivAssign<&usize> for usize

source§

fn div_assign(&mut self, other: &usize)

Performs the /= operation. Read more
","DivAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.79.0 · source§

impl DivAssign<NonZero<usize>> for usize

source§

fn div_assign(&mut self, other: NonZero<usize>)

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
","DivAssign>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl DivAssign for usize

source§

fn div_assign(&mut self, other: usize)

Performs the /= operation. Read more
","DivAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl Encode for usize

Encode a usize as a uint32 as described in RFC4251 § 5.

\n

Uses [Encode] impl on u32 after converting from a usize, handling\npotential overflow if usize is bigger than u32.

\n
§

fn encoded_len(&self) -> Result<usize, Error>

Get the length of this type encoded in bytes, prior to Base64 encoding.
§

fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value using the provided [Writer].
§

fn encoded_len_prefixed(&self) -> Result<usize, Error>

Return the length of this type after encoding when prepended with a\nuint32 length prefix.
§

fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value, first prepending a uint32 length prefix\nset to [Encode::encoded_len].
","Encode","tor_interface::tor_provider::CircuitToken"],["
source§

impl Euclid for usize

source§

fn div_euclid(&self, v: &usize) -> usize

Calculates Euclidean division, the matching method for rem_euclid. Read more
source§

fn rem_euclid(&self, v: &usize) -> usize

Calculates the least nonnegative remainder of self (mod v). Read more
source§

fn div_rem_euclid(&self, v: &Self) -> (Self, Self)

Returns both the quotient and remainder from Euclidean division. Read more
","Euclid","tor_interface::tor_provider::CircuitToken"],["
source§

impl FmtConst for usize

source§

fn fmt_const(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Print a const expression representing this value.
","FmtConst","tor_interface::tor_provider::CircuitToken"],["
source§

impl From<Alignment> for usize

source§

fn from(align: Alignment) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<ByteQty> for usize

§

fn from(value: ByteQty) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<HopNum> for usize

§

fn from(hop: HopNum) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<HsDirPos> for usize

§

fn from(value: HsDirPos) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<IntroPtIndex> for usize

§

fn from(value: IntroPtIndex) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl<const MIN: usize, const MAX: usize> From<RangedUsize<MIN, MAX>> for usize

§

fn from(value: RangedUsize<MIN, MAX>) -> usize

Converts to this type from the input type.
","From>","tor_interface::tor_provider::CircuitToken"],["
§

impl From<RouterStatusIdx> for usize

§

fn from(value: RouterStatusIdx) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<State> for usize

§

fn from(src: State) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<Token> for usize

§

fn from(val: Token) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<Token> for usize

§

fn from(val: Token) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl<O> From<U16<O>> for usize
where\n O: ByteOrder,

§

fn from(x: U16<O>) -> usize

Converts to this type from the input type.
","From>","tor_interface::tor_provider::CircuitToken"],["
1.28.0 · source§

impl From<bool> for usize

source§

fn from(small: bool) -> usize

Converts a bool to usize losslessly.\nThe resulting value is 0 for false and 1 for true values.

\n
§Examples
\n
assert_eq!(usize::from(true), 1);\nassert_eq!(usize::from(false), 0);
\n
","From","tor_interface::tor_provider::CircuitToken"],["
1.26.0 · source§

impl From<u16> for usize

source§

fn from(small: u16) -> usize

Converts u16 to usize losslessly.

\n
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u24> for usize

§

fn from(val: u24) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u40> for usize

§

fn from(val: u40) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u48> for usize

§

fn from(val: u48) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u56> for usize

§

fn from(val: u56) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
1.5.0 · source§

impl From<u8> for usize

source§

fn from(small: u8) -> usize

Converts u8 to usize losslessly.

\n
","From","tor_interface::tor_provider::CircuitToken"],["
source§

impl FromBytes for usize

§

type Bytes = [u8; 8]

source§

fn from_be_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in big endian. Read more
source§

fn from_le_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in little endian. Read more
source§

fn from_ne_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its memory representation as a byte array in native endianness. Read more
","FromBytes","tor_interface::tor_provider::CircuitToken"],["
§

impl FromBytes for usize

§

fn ref_from(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the given bytes as a &Self without copying. Read more
§

fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &Self without copying. Read more
§

fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &Self without copying. Read more
§

fn mut_from(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut Self without copying. Read more
§

fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut Self without\ncopying. Read more
§

fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut Self without copying. Read more
§

fn slice_from(bytes: &[u8]) -> Option<&[Self]>
where\n Self: Sized,

Interprets the given bytes as a &[Self] without copying. Read more
§

fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut [Self] without copying. Read more
§

fn mut_slice_from_prefix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [Self], &mut [u8])>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from_suffix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [u8], &mut [Self])>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn read_from(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from bytes. Read more
§

fn read_from_prefix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
§

fn read_from_suffix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
","FromBytes","tor_interface::tor_provider::CircuitToken"],["
source§

impl FromPrimitive for usize

source§

fn from_isize(n: isize) -> Option<usize>

Converts an isize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i8(n: i8) -> Option<usize>

Converts an i8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i16(n: i16) -> Option<usize>

Converts an i16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i32(n: i32) -> Option<usize>

Converts an i32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i64(n: i64) -> Option<usize>

Converts an i64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i128(n: i128) -> Option<usize>

Converts an i128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_usize(n: usize) -> Option<usize>

Converts a usize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u8(n: u8) -> Option<usize>

Converts an u8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u16(n: u16) -> Option<usize>

Converts an u16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u32(n: u32) -> Option<usize>

Converts an u32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u64(n: u64) -> Option<usize>

Converts an u64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u128(n: u128) -> Option<usize>

Converts an u128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_f32(n: f32) -> Option<usize>

Converts a f32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_f64(n: f64) -> Option<usize>

Converts a f64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
","FromPrimitive","tor_interface::tor_provider::CircuitToken"],["
§

impl FromSql for usize

§

fn column_result(value: ValueRef<'_>) -> Result<usize, FromSqlError>

Converts SQLite value into Rust value.
","FromSql","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl FromStr for usize

§

type Err = ParseIntError

The associated error which can be returned from parsing.
source§

fn from_str(src: &str) -> Result<usize, ParseIntError>

Parses a string s to return a value of this type. Read more
","FromStr","tor_interface::tor_provider::CircuitToken"],["
§

impl FromZeroes for usize

§

fn zero(&mut self)

Overwrites self with zeroes. Read more
§

fn new_zeroed() -> Self
where\n Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
","FromZeroes","tor_interface::tor_provider::CircuitToken"],["
§

impl Fundamental for usize

§

fn as_bool(self) -> bool

Tests self != 0.
§

fn as_char(self) -> Option<char>

Represents self as a Unicode Scalar Value, if possible.
§

fn as_i8(self) -> i8

Performs self as i8.
§

fn as_i16(self) -> i16

Performs self as i16.
§

fn as_i32(self) -> i32

Performs self as i32.
§

fn as_i64(self) -> i64

Performs self as i64.
§

fn as_i128(self) -> i128

Performs self as i128.
§

fn as_isize(self) -> isize

Performs self as isize.
§

fn as_u8(self) -> u8

Performs self as u8.
§

fn as_u16(self) -> u16

Performs self as u16.
§

fn as_u32(self) -> u32

Performs self as u32.
§

fn as_u64(self) -> u64

Performs self as u64.
§

fn as_u128(self) -> u128

Performs self as u128.
§

fn as_usize(self) -> usize

Performs self as usize.
§

fn as_f32(self) -> f32

Performs self as f32.
§

fn as_f64(self) -> f64

Performs self as f64.
","Fundamental","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Hash for usize

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
source§

fn hash_slice<H>(data: &[usize], state: &mut H)
where\n H: Hasher,

Feeds a slice of this type into the given Hasher. Read more
","Hash","tor_interface::tor_provider::CircuitToken"],["
source§

impl Integer for usize

source§

fn div_floor(&self, other: &usize) -> usize

Unsigned integer division. Returns the same result as div (/).

\n
source§

fn mod_floor(&self, other: &usize) -> usize

Unsigned integer modulo operation. Returns the same result as rem (%).

\n
source§

fn gcd(&self, other: &usize) -> usize

Calculates the Greatest Common Divisor (GCD) of the number and other

\n
source§

fn lcm(&self, other: &usize) -> usize

Calculates the Lowest Common Multiple (LCM) of the number and other.

\n
source§

fn gcd_lcm(&self, other: &usize) -> (usize, usize)

Calculates the Greatest Common Divisor (GCD) and\nLowest Common Multiple (LCM) of the number and other.

\n
source§

fn is_multiple_of(&self, other: &usize) -> bool

Returns true if the number is a multiple of other.

\n
source§

fn is_even(&self) -> bool

Returns true if the number is divisible by 2.

\n
source§

fn is_odd(&self) -> bool

Returns true if the number is not divisible by 2.

\n
source§

fn div_rem(&self, other: &usize) -> (usize, usize)

Simultaneous truncated integer division and modulus.

\n
source§

fn div_ceil(&self, other: &usize) -> usize

Ceiled integer division. Read more
source§

fn extended_gcd_lcm(&self, other: &usize) -> (ExtendedGcd<usize>, usize)

Greatest common divisor, least common multiple, and Bézout coefficients.
source§

fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
where\n Self: Clone,

Greatest common divisor and Bézout coefficients. Read more
source§

fn divides(&self, other: &Self) -> bool

👎Deprecated: Please use is_multiple_of instead
Deprecated, use is_multiple_of instead.
source§

fn div_mod_floor(&self, other: &Self) -> (Self, Self)

Simultaneous floored integer division and modulus.\nReturns (quotient, remainder). Read more
source§

fn next_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds up to nearest multiple of argument. Read more
source§

fn prev_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds down to nearest multiple of argument. Read more
source§

fn dec(&mut self)
where\n Self: Clone,

Decrements self by one. Read more
source§

fn inc(&mut self)
where\n Self: Clone,

Increments self by one. Read more
","Integer","tor_interface::tor_provider::CircuitToken"],["
§

impl Integral for usize

§

const ZERO: usize = 0usize

The type’s zero value.
§

const ONE: usize = 1usize

The type’s step value.
§

const MIN: usize = 0usize

The type’s minimum value. This is zero for unsigned integers.
§

const MAX: usize = 18_446_744_073_709_551_615usize

The type’s maximum value.
§

const BITS: u32 = 64u32

The size of this type in bits.
§

fn min_value() -> usize

Returns the smallest value that can be represented by this integer type.
§

fn max_value() -> usize

Returns the largest value that can be represented by this integer type.
§

fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer. Read more
§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.
§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.
§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of\nself.
§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation of\nself.
§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of\nself.
§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation of\nself.
§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping the\ntruncated bits to the end of the resulting integer. Read more
§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping the\ntruncated bits to the beginning of the resulting integer. Read more
§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer.
§

fn reverse_bits(self) -> usize

Reverses the bit pattern of the integer.
§

fn from_be(self) -> usize

Converts an integer from big endian to the target’s endianness. Read more
§

fn from_le(self) -> usize

Converts an integer frm little endian to the target’s endianness. Read more
§

fn to_be(self) -> usize

Converts self to big endian from the target’s endianness. Read more
§

fn to_le(self) -> usize

Converts self to little endian from the target’s endianness. Read more
§

fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None if\noverflow occurred.
§

fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning None if\noverflow occurred.
§

fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning None\nif overflow occurred.
§

fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean remainder. Computes self.rem_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None if self == MIN. Read more
§

fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None if rhs is\nlarger than or equal to the number of bits in self.
§

fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None if rhs\nis larger than or equal to the number of bits in self.
§

fn checked_pow(self, rhs: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.
§

fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs, saturating at\nthe numeric bounds instead of overflowing.
§

fn saturating_pow(self, rhs: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp), saturating\nat the numeric bounds instead of overflowing.
§

fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs, wrapping around at\nthe boundary of the type.
§

fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs, wrapping around\nat the boundary of the type.
§

fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping\naround at the boundary of the type.
§

fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean remainder. Computes self.rem_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self, wrapping around at the\nboundary of the type. Read more
§

fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_pow(self, rhs: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp), wrapping\naround at the boundary of the type.
§

fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs Read more
§

fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs Read more
§

fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs. Read more
§

fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs. Read more
§

fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs). Read more
§

fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs. Read more
§

fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Overflowing Euclidean remainder. Calculates self.rem_euclid(rhs). Read more
§

fn overflowing_neg(self) -> (usize, bool)

Negates self, overflowing if this is equal to the minimum value. Read more
§

fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits. Read more
§

fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits. Read more
§

fn overflowing_pow(self, rhs: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring. Read more
§

fn pow(self, rhs: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.
§

fn div_euclid(self, rhs: usize) -> usize

Calculates the quotient of Euclidean division of self by rhs. Read more
§

fn rem_euclid(self, rhs: usize) -> usize

Calculates the least nonnegative remainder of self (mod rhs). Read more
","Integral","tor_interface::tor_provider::CircuitToken"],["
source§

impl IntoBigInt for usize

source§

fn into_bigint(self) -> Option<BigInt>

Converts the value of self to a BigInt.
","IntoBigInt","tor_interface::tor_provider::CircuitToken"],["
source§

impl IntoBigUint for usize

source§

fn into_biguint(self) -> Option<BigUint>

Converts the value of self to a BigUint.
","IntoBigUint","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'de, E> IntoDeserializer<'de, E> for usize
where\n E: Error,

§

type Deserializer = UsizeDeserializer<E>

The type of the deserializer being converted into.
source§

fn into_deserializer(self) -> UsizeDeserializer<E>

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","tor_interface::tor_provider::CircuitToken"],["
§

impl IntoNotification for usize

§

type Tag = ()

The tag data associated with a notification. Read more
§

type Notify = Notify

The notification type. Read more
§

fn into_notification(self) -> <usize as IntoNotification>::Notify

Convert this value into a notification. Read more
§

fn additional(self) -> Additional<Self::Notify>
where\n Self: Sized,

Convert this value into an additional notification. Read more
§

fn relaxed(self) -> Relaxed<Self::Notify>
where\n Self: Sized,

Don’t emit a fence for this notification. Read more
§

fn tag<T>(self, tag: T) -> Tag<Self::Notify, T>
where\n T: Clone,\n Self: Sized + IntoNotification<Tag = ()>,

Use a tag with this notification. Read more
§

fn tag_with<T, F>(self, tag: F) -> TagWith<Self::Notify, F>
where\n Self: Sized + IntoNotification<Tag = ()>,\n F: FnMut() -> T,

Use a function to generate a tag with this notification. Read more
","IntoNotification","tor_interface::tor_provider::CircuitToken"],["
1.42.0 · source§

impl LowerExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerExp","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl LowerHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerHex","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Mul<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigInt) -> BigInt

Performs the * operation. Read more
","Mul<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Mul<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigUint) -> BigUint

Performs the * operation. Read more
","Mul<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Mul<&usize> for usize

§

type Output = <usize as Mul>::Output

The resulting type after applying the * operator.
source§

fn mul(self, other: &usize) -> <usize as Mul>::Output

Performs the * operation. Read more
","Mul<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Mul<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: BigInt) -> BigInt

Performs the * operation. Read more
","Mul","tor_interface::tor_provider::CircuitToken"],["
source§

impl Mul<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: BigUint) -> BigUint

Performs the * operation. Read more
","Mul","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Mul for usize

§

type Output = usize

The resulting type after applying the * operator.
source§

fn mul(self, other: usize) -> usize

Performs the * operation. Read more
","Mul","tor_interface::tor_provider::CircuitToken"],["
source§

impl MulAdd for usize

§

type Output = usize

The resulting type after applying the fused multiply-add.
source§

fn mul_add(self, a: usize, b: usize) -> <usize as MulAdd>::Output

Performs the fused multiply-add operation (self * a) + b
","MulAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl MulAddAssign for usize

source§

fn mul_add_assign(&mut self, a: usize, b: usize)

Performs the fused multiply-add assignment operation *self = (*self * a) + b
","MulAddAssign","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl MulAssign<&usize> for usize

source§

fn mul_assign(&mut self, other: &usize)

Performs the *= operation. Read more
","MulAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl MulAssign for usize

source§

fn mul_assign(&mut self, other: usize)

Performs the *= operation. Read more
","MulAssign","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Not for usize

§

type Output = usize

The resulting type after applying the ! operator.
source§

fn not(self) -> usize

Performs the unary ! operation. Read more
","Not","tor_interface::tor_provider::CircuitToken"],["
source§

impl Num for usize

§

type FromStrRadixErr = ParseIntError

source§

fn from_str_radix(s: &str, radix: u32) -> Result<usize, ParseIntError>

Convert from a string and radix (typically 2..=36). Read more
","Num","tor_interface::tor_provider::CircuitToken"],["
source§

impl NumCast for usize

source§

fn from<N>(n: N) -> Option<usize>
where\n N: ToPrimitive,

Creates a number from another value that can be converted into\na primitive via the ToPrimitive trait. If the source value cannot be\nrepresented by the target type, then None is returned. Read more
","NumCast","tor_interface::tor_provider::CircuitToken"],["
§

impl Numeric for usize

§

type Bytes = [u8; 8]

The [u8; N] byte array that stores values of Self.
§

fn to_be_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nbig-endian (network) byte order.
§

fn to_le_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nlittle-endian byte order.
§

fn to_ne_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nnative byte order.
§

fn from_be_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in big\nendian.
§

fn from_le_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in little\nendian.
§

fn from_ne_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its memory representation as a byte array in\nnative endianness.
","Numeric","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Octal for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Octal","tor_interface::tor_provider::CircuitToken"],["
source§

impl One for usize

source§

fn one() -> usize

Returns the multiplicative identity element of Self, 1. Read more
source§

fn is_one(&self) -> bool

Returns true if self is equal to the multiplicative identity. Read more
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
","One","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Ord for usize

source§

fn cmp(&self, other: &usize) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","tor_interface::tor_provider::CircuitToken"],["
source§

impl OverflowingAdd for usize

source§

fn overflowing_add(&self, v: &usize) -> (usize, bool)

Returns a tuple of the sum along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl OverflowingMul for usize

source§

fn overflowing_mul(&self, v: &usize) -> (usize, bool)

Returns a tuple of the product along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl OverflowingSub for usize

source§

fn overflowing_sub(&self, v: &usize) -> (usize, bool)

Returns a tuple of the difference along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingSub","tor_interface::tor_provider::CircuitToken"],["
§

impl ParseHex for usize

§

fn parse_hex(input: &str) -> Result<usize, ParseError>

Parse the value from hex.
","ParseHex","tor_interface::tor_provider::CircuitToken"],["
source§

impl PartialEq<Value> for usize

source§

fn eq(&self, other: &Value) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl PartialEq for usize

source§

fn eq(&self, other: &usize) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
source§

fn ne(&self, other: &usize) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl PartialOrd for usize

source§

fn partial_cmp(&self, other: &usize) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
source§

fn lt(&self, other: &usize) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
source§

fn le(&self, other: &usize) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
source§

fn ge(&self, other: &usize) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
source§

fn gt(&self, other: &usize) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
","PartialOrd","tor_interface::tor_provider::CircuitToken"],["
source§

impl PhfBorrow<usize> for usize

source§

fn borrow(&self) -> &usize

Convert a reference to self to a reference to the borrowed type.
","PhfBorrow","tor_interface::tor_provider::CircuitToken"],["
source§

impl PhfHash for usize

source§

fn phf_hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds the value into the state given, updating the hasher as necessary.
source§

fn phf_hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the state provided.
","PhfHash","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u16) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u16>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u32) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u32>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u8) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u8>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a usize) -> usize

Returns self to the power rhs. Read more
","Pow<&'a usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<U> Pow<PInt<U>> for usize
where\n U: Unsigned + NonZero,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: PInt<U>) -> <usize as Pow<PInt<U>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<U, B> Pow<UInt<U, B>> for usize
where\n U: Unsigned,\n B: Bit,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UInt<U, B>) -> <usize as Pow<UInt<U, B>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<UTerm> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UTerm) -> <usize as Pow<UTerm>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<Z0> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: Z0) -> <usize as Pow<Z0>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u16) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u32) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u8) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: usize) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl PrimInt for usize

source§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self. Read more
source§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self. Read more
source§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation\nof self. Read more
source§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation\nof self. Read more
source§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self. Read more
source§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self. Read more
source§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping\nthe truncated bits to the end of the resulting integer. Read more
source§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping\nthe truncated bits to the beginning of the resulting integer. Read more
source§

fn signed_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn signed_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, copying\nthe “sign bit” in the most significant bits even for unsigned types. Read more
source§

fn unsigned_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn unsigned_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, filling\nzeros in the most significant bits. Read more
source§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer. Read more
source§

fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. Read more
source§

fn from_be(x: usize) -> usize

Convert an integer from big endian to the target’s endianness. Read more
source§

fn from_le(x: usize) -> usize

Convert an integer from little endian to the target’s endianness. Read more
source§

fn to_be(self) -> usize

Convert self to big endian from the target’s endianness. Read more
source§

fn to_le(self) -> usize

Convert self to little endian from the target’s endianness. Read more
source§

fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring. Read more
","PrimInt","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl<'a> Product<&'a usize> for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product<&'a usize>","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl Product for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product","tor_interface::tor_provider::CircuitToken"],["
§

impl<R> RangeExt<usize> for R
where\n R: RangeBounds<usize>,

§

fn normalize(\n self,\n start: impl Into<Option<usize>>,\n end: impl Into<Option<usize>>,\n) -> Range<usize>

Normalizes a range-like type to a canonical half-open Range. Read more
§

fn intersection<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the intersection between two range-likes. The produced Range\nspans only the elements common to both. Read more
§

fn union<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the union between two range-likes. The produced Range spans all\nelements present in at least one of them. Read more
","RangeExt","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Rem<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigInt) -> BigInt

Performs the % operation. Read more
","Rem<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Rem<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigUint) -> BigUint

Performs the % operation. Read more
","Rem<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Rem<&usize> for usize

§

type Output = <usize as Rem>::Output

The resulting type after applying the % operator.
source§

fn rem(self, other: &usize) -> <usize as Rem>::Output

Performs the % operation. Read more
","Rem<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Rem<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: BigInt) -> BigInt

Performs the % operation. Read more
","Rem","tor_interface::tor_provider::CircuitToken"],["
source§

impl Rem<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: BigUint) -> BigUint

Performs the % operation. Read more
","Rem","tor_interface::tor_provider::CircuitToken"],["
1.51.0 · source§

impl Rem<NonZero<usize>> for usize

source§

fn rem(self, other: NonZero<usize>) -> usize

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the % operator.
","Rem>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Rem for usize

This operation satisfies n % d == n - (n / d) * d. The\nresult has the same sign as the left operand.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the % operator.
source§

fn rem(self, other: usize) -> usize

Performs the % operation. Read more
","Rem","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> RemAssign<&'a BigUint> for usize

source§

fn rem_assign(&mut self, other: &BigUint)

Performs the %= operation. Read more
","RemAssign<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl RemAssign<&usize> for usize

source§

fn rem_assign(&mut self, other: &usize)

Performs the %= operation. Read more
","RemAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl RemAssign<BigUint> for usize

source§

fn rem_assign(&mut self, other: BigUint)

Performs the %= operation. Read more
","RemAssign","tor_interface::tor_provider::CircuitToken"],["
1.79.0 · source§

impl RemAssign<NonZero<usize>> for usize

source§

fn rem_assign(&mut self, other: NonZero<usize>)

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
","RemAssign>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl RemAssign for usize

source§

fn rem_assign(&mut self, other: usize)

Performs the %= operation. Read more
","RemAssign","tor_interface::tor_provider::CircuitToken"],["
source§

impl Roots for usize

source§

fn nth_root(&self, n: u32) -> usize

Returns the truncated principal nth root of an integer\n– if x >= 0 { ⌊ⁿ√x⌋ } else { ⌈ⁿ√x⌉ } Read more
source§

fn sqrt(&self) -> usize

Returns the truncated principal square root of an integer – ⌊√x⌋ Read more
source§

fn cbrt(&self) -> usize

Returns the truncated principal cube root of an integer –\nif x >= 0 { ⌊∛x⌋ } else { ⌈∛x⌉ } Read more
","Roots","tor_interface::tor_provider::CircuitToken"],["
§

impl RowIndex for usize

§

fn idx(&self, stmt: &Statement<'_>) -> Result<usize, Error>

Returns the index of the appropriate column, or None if no such\ncolumn exists.
","RowIndex","tor_interface::tor_provider::CircuitToken"],["
source§

impl SampleUniform for usize

§

type Sampler = UniformInt<usize>

The UniformSampler implementation supporting type X.
","SampleUniform","tor_interface::tor_provider::CircuitToken"],["
source§

impl Saturating for usize

source§

fn saturating_add(self, v: usize) -> usize

Saturating addition operator.\nReturns a+b, saturating at the numeric bounds instead of overflowing.
source§

fn saturating_sub(self, v: usize) -> usize

Saturating subtraction operator.\nReturns a-b, saturating at the numeric bounds instead of overflowing.
","Saturating","tor_interface::tor_provider::CircuitToken"],["
source§

impl SaturatingAdd for usize

source§

fn saturating_add(&self, v: &usize) -> usize

Saturating addition. Computes self + other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl SaturatingMul for usize

source§

fn saturating_mul(&self, v: &usize) -> usize

Saturating multiplication. Computes self * other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl SaturatingSub for usize

source§

fn saturating_sub(&self, v: &usize) -> usize

Saturating subtraction. Computes self - other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingSub","tor_interface::tor_provider::CircuitToken"],["
§

impl SeekNum for usize

§

fn from_block_byte<T>(\n block: T,\n byte: u8,\n bs: u8,\n) -> Result<usize, OverflowError>
where\n T: Counter,

Try to get position for block number block, byte position inside\nblock byte, and block size bs.
§

fn into_block_byte<T>(self, bs: u8) -> Result<(T, u8), OverflowError>
where\n T: Counter,

Try to get block number and bytes position for given block size bs.
","SeekNum","tor_interface::tor_provider::CircuitToken"],["
source§

impl Serialize for usize

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i128> for usize

§

type Output = <usize as Shl<i128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i128) -> <usize as Shl<i128>>::Output

Performs the << operation. Read more
","Shl<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i16> for usize

§

type Output = <usize as Shl<i16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i16) -> <usize as Shl<i16>>::Output

Performs the << operation. Read more
","Shl<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i32> for usize

§

type Output = <usize as Shl<i32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i32) -> <usize as Shl<i32>>::Output

Performs the << operation. Read more
","Shl<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i64> for usize

§

type Output = <usize as Shl<i64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i64) -> <usize as Shl<i64>>::Output

Performs the << operation. Read more
","Shl<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i8> for usize

§

type Output = <usize as Shl<i8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i8) -> <usize as Shl<i8>>::Output

Performs the << operation. Read more
","Shl<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&isize> for usize

§

type Output = <usize as Shl<isize>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &isize) -> <usize as Shl<isize>>::Output

Performs the << operation. Read more
","Shl<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u128> for usize

§

type Output = <usize as Shl<u128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u128) -> <usize as Shl<u128>>::Output

Performs the << operation. Read more
","Shl<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u16> for usize

§

type Output = <usize as Shl<u16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u16) -> <usize as Shl<u16>>::Output

Performs the << operation. Read more
","Shl<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u32> for usize

§

type Output = <usize as Shl<u32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u32) -> <usize as Shl<u32>>::Output

Performs the << operation. Read more
","Shl<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u64> for usize

§

type Output = <usize as Shl<u64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u64) -> <usize as Shl<u64>>::Output

Performs the << operation. Read more
","Shl<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u8> for usize

§

type Output = <usize as Shl<u8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u8) -> <usize as Shl<u8>>::Output

Performs the << operation. Read more
","Shl<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&usize> for usize

§

type Output = <usize as Shl>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &usize) -> <usize as Shl>::Output

Performs the << operation. Read more
","Shl<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i128) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i16) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i32) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i64) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i8) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<isize> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: isize) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u128) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u16) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u32) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u64) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u8) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: usize) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i128> for usize

source§

fn shl_assign(&mut self, other: &i128)

Performs the <<= operation. Read more
","ShlAssign<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i16> for usize

source§

fn shl_assign(&mut self, other: &i16)

Performs the <<= operation. Read more
","ShlAssign<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i32> for usize

source§

fn shl_assign(&mut self, other: &i32)

Performs the <<= operation. Read more
","ShlAssign<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i64> for usize

source§

fn shl_assign(&mut self, other: &i64)

Performs the <<= operation. Read more
","ShlAssign<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i8> for usize

source§

fn shl_assign(&mut self, other: &i8)

Performs the <<= operation. Read more
","ShlAssign<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&isize> for usize

source§

fn shl_assign(&mut self, other: &isize)

Performs the <<= operation. Read more
","ShlAssign<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u128> for usize

source§

fn shl_assign(&mut self, other: &u128)

Performs the <<= operation. Read more
","ShlAssign<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u16> for usize

source§

fn shl_assign(&mut self, other: &u16)

Performs the <<= operation. Read more
","ShlAssign<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u32> for usize

source§

fn shl_assign(&mut self, other: &u32)

Performs the <<= operation. Read more
","ShlAssign<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u64> for usize

source§

fn shl_assign(&mut self, other: &u64)

Performs the <<= operation. Read more
","ShlAssign<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u8> for usize

source§

fn shl_assign(&mut self, other: &u8)

Performs the <<= operation. Read more
","ShlAssign<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&usize> for usize

source§

fn shl_assign(&mut self, other: &usize)

Performs the <<= operation. Read more
","ShlAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i128> for usize

source§

fn shl_assign(&mut self, other: i128)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i16> for usize

source§

fn shl_assign(&mut self, other: i16)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i32> for usize

source§

fn shl_assign(&mut self, other: i32)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i64> for usize

source§

fn shl_assign(&mut self, other: i64)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i8> for usize

source§

fn shl_assign(&mut self, other: i8)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<isize> for usize

source§

fn shl_assign(&mut self, other: isize)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u128> for usize

source§

fn shl_assign(&mut self, other: u128)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u16> for usize

source§

fn shl_assign(&mut self, other: u16)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u32> for usize

source§

fn shl_assign(&mut self, other: u32)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u64> for usize

source§

fn shl_assign(&mut self, other: u64)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u8> for usize

source§

fn shl_assign(&mut self, other: u8)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign for usize

source§

fn shl_assign(&mut self, other: usize)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i128> for usize

§

type Output = <usize as Shr<i128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i128) -> <usize as Shr<i128>>::Output

Performs the >> operation. Read more
","Shr<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i16> for usize

§

type Output = <usize as Shr<i16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i16) -> <usize as Shr<i16>>::Output

Performs the >> operation. Read more
","Shr<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i32> for usize

§

type Output = <usize as Shr<i32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i32) -> <usize as Shr<i32>>::Output

Performs the >> operation. Read more
","Shr<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i64> for usize

§

type Output = <usize as Shr<i64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i64) -> <usize as Shr<i64>>::Output

Performs the >> operation. Read more
","Shr<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i8> for usize

§

type Output = <usize as Shr<i8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i8) -> <usize as Shr<i8>>::Output

Performs the >> operation. Read more
","Shr<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&isize> for usize

§

type Output = <usize as Shr<isize>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &isize) -> <usize as Shr<isize>>::Output

Performs the >> operation. Read more
","Shr<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u128> for usize

§

type Output = <usize as Shr<u128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u128) -> <usize as Shr<u128>>::Output

Performs the >> operation. Read more
","Shr<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u16> for usize

§

type Output = <usize as Shr<u16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u16) -> <usize as Shr<u16>>::Output

Performs the >> operation. Read more
","Shr<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u32> for usize

§

type Output = <usize as Shr<u32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u32) -> <usize as Shr<u32>>::Output

Performs the >> operation. Read more
","Shr<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u64> for usize

§

type Output = <usize as Shr<u64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u64) -> <usize as Shr<u64>>::Output

Performs the >> operation. Read more
","Shr<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u8> for usize

§

type Output = <usize as Shr<u8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u8) -> <usize as Shr<u8>>::Output

Performs the >> operation. Read more
","Shr<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&usize> for usize

§

type Output = <usize as Shr>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &usize) -> <usize as Shr>::Output

Performs the >> operation. Read more
","Shr<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i128) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i16) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i32) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i64) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i8) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<isize> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: isize) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u128) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u16) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u32) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u64) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u8) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: usize) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i128> for usize

source§

fn shr_assign(&mut self, other: &i128)

Performs the >>= operation. Read more
","ShrAssign<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i16> for usize

source§

fn shr_assign(&mut self, other: &i16)

Performs the >>= operation. Read more
","ShrAssign<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i32> for usize

source§

fn shr_assign(&mut self, other: &i32)

Performs the >>= operation. Read more
","ShrAssign<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i64> for usize

source§

fn shr_assign(&mut self, other: &i64)

Performs the >>= operation. Read more
","ShrAssign<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i8> for usize

source§

fn shr_assign(&mut self, other: &i8)

Performs the >>= operation. Read more
","ShrAssign<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&isize> for usize

source§

fn shr_assign(&mut self, other: &isize)

Performs the >>= operation. Read more
","ShrAssign<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u128> for usize

source§

fn shr_assign(&mut self, other: &u128)

Performs the >>= operation. Read more
","ShrAssign<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u16> for usize

source§

fn shr_assign(&mut self, other: &u16)

Performs the >>= operation. Read more
","ShrAssign<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u32> for usize

source§

fn shr_assign(&mut self, other: &u32)

Performs the >>= operation. Read more
","ShrAssign<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u64> for usize

source§

fn shr_assign(&mut self, other: &u64)

Performs the >>= operation. Read more
","ShrAssign<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u8> for usize

source§

fn shr_assign(&mut self, other: &u8)

Performs the >>= operation. Read more
","ShrAssign<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&usize> for usize

source§

fn shr_assign(&mut self, other: &usize)

Performs the >>= operation. Read more
","ShrAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i128> for usize

source§

fn shr_assign(&mut self, other: i128)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i16> for usize

source§

fn shr_assign(&mut self, other: i16)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i32> for usize

source§

fn shr_assign(&mut self, other: i32)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i64> for usize

source§

fn shr_assign(&mut self, other: i64)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i8> for usize

source§

fn shr_assign(&mut self, other: i8)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<isize> for usize

source§

fn shr_assign(&mut self, other: isize)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u128> for usize

source§

fn shr_assign(&mut self, other: u128)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u16> for usize

source§

fn shr_assign(&mut self, other: u16)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u32> for usize

source§

fn shr_assign(&mut self, other: u32)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u64> for usize

source§

fn shr_assign(&mut self, other: u64)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u8> for usize

source§

fn shr_assign(&mut self, other: u8)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign for usize

source§

fn shr_assign(&mut self, other: usize)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
source§

impl SimdElement for usize

§

type Mask = isize

🔬This is a nightly-only experimental API. (portable_simd)
The mask element type corresponding to this element type.
","SimdElement","tor_interface::tor_provider::CircuitToken"],["
1.15.0 (const: unstable) · source§

impl<T> SliceIndex<[T]> for usize

The methods index and index_mut panic if the index is out of bounds.

\n
§

type Output = T

The output type returned by methods.
source§

fn get(self, slice: &[T]) -> Option<&T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in\nbounds.
source§

fn get_mut(self, slice: &mut [T]) -> Option<&mut T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in\nbounds.
source§

unsafe fn get_unchecked(self, slice: *const [T]) -> *const T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

fn index(self, slice: &[T]) -> &T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking\nif out of bounds.
source§

fn index_mut(self, slice: &mut [T]) -> &mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking\nif out of bounds.
","SliceIndex<[T]>","tor_interface::tor_provider::CircuitToken"],["
§

impl SmartDisplay for usize

§

type Metadata = ()

User-provided metadata type.
§

fn metadata(&self, f: FormatterOptions) -> Metadata<'_, usize>

Compute any information needed to format the value. This must, at a minimum, determine the\nwidth of the value before any padding is added by the formatter. Read more
§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Format the value using the given formatter. This is the same as Display::fmt. Read more
§

fn fmt_with_metadata(\n &self,\n f: &mut Formatter<'_>,\n _metadata: Metadata<'_, Self>,\n) -> Result<(), Error>

Format the value using the given formatter and metadata. The formatted output should have\nthe width indicated by the metadata. This is before any padding is added by the\nformatter. Read more
","SmartDisplay","tor_interface::tor_provider::CircuitToken"],["
source§

impl Step for usize

source§

fn forward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

unsafe fn forward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

unsafe fn backward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

fn steps_between(start: &usize, end: &usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the number of successor steps required to get from start to end. Read more
source§

fn forward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
","Step","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Sub<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigInt) -> BigInt

Performs the - operation. Read more
","Sub<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Sub<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigUint) -> BigUint

Performs the - operation. Read more
","Sub<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Sub<&usize> for usize

§

type Output = <usize as Sub>::Output

The resulting type after applying the - operator.
source§

fn sub(self, other: &usize) -> <usize as Sub>::Output

Performs the - operation. Read more
","Sub<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Sub<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: BigInt) -> BigInt

Performs the - operation. Read more
","Sub","tor_interface::tor_provider::CircuitToken"],["
source§

impl Sub<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: BigUint) -> BigUint

Performs the - operation. Read more
","Sub","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Sub for usize

§

type Output = usize

The resulting type after applying the - operator.
source§

fn sub(self, other: usize) -> usize

Performs the - operation. Read more
","Sub","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl SubAssign<&usize> for usize

source§

fn sub_assign(&mut self, other: &usize)

Performs the -= operation. Read more
","SubAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl SubAssign for usize

source§

fn sub_assign(&mut self, other: usize)

Performs the -= operation. Read more
","SubAssign","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl<'a> Sum<&'a usize> for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum<&'a usize>","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl Sum for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToBigInt for usize

source§

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a BigInt.
","ToBigInt","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToBigUint for usize

source§

fn to_biguint(&self) -> Option<BigUint>

Converts the value of self to a BigUint.
","ToBigUint","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToBytes for usize

§

type Bytes = [u8; 8]

source§

fn to_be_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in big-endian byte order. Read more
source§

fn to_le_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in little-endian byte order. Read more
source§

fn to_ne_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in native byte order. Read more
","ToBytes","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToPrimitive for usize

source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be\nrepresented by an isize, then None is returned.
source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be\nrepresented by an i8, then None is returned.
source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be\nrepresented by an i16, then None is returned.
source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be\nrepresented by an i32, then None is returned.
source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be\nrepresented by an i64, then None is returned.
source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be\nrepresented by an i128 (i64 under the default implementation), then\nNone is returned. Read more
source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be\nrepresented by a usize, then None is returned.
source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be\nrepresented by a u8, then None is returned.
source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be\nrepresented by a u16, then None is returned.
source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be\nrepresented by a u32, then None is returned.
source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be\nrepresented by a u64, then None is returned.
source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be\nrepresented by a u128 (u64 under the default implementation), then\nNone is returned. Read more
source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f32.
source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f64. Read more
","ToPrimitive","tor_interface::tor_provider::CircuitToken"],["
§

impl ToSql for usize

§

fn to_sql(&self) -> Result<ToSqlOutput<'_>, Error>

Converts Rust value to SQLite value
","ToSql","tor_interface::tor_provider::CircuitToken"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","tor_interface::tor_provider::CircuitToken"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","tor_interface::tor_provider::CircuitToken"],["
§

impl<const L: i32, const H: i32> TryFrom<BoundedInt32<L, H>> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(\n val: BoundedInt32<L, H>,\n) -> Result<usize, <usize as TryFrom<BoundedInt32<L, H>>>::Error>

Performs the conversion.
","TryFrom>","tor_interface::tor_provider::CircuitToken"],["
§

impl TryFrom<Length> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(len: Length) -> Result<usize, Error>

Performs the conversion.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i128> for usize

source§

fn try_from(u: i128) -> Result<usize, <usize as TryFrom<i128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i16> for usize

source§

fn try_from(u: i16) -> Result<usize, <usize as TryFrom<i16>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i32> for usize

source§

fn try_from(u: i32) -> Result<usize, <usize as TryFrom<i32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i64> for usize

source§

fn try_from(u: i64) -> Result<usize, <usize as TryFrom<i64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i8> for usize

source§

fn try_from(u: i8) -> Result<usize, <usize as TryFrom<i8>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<isize> for usize

source§

fn try_from(u: isize) -> Result<usize, <usize as TryFrom<isize>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<u128> for usize

source§

fn try_from(u: u128) -> Result<usize, <usize as TryFrom<u128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<u32> for usize

source§

fn try_from(value: u32) -> Result<usize, <usize as TryFrom<u32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<u64> for usize

source§

fn try_from(value: u64) -> Result<usize, <usize as TryFrom<u64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
§

impl Unsigned for usize

§

fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.
§

fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self. Read more
§

fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to n. If the\nnext power of two is greater than the type’s maximum value, None is\nreturned, otherwise the power of two is wrapped in Some.
","Unsigned","tor_interface::tor_provider::CircuitToken"],["
1.42.0 · source§

impl UpperExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperExp","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl UpperHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperHex","tor_interface::tor_provider::CircuitToken"],["
§

impl Value for usize

§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
","Value","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingAdd for usize

source§

fn wrapping_add(&self, v: &usize) -> usize

Wrapping (modular) addition. Computes self + other, wrapping around at the boundary of\nthe type.
","WrappingAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingMul for usize

source§

fn wrapping_mul(&self, v: &usize) -> usize

Wrapping (modular) multiplication. Computes self * other, wrapping around at the boundary\nof the type.
","WrappingMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingNeg for usize

source§

fn wrapping_neg(&self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type. Read more
","WrappingNeg","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingShl for usize

source§

fn wrapping_shl(&self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShl","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingShr for usize

source§

fn wrapping_shr(&self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShr","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingSub for usize

source§

fn wrapping_sub(&self, v: &usize) -> usize

Wrapping (modular) subtraction. Computes self - other, wrapping around at the boundary\nof the type.
","WrappingSub","tor_interface::tor_provider::CircuitToken"],["
§

impl WriteHex for usize

§

fn write_hex<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Write the value as hex.
","WriteHex","tor_interface::tor_provider::CircuitToken"],["
§

impl Writeable for usize

§

fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
where\n W: Write + ?Sized,

Writes a string to the given sink. Errors from the sink are bubbled up.\nThe default implementation delegates to write_to_parts, and discards any\nPart annotations.
§

fn writeable_length_hint(&self) -> LengthHint

Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
§

fn write_to_parts<S>(&self, sink: &mut S) -> Result<(), Error>
where\n S: PartsWrite + ?Sized,

Write bytes and Part annotations to the given sink. Errors from the\nsink are bubbled up. The default implementation delegates to write_to,\nand doesn’t produce any Part annotations.
§

fn write_to_string(&self) -> Cow<'_, str>

Creates a new String with the data from this Writeable. Like ToString,\nbut smaller and faster. Read more
§

fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

Compares the contents of this Writeable to the given bytes\nwithout allocating a String to hold the Writeable contents. Read more
","Writeable","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a> Yokeable<'a> for usize

§

type Output = usize

This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
§

fn transform(&self) -> &<usize as Yokeable<'a>>::Output

This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
§

fn transform_owned(self) -> <usize as Yokeable<'a>>::Output

This method must cast self between Self<'static> and Self<'a>. Read more
§

unsafe fn make(this: <usize as Yokeable<'a>>::Output) -> usize

This method can be used to cast away Self<'a>’s lifetime. Read more
§

fn transform_mut<F>(&'a mut self, f: F)
where\n F: 'static + for<'b> FnOnce(&'b mut <usize as Yokeable<'a>>::Output),

This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>,\nand pass it to f. Read more
","Yokeable<'a>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Zero for usize

source§

fn zero() -> usize

Returns the additive identity element of Self, 0. Read more
source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a> ZeroFrom<'a, usize> for usize

§

fn zero_from(this: &'a usize) -> usize

Clone the other C into a struct that may retain references into C.
","ZeroFrom<'a, usize>","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a> ZeroMapKV<'a> for usize

§

type Container = FlexZeroVec<'a>

The container that can be used with this type: [ZeroVec] or [VarZeroVec].
§

type Slice = FlexZeroSlice

§

type GetType = [u8]

The type produced by Container::get() Read more
§

type OwnedType = usize

The type produced by Container::replace() and Container::remove(),\nalso used during deserialization. If Self is human readable serialized,\ndeserializing to Self::OwnedType should produce the same value once\npassed through Self::owned_as_self() Read more
","ZeroMapKV<'a>","tor_interface::tor_provider::CircuitToken"],["
source§

impl usize

1.43.0 · source

pub const MIN: usize = 0usize

The smallest value that can be represented by this integer type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MIN, 0);
\n
1.43.0 · source

pub const MAX: usize = 18_446_744_073_709_551_615usize

The largest value that can be represented by this integer type\n(264 − 1 on 64-bit targets).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX, 18446744073709551615);
\n
1.53.0 · source

pub const BITS: u32 = 64u32

The size of this integer type in bits.

\n
§Examples
\n
assert_eq!(usize::BITS, 64);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b01001100usize;\n\nassert_eq!(n.count_ones(), 3);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX.count_zeros(), 0);
\n
1.0.0 (const: 1.32.0) · source

pub const fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of self.

\n

Depending on what you’re doing with the value, you might also be interested in the\nilog2 function which returns a consistent number, even if the type widens.

\n
§Examples
\n

Basic usage:

\n\n
let n = usize::MAX >> 2;\n\nassert_eq!(n.leading_zeros(), 2);
\n
1.0.0 (const: 1.32.0) · source

pub const fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b0101000usize;\n\nassert_eq!(n.trailing_zeros(), 3);
\n
1.46.0 (const: 1.46.0) · source

pub const fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = !(usize::MAX >> 2);\n\nassert_eq!(n.leading_ones(), 2);
\n
1.46.0 (const: 1.46.0) · source

pub const fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b1010111usize;\n\nassert_eq!(n.trailing_ones(), 3);
\n
source

pub const fn cast_signed(self) -> isize

🔬This is a nightly-only experimental API. (integer_sign_cast)

Returns the bit pattern of self reinterpreted as a signed integer of the same size.

\n

This produces the same result as an as cast, but ensures that the bit-width remains\nthe same.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(integer_sign_cast)]\n\nlet n = usize::MAX;\n\nassert_eq!(n.cast_signed(), -1isize);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n,\nwrapping the truncated bits to the end of the resulting integer.

\n

Please note this isn’t the same operation as the << shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0xaa00000000006e1usize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n,\nwrapping the truncated bits to the beginning of the resulting\ninteger.

\n

Please note this isn’t the same operation as the >> shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x6e10aausize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn swap_bytes(self) -> usize

Reverses the byte order of the integer.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);
\n
1.37.0 (const: 1.37.0) · source

pub const fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\nsecond least-significant bit becomes second most-significant bit, etc.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0usize.reverse_bits());
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_be(x: usize) -> usize

Converts an integer from big endian to the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(usize::from_be(n), n)\n} else {\n    assert_eq!(usize::from_be(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_le(x: usize) -> usize

Converts an integer from little endian to the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(usize::from_le(n), n)\n} else {\n    assert_eq!(usize::from_le(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_be(self) -> usize

Converts self to big endian from the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(n.to_be(), n)\n} else {\n    assert_eq!(n.to_be(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_le(self) -> usize

Converts self to little endian from the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(n.to_le(), n)\n} else {\n    assert_eq!(n.to_le(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None\nif overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!((usize::MAX - 2).checked_add(1), Some(usize::MAX - 1));\nassert_eq!((usize::MAX - 2).checked_add(3), None);
\n
source

pub const fn strict_add(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer addition. Computes self + rhs, panicking\nif overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!((usize::MAX - 2).strict_add(1), usize::MAX - 1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add(3);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_add(self, rhs: usize) -> usize

Unchecked integer addition. Computes self + rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_add(y) is semantically equivalent to calling\nx.checked_add(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_add.

\n
§Safety
\n

This results in undefined behavior when\nself + rhs > usize::MAX or self + rhs < usize::MIN,\ni.e. when checked_add would return None.

\n
1.66.0 (const: 1.66.0) · source

pub const fn checked_add_signed(self, rhs: isize) -> Option<usize>

Checked addition with a signed integer. Computes self + rhs,\nreturning None if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_add_signed(2), Some(3));\nassert_eq!(1usize.checked_add_signed(-2), None);\nassert_eq!((usize::MAX - 2).checked_add_signed(3), None);
\n
source

pub const fn strict_add_signed(self, rhs: isize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict addition with a signed integer. Computes self + rhs,\npanicking if overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_add_signed(2), 3);
\n

The following panic because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_add_signed(-2);
\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add_signed(3);
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_sub(1), Some(0));\nassert_eq!(0usize.checked_sub(1), None);
\n
source

pub const fn strict_sub(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer subtraction. Computes self - rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_sub(1), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0usize.strict_sub(1);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_sub(self, rhs: usize) -> usize

Unchecked integer subtraction. Computes self - rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_sub(y) is semantically equivalent to calling\nx.checked_sub(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_sub.

\n

If you find yourself writing code like this:

\n\n
if foo >= bar {\n    // SAFETY: just checked it will not overflow\n    let diff = unsafe { foo.unchecked_sub(bar) };\n    // ... use diff ...\n}
\n

Consider changing it to

\n\n
if let Some(diff) = foo.checked_sub(bar) {\n    // ... use diff ...\n}
\n

As that does exactly the same thing – including telling the optimizer\nthat the subtraction cannot overflow – but avoids needing unsafe.

\n
§Safety
\n

This results in undefined behavior when\nself - rhs > usize::MAX or self - rhs < usize::MIN,\ni.e. when checked_sub would return None.

\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_mul(1), Some(5));\nassert_eq!(usize::MAX.checked_mul(2), None);
\n
source

pub const fn strict_mul(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer multiplication. Computes self * rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(5usize.strict_mul(1), 5);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_mul(2);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_mul(self, rhs: usize) -> usize

Unchecked integer multiplication. Computes self * rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_mul(y) is semantically equivalent to calling\nx.checked_mul(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_mul.

\n
§Safety
\n

This results in undefined behavior when\nself * rhs > usize::MAX or self * rhs < usize::MIN,\ni.e. when checked_mul would return None.

\n
1.0.0 (const: 1.52.0) · source

pub const fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div(2), Some(64));\nassert_eq!(1usize.checked_div(0), None);
\n
source

pub const fn strict_div(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer division. Computes self / rhs.\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div_euclid(2), Some(64));\nassert_eq!(1usize.checked_div_euclid(0), None);
\n
source

pub const fn strict_div_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean division. Computes self.div_euclid(rhs).\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_div(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div_euclid(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div_euclid(0);
\n
1.7.0 (const: 1.52.0) · source

pub const fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem(2), Some(1));\nassert_eq!(5usize.checked_rem(0), None);
\n
source

pub const fn strict_rem(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer remainder. Computes self % rhs.\nStrict remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean modulo. Computes self.rem_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem_euclid(2), Some(1));\nassert_eq!(5usize.checked_rem_euclid(0), None);
\n
source

pub const fn strict_rem_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean modulo. Computes self.rem_euclid(rhs).\nStrict modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem_euclid(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem_euclid(0);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog(self, base: usize) -> u32

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

This method might not be optimized owing to implementation details;\nilog2 can produce results more efficiently for base 2, and ilog10\ncan produce results more efficiently for base 10.

\n
§Panics
\n

This function will panic if self is zero, or if base is less than 2.

\n
§Examples
\n
assert_eq!(5usize.ilog(5), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog2(self) -> u32

Returns the base 2 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Examples
\n
assert_eq!(2usize.ilog2(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog10(self) -> u32

Returns the base 10 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Example
\n
assert_eq!(10usize.ilog10(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog(self, base: usize) -> Option<u32>

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

Returns None if the number is zero, or if the base is not at least 2.

\n

This method might not be optimized owing to implementation details;\nchecked_ilog2 can produce results more efficiently for base 2, and\nchecked_ilog10 can produce results more efficiently for base 10.

\n
§Examples
\n
assert_eq!(5usize.checked_ilog(5), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog2(self) -> Option<u32>

Returns the base 2 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(2usize.checked_ilog2(), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog10(self) -> Option<u32>

Returns the base 10 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(10usize.checked_ilog10(), Some(1));
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0usize.checked_neg(), Some(0));\nassert_eq!(1usize.checked_neg(), None);
\n
source

pub const fn strict_neg(self) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict negation. Computes -self, panicking unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0usize.strict_neg(), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_neg();
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x1usize.checked_shl(4), Some(0x10));\nassert_eq!(0x10usize.checked_shl(129), None);
\n
source

pub const fn strict_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift left. Computes self << rhs, panicking if rhs is larger\nthan or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x1usize.strict_shl(4), 0x10);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shl(129);
\n
source

pub const unsafe fn unchecked_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift left. Computes self << rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shl would return None.

\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x10usize.checked_shr(4), Some(0x1));\nassert_eq!(0x10usize.checked_shr(129), None);
\n
source

pub const fn strict_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift right. Computes self >> rhs, panicking rhs is\nlarger than or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x10usize.strict_shr(4), 0x1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shr(129);
\n
source

pub const unsafe fn unchecked_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift right. Computes self >> rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shr would return None.

\n
1.34.0 (const: 1.50.0) · source

pub const fn checked_pow(self, exp: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_pow(5), Some(32));\nassert_eq!(usize::MAX.checked_pow(2), None);
\n
source

pub const fn strict_pow(self, exp: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict exponentiation. Computes self.pow(exp), panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(2usize.strict_pow(5), 32);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_pow(2);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at\nthe numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_add(1), 101);\nassert_eq!(usize::MAX.saturating_add(127), usize::MAX);
\n
1.66.0 (const: 1.66.0) · source

pub const fn saturating_add_signed(self, rhs: isize) -> usize

Saturating addition with a signed integer. Computes self + rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.saturating_add_signed(2), 3);\nassert_eq!(1usize.saturating_add_signed(-2), 0);\nassert_eq!((usize::MAX - 2).saturating_add_signed(4), usize::MAX);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating\nat the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_sub(27), 73);\nassert_eq!(13usize.saturating_sub(127), 0);
\n
1.7.0 (const: 1.47.0) · source

pub const fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.saturating_mul(10), 20);\nassert_eq!((usize::MAX).saturating_mul(10), usize::MAX);
\n
1.58.0 (const: 1.58.0) · source

pub const fn saturating_div(self, rhs: usize) -> usize

Saturating integer division. Computes self / rhs, saturating at the\nnumeric bounds instead of overflowing.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.saturating_div(2), 2);\n
\n
1.34.0 (const: 1.50.0) · source

pub const fn saturating_pow(self, exp: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp),\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(4usize.saturating_pow(3), 64);\nassert_eq!(usize::MAX.saturating_pow(2), usize::MAX);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(200usize.wrapping_add(55), 255);\nassert_eq!(200usize.wrapping_add(usize::MAX), 199);
\n
1.66.0 (const: 1.66.0) · source

pub const fn wrapping_add_signed(self, rhs: isize) -> usize

Wrapping (modular) addition with a signed integer. Computes\nself + rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_add_signed(2), 3);\nassert_eq!(1usize.wrapping_add_signed(-2), usize::MAX);\nassert_eq!((usize::MAX - 2).wrapping_add_signed(4), 1);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_sub(100), 0);\nassert_eq!(100usize.wrapping_sub(usize::MAX), 101);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u8 is used here.

\n\n
assert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs.\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div(10), 10);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs).\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div_euclid(10), 10);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs.\nWrapped remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem(10), 0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean modulo. Computes self.rem_euclid(rhs).\nWrapped modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem_euclid(10), 0);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type.

\n

Since unsigned types do not have negative equivalents\nall applications of this function will wrap (except for -0).\nFor values smaller than the corresponding signed type’s maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to MAX + 1 - (val - MAX - 1) where\nMAX is the corresponding signed type’s maximum.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0_usize.wrapping_neg(), 0);\nassert_eq!(usize::MAX.wrapping_neg(), 1);\nassert_eq!(13_usize.wrapping_neg(), (!13) + 1);\nassert_eq!(42_usize.wrapping_neg(), !(42 - 1));
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_left function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_shl(7), 128);\nassert_eq!(1usize.wrapping_shl(128), 1);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_right function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.wrapping_shr(7), 1);\nassert_eq!(128usize.wrapping_shr(128), 128);
\n
1.34.0 (const: 1.50.0) · source

pub const fn wrapping_pow(self, exp: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp),\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_add(2), (7, false));\nassert_eq!(usize::MAX.overflowing_add(1), (0, true));
\n
source

pub const fn carrying_add(self, rhs: usize, carry: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates self + rhs + carry and returns a tuple containing\nthe sum and the output carry.

\n

Performs “ternary addition” of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.

\n

This can be thought of as a 64-bit “full adder”, in the electronics sense.

\n

If the input carry is false, this method is equivalent to\noverflowing_add, and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    3  MAX    (a = 3 × 2^64 + 2^64 - 1)\n// +  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    9    6    (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (usize, usize) = (3, usize::MAX);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));
\n
1.66.0 (const: 1.66.0) · source

pub const fn overflowing_add_signed(self, rhs: isize) -> (usize, bool)

Calculates self + rhs with a signed rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.overflowing_add_signed(2), (3, false));\nassert_eq!(1usize.overflowing_add_signed(-2), (usize::MAX, true));\nassert_eq!((usize::MAX - 2).overflowing_add_signed(4), (1, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs

\n

Returns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_sub(2), (3, false));\nassert_eq!(0usize.overflowing_sub(1), (usize::MAX, true));
\n
source

pub const fn borrowing_sub(self, rhs: usize, borrow: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates selfrhsborrow and returns a tuple\ncontaining the difference and the output borrow.

\n

Performs “ternary subtraction” by subtracting both an integer\noperand and a borrow-in bit from self, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    9    6    (a = 9 × 2^64 + 6)\n// -  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    3  MAX    (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (usize, usize) = (9, 6);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, usize::MAX));
\n
1.60.0 (const: 1.60.0) · source

pub const fn abs_diff(self, other: usize) -> usize

Computes the absolute difference between self and other.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.abs_diff(80), 20usize);\nassert_eq!(100usize.abs_diff(110), 10usize);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs.

\n

Returns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
assert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs.

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div(2), (2, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs).

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.overflowing_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div_euclid(2), (2, false));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs.

\n

Returns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem(2), (1, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Calculates the remainder self.rem_euclid(rhs) as if by Euclidean division.

\n

Returns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to self.overflowing_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem_euclid(2), (1, false));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_neg(self) -> (usize, bool)

Negates self in an overflowing fashion.

\n

Returns !self + 1 using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0usize.overflowing_neg(), (0, false));\nassert_eq!(2usize.overflowing_neg(), (-2i32 as usize, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x1usize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1usize.overflowing_shl(132), (0x10, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x10usize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10usize.overflowing_shr(132), (0x1, true));
\n
1.34.0 (const: 1.50.0) · source

pub const fn overflowing_pow(self, exp: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring.

\n

Returns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));
\n
1.0.0 (const: 1.50.0) · source

pub const fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.pow(5), 32);
\n
source

pub const fn isqrt(self) -> usize

🔬This is a nightly-only experimental API. (isqrt)

Returns the square root of the number, rounded down.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(isqrt)]\nassert_eq!(10usize.isqrt(), 3);
\n
1.38.0 (const: 1.52.0) · source

pub const fn div_euclid(self, rhs: usize) -> usize

Performs Euclidean division.

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self / rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.div_euclid(4), 1); // or any other integer type
\n
1.38.0 (const: 1.52.0) · source

pub const fn rem_euclid(self, rhs: usize) -> usize

Calculates the least remainder of self (mod rhs).

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self % rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.rem_euclid(4), 3); // or any other integer type
\n
source

pub const fn div_floor(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (int_roundings)

Calculates the quotient of self and rhs, rounding the result towards negative infinity.

\n

This is the same as performing self / rhs for all unsigned integers.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(int_roundings)]\nassert_eq!(7_usize.div_floor(4), 1);
\n
1.73.0 (const: 1.73.0) · source

pub const fn div_ceil(self, rhs: usize) -> usize

Calculates the quotient of self and rhs, rounding the result towards positive infinity.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7_usize.div_ceil(4), 2);
\n
1.73.0 (const: 1.73.0) · source

pub const fn next_multiple_of(self, rhs: usize) -> usize

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Overflow behavior
\n

On overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.next_multiple_of(8), 16);\nassert_eq!(23_usize.next_multiple_of(8), 24);
\n
1.73.0 (const: 1.73.0) · source

pub const fn checked_next_multiple_of(self, rhs: usize) -> Option<usize>

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs. Returns None if rhs is zero or the\noperation would result in overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_usize.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_usize.checked_next_multiple_of(0), None);\nassert_eq!(usize::MAX.checked_next_multiple_of(2), None);
\n
1.0.0 (const: 1.32.0) · source

pub const fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.

\n
§Examples
\n

Basic usage:

\n\n
assert!(16usize.is_power_of_two());\nassert!(!10usize.is_power_of_two());
\n
1.0.0 (const: 1.50.0) · source

pub const fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self.

\n

When return value overflows (i.e., self > (1 << (N-1)) for type\nuN), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.next_power_of_two(), 2);\nassert_eq!(3usize.next_power_of_two(), 4);\nassert_eq!(0usize.next_power_of_two(), 1);
\n
1.0.0 (const: 1.50.0) · source

pub const fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to self. If\nthe next power of two is greater than the type’s maximum value,\nNone is returned, otherwise the power of two is wrapped in Some.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_next_power_of_two(), Some(2));\nassert_eq!(3usize.checked_next_power_of_two(), Some(4));\nassert_eq!(usize::MAX.checked_next_power_of_two(), None);
\n
source

pub const fn wrapping_next_power_of_two(self) -> usize

🔬This is a nightly-only experimental API. (wrapping_next_power_of_two)

Returns the smallest power of two greater than or equal to n. If\nthe next power of two is greater than the type’s maximum value,\nthe return value is wrapped to 0.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2usize.wrapping_next_power_of_two(), 2);\nassert_eq!(3usize.wrapping_next_power_of_two(), 4);\nassert_eq!(usize::MAX.wrapping_next_power_of_two(), 0);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_be_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nbig-endian (network) byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_le_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nlittle-endian byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_ne_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nnative byte order.

\n

As the target platform’s native endianness is used, portable code\nshould use to_be_bytes or to_le_bytes, as appropriate,\ninstead.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_ne_bytes();\nassert_eq!(\n    bytes,\n    if cfg!(target_endian = \"big\") {\n        [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n    } else {\n        [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n    }\n);
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_be_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in big endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_be_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_be_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_le_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in little endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_le_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_le_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_ne_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its memory representation\nas a byte array in native endianness.

\n

As the target platform’s native endianness is used, portable code\nlikely wants to use from_be_bytes or from_le_bytes, as\nappropriate instead.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n    [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n    [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_ne_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_ne_bytes(int_bytes.try_into().unwrap())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn min_value() -> usize

👎Deprecating in a future version: replaced by the MIN associated constant on this type

New code should prefer to use\nusize::MIN instead.

\n

Returns the smallest value that can be represented by this integer type.

\n
1.0.0 (const: 1.32.0) · source

pub const fn max_value() -> usize

👎Deprecating in a future version: replaced by the MAX associated constant on this type

New code should prefer to use\nusize::MAX instead.

\n

Returns the largest value that can be represented by this integer type.

\n
source

pub const fn widening_mul(self, rhs: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the complete product self * rhs without the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

If you also need to add a carry to the wide result, then you want\nSelf::carrying_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));
\n
source

pub const fn carrying_mul(self, rhs: usize, carry: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the “full multiplication” self * rhs + carry\nwithout the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

Performs “long multiplication” which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create “big integers” which represent larger values.

\n

If you don’t need the carry, then you can use Self::widening_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(usize::MAX.carrying_mul(usize::MAX, usize::MAX), (0, usize::MAX));
\n

This is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.

\n\n
#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec<u16>, multiplicand: u16) {\n    let mut carry = 0;\n    for d in little_endian_digits.iter_mut() {\n        (*d, carry) = d.carrying_mul(multiplicand, carry);\n    }\n    if carry != 0 {\n        little_endian_digits.push(carry);\n    }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);
\n

If carry is zero, this is similar to overflowing_mul,\nexcept that it gives the value of the overflow instead of just whether one happened:

\n\n
#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));
\n

The value of the first field in the returned tuple matches what you’d get\nby combining the wrapping_mul and\nwrapping_add methods:

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(\n    789_u16.carrying_mul(456, 123).0,\n    789_u16.wrapping_mul(456).wrapping_add(123),\n);
\n
source

pub const fn midpoint(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (num_midpoint)

Calculates the middle point of self and rhs.

\n

midpoint(a, b) is (a + b) >> 1 as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards negative infinity and that no overflow will ever occur.

\n
§Examples
\n
#![feature(num_midpoint)]\nassert_eq!(0usize.midpoint(4), 2);\nassert_eq!(1usize.midpoint(4), 2);
\n
",0,"tor_interface::tor_provider::CircuitToken"],["
source§

impl usize

1.0.0 (const: unstable) · source

pub fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer.

\n

The string is expected to be an optional + sign\nfollowed by digits.\nLeading and trailing whitespace represent an error.\nDigits are a subset of these characters, depending on radix:

\n
    \n
  • 0-9
  • \n
  • a-z
  • \n
  • A-Z
  • \n
\n
§Panics
\n

This function panics if radix is not in the range from 2 to 36.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::from_str_radix(\"A\", 16), Ok(10));
\n
",0,"tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast16 for usize

","AtLeast16","tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast32 for usize

","AtLeast32","tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast64 for usize

","AtLeast64","tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast8 for usize

","AtLeast8","tor_interface::tor_provider::CircuitToken"],["
§

impl AtMost128 for usize

","AtMost128","tor_interface::tor_provider::CircuitToken"],["
§

impl AtMost64 for usize

","AtMost64","tor_interface::tor_provider::CircuitToken"],["
§

impl BitOps for usize

","BitOps","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstParamTy for usize

","ConstParamTy","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Copy for usize

","Copy","tor_interface::tor_provider::CircuitToken"],["
§

impl DefaultIsZeroes for usize

","DefaultIsZeroes","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Eq for usize

","Eq","tor_interface::tor_provider::CircuitToken"],["
§

impl ExtendTarget<usize> for usize

","ExtendTarget","tor_interface::tor_provider::CircuitToken"],["
source§

impl Index for usize

","Index","tor_interface::tor_provider::CircuitToken"],["
§

impl Index for usize

","Index","tor_interface::tor_provider::CircuitToken"],["
source§

impl Integer for usize

","Integer","tor_interface::tor_provider::CircuitToken"],["
§

impl Is64 for usize

","Is64","tor_interface::tor_provider::CircuitToken"],["
§

impl NotAutoValue for usize

","NotAutoValue","tor_interface::tor_provider::CircuitToken"],["
§

impl NumericOps for usize

","NumericOps","tor_interface::tor_provider::CircuitToken"],["
source§

impl SimdCast for usize

","SimdCast","tor_interface::tor_provider::CircuitToken"],["
source§

impl StructuralPartialEq for usize

","StructuralPartialEq","tor_interface::tor_provider::CircuitToken"],["
§

impl TruncateTarget<u16> for usize

","TruncateTarget","tor_interface::tor_provider::CircuitToken"],["
§

impl TruncateTarget<u8> for usize

","TruncateTarget","tor_interface::tor_provider::CircuitToken"],["
§

impl TruncateTarget<usize> for usize

","TruncateTarget","tor_interface::tor_provider::CircuitToken"],["
source§

impl TrustedStep for usize

","TrustedStep","tor_interface::tor_provider::CircuitToken"],["
§

impl Uint for usize

","Uint","tor_interface::tor_provider::CircuitToken"],["
source§

impl Unsigned for usize

","Unsigned","tor_interface::tor_provider::CircuitToken"],["
source§

impl Weight for usize

","Weight","tor_interface::tor_provider::CircuitToken"],["
source§

impl ZeroablePrimitive for usize

","ZeroablePrimitive","tor_interface::tor_provider::CircuitToken"]] +"gosling":[["
§

impl<T> Accumulate<T> for usize

§

fn initial(_capacity: Option<usize>) -> usize

Create a new Extend of the correct type
§

fn accumulate(&mut self, _acc: T)

Accumulate the input into an accumulator
","Accumulate","gosling::context::HandshakeHandle"],["
source§

impl<'a> Add<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: &BigInt) -> BigInt

Performs the + operation. Read more
","Add<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Add<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: &BigUint) -> BigUint

Performs the + operation. Read more
","Add<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Add<&usize> for usize

§

type Output = <usize as Add>::Output

The resulting type after applying the + operator.
source§

fn add(self, other: &usize) -> <usize as Add>::Output

Performs the + operation. Read more
","Add<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Add<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: BigInt) -> BigInt

Performs the + operation. Read more
","Add","gosling::context::HandshakeHandle"],["
source§

impl Add<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: BigUint) -> BigUint

Performs the + operation. Read more
","Add","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Add for usize

§

type Output = usize

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> usize

Performs the + operation. Read more
","Add","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl AddAssign<&usize> for usize

source§

fn add_assign(&mut self, other: &usize)

Performs the += operation. Read more
","AddAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl AddAssign for usize

source§

fn add_assign(&mut self, other: usize)

Performs the += operation. Read more
","AddAssign","gosling::context::HandshakeHandle"],["
§

impl AsAny for usize

§

fn as_any(&self) -> &(dyn Any + 'static)

Returns thick pointer of &dyn Any type, that can be later downcasted\nback to a reference of the original type.
","AsAny","gosling::context::HandshakeHandle"],["
§

impl AsBytes for usize

§

fn as_bytes(&self) -> &[u8]

Gets the bytes of this value. Read more
§

fn as_bytes_mut(&mut self) -> &mut [u8]
where\n Self: FromBytes,

Gets the bytes of this value mutably. Read more
§

fn write_to(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to bytes. Read more
§

fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the prefix of bytes. Read more
§

fn write_to_suffix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the suffix of bytes. Read more
","AsBytes","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<f32> for usize

source§

fn as_(self) -> f32

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<f64> for usize

source§

fn as_(self) -> f64

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i128> for usize

source§

fn as_(self) -> i128

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i16> for usize

source§

fn as_(self) -> i16

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i32> for usize

source§

fn as_(self) -> i32

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i64> for usize

source§

fn as_(self) -> i64

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<i8> for usize

source§

fn as_(self) -> i8

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<isize> for usize

source§

fn as_(self) -> isize

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u128> for usize

source§

fn as_(self) -> u128

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u16> for usize

source§

fn as_(self) -> u16

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u32> for usize

source§

fn as_(self) -> u32

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u64> for usize

source§

fn as_(self) -> u64

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<u8> for usize

source§

fn as_(self) -> u8

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
source§

impl AsPrimitive<usize> for usize

source§

fn as_(self) -> usize

Convert a value to another, using the as operator.
","AsPrimitive","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Binary for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Binary","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitAnd<&usize> for usize

§

type Output = <usize as BitAnd>::Output

The resulting type after applying the & operator.
source§

fn bitand(self, other: &usize) -> <usize as BitAnd>::Output

Performs the & operation. Read more
","BitAnd<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitAnd for usize

§

type Output = usize

The resulting type after applying the & operator.
source§

fn bitand(self, rhs: usize) -> usize

Performs the & operation. Read more
","BitAnd","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl BitAndAssign<&usize> for usize

source§

fn bitand_assign(&mut self, other: &usize)

Performs the &= operation. Read more
","BitAndAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl BitAndAssign for usize

source§

fn bitand_assign(&mut self, other: usize)

Performs the &= operation. Read more
","BitAndAssign","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitOr<&usize> for usize

§

type Output = <usize as BitOr>::Output

The resulting type after applying the | operator.
source§

fn bitor(self, other: &usize) -> <usize as BitOr>::Output

Performs the | operation. Read more
","BitOr<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitOr for usize

§

type Output = usize

The resulting type after applying the | operator.
source§

fn bitor(self, rhs: usize) -> usize

Performs the | operation. Read more
","BitOr","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl BitOrAssign<&usize> for usize

source§

fn bitor_assign(&mut self, other: &usize)

Performs the |= operation. Read more
","BitOrAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl BitOrAssign for usize

source§

fn bitor_assign(&mut self, other: usize)

Performs the |= operation. Read more
","BitOrAssign","gosling::context::HandshakeHandle"],["
§

impl BitRegister for usize

§

const ALL: usize = 18_446_744_073_709_551_615usize

The literal !0.
§

const INDX: u8 = _

The number of bits required to store an index in the range 0 .. BITS.
§

const MASK: u8 = _

A mask over all bits that can be used as an index within the element.\nThis is the value with the least significant INDX-many bits set high.
","BitRegister","gosling::context::HandshakeHandle"],["
§

impl<'a, T, O> BitSliceIndex<'a, T, O> for usize
where\n T: BitStore,\n O: BitOrder,

§

type Immut = BitRef<'a, Const, T, O>

The output type of immutable access.
§

type Mut = BitRef<'a, Mut, T, O>

The output type of mutable access.
§

fn get(\n self,\n bits: &'a BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Immut>

Immutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

fn get_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Mut>

Mutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

unsafe fn get_unchecked(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice without doing any bounds checking. Read more
§

unsafe fn get_unchecked_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice without doing any bounds checking. Read more
§

fn index(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice, panicking if self is out of\nbounds. Read more
§

fn index_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice, panicking if self is out of bounds. Read more
","BitSliceIndex<'a, T, O>","gosling::context::HandshakeHandle"],["
§

impl BitStore for usize

§

type Access = Cell<usize>

The unsigned integers will only be BitStore type parameters\nfor handles to unaliased memory, following the normal Rust\nreference rules.

\n
§

type Mem = usize

The element type used in the memory region underlying a BitSlice. It\nis always one of the unsigned integer fundamentals.
§

type Alias = BitSafeUsize

A sibling BitStore implementor that is known to be alias-safe. It is\nused when a BitSlice introduces multiple handles that view the same\nmemory location, and at least one of them has write capabilities to it.\nIt must have the same underlying memory type, and can only change access\npatterns or public-facing usage.
§

type Unalias = usize

The inverse of ::Alias. It is used when a BitSlice removes the\nconditions that required a T -> T::Alias transition.
§

const ZERO: usize = 0usize

The zero constant.
§

fn new(value: <usize as BitStore>::Mem) -> usize

Wraps a raw memory value as a BitStore type.
§

fn load_value(&self) -> <usize as BitStore>::Mem

Loads a value out of the memory system according to the ::Access\nrules. This may be called when the value is aliased by a write-capable\nreference.
§

fn store_value(&mut self, value: <usize as BitStore>::Mem)

Stores a value into the memory system. This is only called when there\nare no other handles to the value, and it may bypass ::Access\nconstraints.
§

const ALIGNED_TO_SIZE: [(); 1] = _

All implementors are required to have their alignment match their size. Read more
§

const ALIAS_WIDTH: [(); 1] = _

All implementors are required to have Self and Self::Alias be equal\nin representation. This is true by fiat for all types except the\nunsigned integers. Read more
§

fn get_bit<O>(&self, index: BitIdx<Self::Mem>) -> bool
where\n O: BitOrder,

Reads a single bit out of the memory system according to the ::Access\nrules. This is lifted from BitAccess so that it can be used\nelsewhere without additional casts. Read more
","BitStore","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitXor<&usize> for usize

§

type Output = <usize as BitXor>::Output

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: &usize) -> <usize as BitXor>::Output

Performs the ^ operation. Read more
","BitXor<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl BitXor for usize

§

type Output = usize

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: usize) -> usize

Performs the ^ operation. Read more
","BitXor","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl BitXorAssign<&usize> for usize

source§

fn bitxor_assign(&mut self, other: &usize)

Performs the ^= operation. Read more
","BitXorAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl BitXorAssign for usize

source§

fn bitxor_assign(&mut self, other: usize)

Performs the ^= operation. Read more
","BitXorAssign","gosling::context::HandshakeHandle"],["
§

impl Bits for usize

§

const EMPTY: usize = 0usize

A value with all bits unset.
§

const ALL: usize = 18_446_744_073_709_551_615usize

A value with all bits set.
","Bits","gosling::context::HandshakeHandle"],["
source§

impl Bounded for usize

source§

fn min_value() -> usize

Returns the smallest finite number this type can represent
source§

fn max_value() -> usize

Returns the largest finite number this type can represent
","Bounded","gosling::context::HandshakeHandle"],["
§

impl CastSigned for usize

§

type Signed = isize

The signed integer type with the same size as Self.
§

fn cast_signed(self) -> <usize as CastSigned>::Signed

Cast an integer to the signed integer of the same size.
","CastSigned","gosling::context::HandshakeHandle"],["
§

impl CastUnsigned for usize

§

type Unsigned = usize

The unsigned integer type with the same size as Self.
§

fn cast_unsigned(self) -> <usize as CastUnsigned>::Unsigned

Cast an integer to the unsigned integer of the same size.
","CastUnsigned","gosling::context::HandshakeHandle"],["
source§

impl CheckedAdd for usize

source§

fn checked_add(&self, v: &usize) -> Option<usize>

Adds two numbers, checking for overflow. If overflow happens, None is\nreturned.
","CheckedAdd","gosling::context::HandshakeHandle"],["
source§

impl CheckedDiv for usize

source§

fn checked_div(&self, v: &usize) -> Option<usize>

Divides two numbers, checking for underflow, overflow and division by\nzero. If any of that happens, None is returned.
","CheckedDiv","gosling::context::HandshakeHandle"],["
source§

impl CheckedEuclid for usize

source§

fn checked_div_euclid(&self, v: &usize) -> Option<usize>

Performs euclid division that returns None instead of panicking on division by zero\nand instead of wrapping around on underflow and overflow.
source§

fn checked_rem_euclid(&self, v: &usize) -> Option<usize>

Finds the euclid remainder of dividing two numbers, checking for underflow, overflow and\ndivision by zero. If any of that happens, None is returned.
source§

fn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>

Returns both the quotient and remainder from checked Euclidean division. Read more
","CheckedEuclid","gosling::context::HandshakeHandle"],["
source§

impl CheckedMul for usize

source§

fn checked_mul(&self, v: &usize) -> Option<usize>

Multiplies two numbers, checking for underflow or overflow. If underflow\nor overflow happens, None is returned.
","CheckedMul","gosling::context::HandshakeHandle"],["
source§

impl CheckedNeg for usize

source§

fn checked_neg(&self) -> Option<usize>

Negates a number, returning None for results that can’t be represented, like signed MIN\nvalues that can’t be positive, or non-zero unsigned values that can’t be negative. Read more
","CheckedNeg","gosling::context::HandshakeHandle"],["
source§

impl CheckedRem for usize

source§

fn checked_rem(&self, v: &usize) -> Option<usize>

Finds the remainder of dividing two numbers, checking for underflow, overflow and division\nby zero. If any of that happens, None is returned. Read more
","CheckedRem","gosling::context::HandshakeHandle"],["
source§

impl CheckedShl for usize

source§

fn checked_shl(&self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShl","gosling::context::HandshakeHandle"],["
source§

impl CheckedShr for usize

source§

fn checked_shr(&self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShr","gosling::context::HandshakeHandle"],["
source§

impl CheckedSub for usize

source§

fn checked_sub(&self, v: &usize) -> Option<usize>

Subtracts two numbers, checking for underflow. If underflow happens,\nNone is returned.
","CheckedSub","gosling::context::HandshakeHandle"],["
§

impl<T> CheckedSum<usize> for T
where\n T: IntoIterator<Item = usize>,

§

fn checked_sum(self) -> Result<usize, Error>

Iterate over the values of this type, computing a checked sum. Read more
","CheckedSum","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Clone for usize

source§

fn clone(&self) -> usize

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","gosling::context::HandshakeHandle"],["
source§

impl ConstOne for usize

source§

const ONE: usize = 1usize

The multiplicative identity element of Self, 1.
","ConstOne","gosling::context::HandshakeHandle"],["
source§

impl ConstZero for usize

source§

const ZERO: usize = 0usize

The additive identity element of Self, 0.
","ConstZero","gosling::context::HandshakeHandle"],["
source§

impl ConstantTimeEq for usize

source§

fn ct_eq(&self, other: &usize) -> Choice

Determine if two items are equal. Read more
source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
","ConstantTimeEq","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Debug for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","gosling::context::HandshakeHandle"],["
§

impl Decode for usize

Decode a usize.

\n

Uses [Decode] impl on u32 and then converts to a usize, handling\npotential overflow if usize is smaller than u32.

\n

Enforces a library-internal limit of 1048575, as the main use case for\nusize is length prefixes.

\n
§

type Error = Error

Type returned in the event of a decoding error.
§

fn decode(reader: &mut impl Reader) -> Result<usize, Error>

Attempt to decode a value of this type using the provided [Reader].
","Decode","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Default for usize

source§

fn default() -> usize

Returns the default value of 0

\n
","Default","gosling::context::HandshakeHandle"],["
source§

impl<'de> Deserialize<'de> for usize

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<usize, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Display for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","gosling::context::HandshakeHandle"],["
source§

impl<'a> Div<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: &BigInt) -> BigInt

Performs the / operation. Read more
","Div<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Div<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: &BigUint) -> BigUint

Performs the / operation. Read more
","Div<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Div<&usize> for usize

§

type Output = <usize as Div>::Output

The resulting type after applying the / operator.
source§

fn div(self, other: &usize) -> <usize as Div>::Output

Performs the / operation. Read more
","Div<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Div<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: BigInt) -> BigInt

Performs the / operation. Read more
","Div","gosling::context::HandshakeHandle"],["
source§

impl Div<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: BigUint) -> BigUint

Performs the / operation. Read more
","Div","gosling::context::HandshakeHandle"],["
1.51.0 · source§

impl Div<NonZero<usize>> for usize

source§

fn div(self, other: NonZero<usize>) -> usize

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the / operator.
","Div>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Div for usize

This operation rounds towards zero, truncating any\nfractional part of the exact result.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the / operator.
source§

fn div(self, other: usize) -> usize

Performs the / operation. Read more
","Div","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl DivAssign<&usize> for usize

source§

fn div_assign(&mut self, other: &usize)

Performs the /= operation. Read more
","DivAssign<&usize>","gosling::context::HandshakeHandle"],["
1.79.0 · source§

impl DivAssign<NonZero<usize>> for usize

source§

fn div_assign(&mut self, other: NonZero<usize>)

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
","DivAssign>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl DivAssign for usize

source§

fn div_assign(&mut self, other: usize)

Performs the /= operation. Read more
","DivAssign","gosling::context::HandshakeHandle"],["
§

impl Encode for usize

Encode a usize as a uint32 as described in RFC4251 § 5.

\n

Uses [Encode] impl on u32 after converting from a usize, handling\npotential overflow if usize is bigger than u32.

\n
§

fn encoded_len(&self) -> Result<usize, Error>

Get the length of this type encoded in bytes, prior to Base64 encoding.
§

fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value using the provided [Writer].
§

fn encoded_len_prefixed(&self) -> Result<usize, Error>

Return the length of this type after encoding when prepended with a\nuint32 length prefix.
§

fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value, first prepending a uint32 length prefix\nset to [Encode::encoded_len].
","Encode","gosling::context::HandshakeHandle"],["
source§

impl Euclid for usize

source§

fn div_euclid(&self, v: &usize) -> usize

Calculates Euclidean division, the matching method for rem_euclid. Read more
source§

fn rem_euclid(&self, v: &usize) -> usize

Calculates the least nonnegative remainder of self (mod v). Read more
source§

fn div_rem_euclid(&self, v: &Self) -> (Self, Self)

Returns both the quotient and remainder from Euclidean division. Read more
","Euclid","gosling::context::HandshakeHandle"],["
source§

impl FmtConst for usize

source§

fn fmt_const(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Print a const expression representing this value.
","FmtConst","gosling::context::HandshakeHandle"],["
source§

impl From<Alignment> for usize

source§

fn from(align: Alignment) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<ByteQty> for usize

§

fn from(value: ByteQty) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<HopNum> for usize

§

fn from(hop: HopNum) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<HsDirPos> for usize

§

fn from(value: HsDirPos) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<IntroPtIndex> for usize

§

fn from(value: IntroPtIndex) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl<const MIN: usize, const MAX: usize> From<RangedUsize<MIN, MAX>> for usize

§

fn from(value: RangedUsize<MIN, MAX>) -> usize

Converts to this type from the input type.
","From>","gosling::context::HandshakeHandle"],["
§

impl From<RouterStatusIdx> for usize

§

fn from(value: RouterStatusIdx) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<State> for usize

§

fn from(src: State) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<Token> for usize

§

fn from(val: Token) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl<O> From<U16<O>> for usize
where\n O: ByteOrder,

§

fn from(x: U16<O>) -> usize

Converts to this type from the input type.
","From>","gosling::context::HandshakeHandle"],["
1.28.0 · source§

impl From<bool> for usize

source§

fn from(small: bool) -> usize

Converts a bool to usize losslessly.\nThe resulting value is 0 for false and 1 for true values.

\n
§Examples
\n
assert_eq!(usize::from(true), 1);\nassert_eq!(usize::from(false), 0);
\n
","From","gosling::context::HandshakeHandle"],["
1.26.0 · source§

impl From<u16> for usize

source§

fn from(small: u16) -> usize

Converts u16 to usize losslessly.

\n
","From","gosling::context::HandshakeHandle"],["
§

impl From<u24> for usize

§

fn from(val: u24) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<u40> for usize

§

fn from(val: u40) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<u48> for usize

§

fn from(val: u48) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
§

impl From<u56> for usize

§

fn from(val: u56) -> usize

Converts to this type from the input type.
","From","gosling::context::HandshakeHandle"],["
1.5.0 · source§

impl From<u8> for usize

source§

fn from(small: u8) -> usize

Converts u8 to usize losslessly.

\n
","From","gosling::context::HandshakeHandle"],["
source§

impl FromBytes for usize

§

type Bytes = [u8; 8]

source§

fn from_be_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in big endian. Read more
source§

fn from_le_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in little endian. Read more
source§

fn from_ne_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its memory representation as a byte array in native endianness. Read more
","FromBytes","gosling::context::HandshakeHandle"],["
§

impl FromBytes for usize

§

fn ref_from(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the given bytes as a &Self without copying. Read more
§

fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &Self without copying. Read more
§

fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &Self without copying. Read more
§

fn mut_from(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut Self without copying. Read more
§

fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut Self without\ncopying. Read more
§

fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut Self without copying. Read more
§

fn slice_from(bytes: &[u8]) -> Option<&[Self]>
where\n Self: Sized,

Interprets the given bytes as a &[Self] without copying. Read more
§

fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut [Self] without copying. Read more
§

fn mut_slice_from_prefix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [Self], &mut [u8])>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from_suffix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [u8], &mut [Self])>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn read_from(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from bytes. Read more
§

fn read_from_prefix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
§

fn read_from_suffix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
","FromBytes","gosling::context::HandshakeHandle"],["
source§

impl FromPrimitive for usize

source§

fn from_isize(n: isize) -> Option<usize>

Converts an isize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i8(n: i8) -> Option<usize>

Converts an i8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i16(n: i16) -> Option<usize>

Converts an i16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i32(n: i32) -> Option<usize>

Converts an i32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i64(n: i64) -> Option<usize>

Converts an i64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i128(n: i128) -> Option<usize>

Converts an i128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_usize(n: usize) -> Option<usize>

Converts a usize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u8(n: u8) -> Option<usize>

Converts an u8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u16(n: u16) -> Option<usize>

Converts an u16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u32(n: u32) -> Option<usize>

Converts an u32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u64(n: u64) -> Option<usize>

Converts an u64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u128(n: u128) -> Option<usize>

Converts an u128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_f32(n: f32) -> Option<usize>

Converts a f32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_f64(n: f64) -> Option<usize>

Converts a f64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
","FromPrimitive","gosling::context::HandshakeHandle"],["
§

impl FromSql for usize

§

fn column_result(value: ValueRef<'_>) -> Result<usize, FromSqlError>

Converts SQLite value into Rust value.
","FromSql","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl FromStr for usize

§

type Err = ParseIntError

The associated error which can be returned from parsing.
source§

fn from_str(src: &str) -> Result<usize, ParseIntError>

Parses a string s to return a value of this type. Read more
","FromStr","gosling::context::HandshakeHandle"],["
§

impl FromZeroes for usize

§

fn zero(&mut self)

Overwrites self with zeroes. Read more
§

fn new_zeroed() -> Self
where\n Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
","FromZeroes","gosling::context::HandshakeHandle"],["
§

impl Fundamental for usize

§

fn as_bool(self) -> bool

Tests self != 0.
§

fn as_char(self) -> Option<char>

Represents self as a Unicode Scalar Value, if possible.
§

fn as_i8(self) -> i8

Performs self as i8.
§

fn as_i16(self) -> i16

Performs self as i16.
§

fn as_i32(self) -> i32

Performs self as i32.
§

fn as_i64(self) -> i64

Performs self as i64.
§

fn as_i128(self) -> i128

Performs self as i128.
§

fn as_isize(self) -> isize

Performs self as isize.
§

fn as_u8(self) -> u8

Performs self as u8.
§

fn as_u16(self) -> u16

Performs self as u16.
§

fn as_u32(self) -> u32

Performs self as u32.
§

fn as_u64(self) -> u64

Performs self as u64.
§

fn as_u128(self) -> u128

Performs self as u128.
§

fn as_usize(self) -> usize

Performs self as usize.
§

fn as_f32(self) -> f32

Performs self as f32.
§

fn as_f64(self) -> f64

Performs self as f64.
","Fundamental","gosling::context::HandshakeHandle"],["
§

impl HasMemoryCostStructural for usize

§

fn indirect_memory_cost(&self, _et: EnabledToken) -> usize

Memory cost of data stored out-of-line Read more
","HasMemoryCostStructural","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Hash for usize

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
source§

fn hash_slice<H>(data: &[usize], state: &mut H)
where\n H: Hasher,

Feeds a slice of this type into the given Hasher. Read more
","Hash","gosling::context::HandshakeHandle"],["
source§

impl Integer for usize

source§

fn div_floor(&self, other: &usize) -> usize

Unsigned integer division. Returns the same result as div (/).

\n
source§

fn mod_floor(&self, other: &usize) -> usize

Unsigned integer modulo operation. Returns the same result as rem (%).

\n
source§

fn gcd(&self, other: &usize) -> usize

Calculates the Greatest Common Divisor (GCD) of the number and other

\n
source§

fn lcm(&self, other: &usize) -> usize

Calculates the Lowest Common Multiple (LCM) of the number and other.

\n
source§

fn gcd_lcm(&self, other: &usize) -> (usize, usize)

Calculates the Greatest Common Divisor (GCD) and\nLowest Common Multiple (LCM) of the number and other.

\n
source§

fn is_multiple_of(&self, other: &usize) -> bool

Returns true if the number is a multiple of other.

\n
source§

fn is_even(&self) -> bool

Returns true if the number is divisible by 2.

\n
source§

fn is_odd(&self) -> bool

Returns true if the number is not divisible by 2.

\n
source§

fn div_rem(&self, other: &usize) -> (usize, usize)

Simultaneous truncated integer division and modulus.

\n
source§

fn div_ceil(&self, other: &usize) -> usize

Ceiled integer division. Read more
source§

fn extended_gcd_lcm(&self, other: &usize) -> (ExtendedGcd<usize>, usize)

Greatest common divisor, least common multiple, and Bézout coefficients.
source§

fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
where\n Self: Clone,

Greatest common divisor and Bézout coefficients. Read more
source§

fn divides(&self, other: &Self) -> bool

👎Deprecated: Please use is_multiple_of instead
Deprecated, use is_multiple_of instead.
source§

fn div_mod_floor(&self, other: &Self) -> (Self, Self)

Simultaneous floored integer division and modulus.\nReturns (quotient, remainder). Read more
source§

fn next_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds up to nearest multiple of argument. Read more
source§

fn prev_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds down to nearest multiple of argument. Read more
source§

fn dec(&mut self)
where\n Self: Clone,

Decrements self by one. Read more
source§

fn inc(&mut self)
where\n Self: Clone,

Increments self by one. Read more
","Integer","gosling::context::HandshakeHandle"],["
§

impl Integral for usize

§

const ZERO: usize = 0usize

The type’s zero value.
§

const ONE: usize = 1usize

The type’s step value.
§

const MIN: usize = 0usize

The type’s minimum value. This is zero for unsigned integers.
§

const MAX: usize = 18_446_744_073_709_551_615usize

The type’s maximum value.
§

const BITS: u32 = 64u32

The size of this type in bits.
§

fn min_value() -> usize

Returns the smallest value that can be represented by this integer type.
§

fn max_value() -> usize

Returns the largest value that can be represented by this integer type.
§

fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer. Read more
§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.
§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.
§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of\nself.
§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation of\nself.
§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of\nself.
§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation of\nself.
§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping the\ntruncated bits to the end of the resulting integer. Read more
§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping the\ntruncated bits to the beginning of the resulting integer. Read more
§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer.
§

fn reverse_bits(self) -> usize

Reverses the bit pattern of the integer.
§

fn from_be(self) -> usize

Converts an integer from big endian to the target’s endianness. Read more
§

fn from_le(self) -> usize

Converts an integer frm little endian to the target’s endianness. Read more
§

fn to_be(self) -> usize

Converts self to big endian from the target’s endianness. Read more
§

fn to_le(self) -> usize

Converts self to little endian from the target’s endianness. Read more
§

fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None if\noverflow occurred.
§

fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning None if\noverflow occurred.
§

fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning None\nif overflow occurred.
§

fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean remainder. Computes self.rem_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None if self == MIN. Read more
§

fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None if rhs is\nlarger than or equal to the number of bits in self.
§

fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None if rhs\nis larger than or equal to the number of bits in self.
§

fn checked_pow(self, rhs: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.
§

fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs, saturating at\nthe numeric bounds instead of overflowing.
§

fn saturating_pow(self, rhs: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp), saturating\nat the numeric bounds instead of overflowing.
§

fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs, wrapping around at\nthe boundary of the type.
§

fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs, wrapping around\nat the boundary of the type.
§

fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping\naround at the boundary of the type.
§

fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean remainder. Computes self.rem_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self, wrapping around at the\nboundary of the type. Read more
§

fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_pow(self, rhs: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp), wrapping\naround at the boundary of the type.
§

fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs Read more
§

fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs Read more
§

fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs. Read more
§

fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs. Read more
§

fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs). Read more
§

fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs. Read more
§

fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Overflowing Euclidean remainder. Calculates self.rem_euclid(rhs). Read more
§

fn overflowing_neg(self) -> (usize, bool)

Negates self, overflowing if this is equal to the minimum value. Read more
§

fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits. Read more
§

fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits. Read more
§

fn overflowing_pow(self, rhs: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring. Read more
§

fn pow(self, rhs: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.
§

fn div_euclid(self, rhs: usize) -> usize

Calculates the quotient of Euclidean division of self by rhs. Read more
§

fn rem_euclid(self, rhs: usize) -> usize

Calculates the least nonnegative remainder of self (mod rhs). Read more
","Integral","gosling::context::HandshakeHandle"],["
source§

impl IntoBigInt for usize

source§

fn into_bigint(self) -> Option<BigInt>

Converts the value of self to a BigInt.
","IntoBigInt","gosling::context::HandshakeHandle"],["
source§

impl IntoBigUint for usize

source§

fn into_biguint(self) -> Option<BigUint>

Converts the value of self to a BigUint.
","IntoBigUint","gosling::context::HandshakeHandle"],["
source§

impl<'de, E> IntoDeserializer<'de, E> for usize
where\n E: Error,

§

type Deserializer = UsizeDeserializer<E>

The type of the deserializer being converted into.
source§

fn into_deserializer(self) -> UsizeDeserializer<E>

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","gosling::context::HandshakeHandle"],["
§

impl IntoNotification for usize

§

type Tag = ()

The tag data associated with a notification. Read more
§

type Notify = Notify

The notification type. Read more
§

fn into_notification(self) -> <usize as IntoNotification>::Notify

Convert this value into a notification. Read more
§

fn additional(self) -> Additional<Self::Notify>
where\n Self: Sized,

Convert this value into an additional notification. Read more
§

fn relaxed(self) -> Relaxed<Self::Notify>
where\n Self: Sized,

Don’t emit a fence for this notification. Read more
§

fn tag<T>(self, tag: T) -> Tag<Self::Notify, T>
where\n T: Clone,\n Self: Sized + IntoNotification<Tag = ()>,

Use a tag with this notification. Read more
§

fn tag_with<T, F>(self, tag: F) -> TagWith<Self::Notify, F>
where\n Self: Sized + IntoNotification<Tag = ()>,\n F: FnMut() -> T,

Use a function to generate a tag with this notification. Read more
","IntoNotification","gosling::context::HandshakeHandle"],["
1.42.0 · source§

impl LowerExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerExp","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl LowerHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerHex","gosling::context::HandshakeHandle"],["
source§

impl<'a> Mul<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigInt) -> BigInt

Performs the * operation. Read more
","Mul<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Mul<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigUint) -> BigUint

Performs the * operation. Read more
","Mul<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Mul<&usize> for usize

§

type Output = <usize as Mul>::Output

The resulting type after applying the * operator.
source§

fn mul(self, other: &usize) -> <usize as Mul>::Output

Performs the * operation. Read more
","Mul<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Mul<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: BigInt) -> BigInt

Performs the * operation. Read more
","Mul","gosling::context::HandshakeHandle"],["
source§

impl Mul<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: BigUint) -> BigUint

Performs the * operation. Read more
","Mul","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Mul for usize

§

type Output = usize

The resulting type after applying the * operator.
source§

fn mul(self, other: usize) -> usize

Performs the * operation. Read more
","Mul","gosling::context::HandshakeHandle"],["
source§

impl MulAdd for usize

§

type Output = usize

The resulting type after applying the fused multiply-add.
source§

fn mul_add(self, a: usize, b: usize) -> <usize as MulAdd>::Output

Performs the fused multiply-add operation (self * a) + b
","MulAdd","gosling::context::HandshakeHandle"],["
source§

impl MulAddAssign for usize

source§

fn mul_add_assign(&mut self, a: usize, b: usize)

Performs the fused multiply-add assignment operation *self = (*self * a) + b
","MulAddAssign","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl MulAssign<&usize> for usize

source§

fn mul_assign(&mut self, other: &usize)

Performs the *= operation. Read more
","MulAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl MulAssign for usize

source§

fn mul_assign(&mut self, other: usize)

Performs the *= operation. Read more
","MulAssign","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Not for usize

§

type Output = usize

The resulting type after applying the ! operator.
source§

fn not(self) -> usize

Performs the unary ! operation. Read more
","Not","gosling::context::HandshakeHandle"],["
source§

impl Num for usize

§

type FromStrRadixErr = ParseIntError

source§

fn from_str_radix(s: &str, radix: u32) -> Result<usize, ParseIntError>

Convert from a string and radix (typically 2..=36). Read more
","Num","gosling::context::HandshakeHandle"],["
source§

impl NumCast for usize

source§

fn from<N>(n: N) -> Option<usize>
where\n N: ToPrimitive,

Creates a number from another value that can be converted into\na primitive via the ToPrimitive trait. If the source value cannot be\nrepresented by the target type, then None is returned. Read more
","NumCast","gosling::context::HandshakeHandle"],["
§

impl Numeric for usize

§

type Bytes = [u8; 8]

The [u8; N] byte array that stores values of Self.
§

fn to_be_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nbig-endian (network) byte order.
§

fn to_le_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nlittle-endian byte order.
§

fn to_ne_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nnative byte order.
§

fn from_be_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in big\nendian.
§

fn from_le_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in little\nendian.
§

fn from_ne_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its memory representation as a byte array in\nnative endianness.
","Numeric","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Octal for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Octal","gosling::context::HandshakeHandle"],["
source§

impl One for usize

source§

fn one() -> usize

Returns the multiplicative identity element of Self, 1. Read more
source§

fn is_one(&self) -> bool

Returns true if self is equal to the multiplicative identity. Read more
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
","One","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Ord for usize

source§

fn cmp(&self, other: &usize) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","gosling::context::HandshakeHandle"],["
source§

impl OverflowingAdd for usize

source§

fn overflowing_add(&self, v: &usize) -> (usize, bool)

Returns a tuple of the sum along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingAdd","gosling::context::HandshakeHandle"],["
source§

impl OverflowingMul for usize

source§

fn overflowing_mul(&self, v: &usize) -> (usize, bool)

Returns a tuple of the product along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingMul","gosling::context::HandshakeHandle"],["
source§

impl OverflowingSub for usize

source§

fn overflowing_sub(&self, v: &usize) -> (usize, bool)

Returns a tuple of the difference along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingSub","gosling::context::HandshakeHandle"],["
§

impl ParseHex for usize

§

fn parse_hex(input: &str) -> Result<usize, ParseError>

Parse the value from hex.
","ParseHex","gosling::context::HandshakeHandle"],["
source§

impl PartialEq<Value> for usize

source§

fn eq(&self, other: &Value) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl PartialEq for usize

source§

fn eq(&self, other: &usize) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
source§

fn ne(&self, other: &usize) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl PartialOrd for usize

source§

fn partial_cmp(&self, other: &usize) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
source§

fn lt(&self, other: &usize) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
source§

fn le(&self, other: &usize) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
source§

fn ge(&self, other: &usize) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
source§

fn gt(&self, other: &usize) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
","PartialOrd","gosling::context::HandshakeHandle"],["
source§

impl PhfBorrow<usize> for usize

source§

fn borrow(&self) -> &usize

Convert a reference to self to a reference to the borrowed type.
","PhfBorrow","gosling::context::HandshakeHandle"],["
source§

impl PhfHash for usize

source§

fn phf_hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds the value into the state given, updating the hasher as necessary.
source§

fn phf_hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the state provided.
","PhfHash","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u16) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u16>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u32) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u32>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u8) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u8>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Pow<&'a usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a usize) -> usize

Returns self to the power rhs. Read more
","Pow<&'a usize>","gosling::context::HandshakeHandle"],["
source§

impl<U> Pow<PInt<U>> for usize
where\n U: Unsigned + NonZero,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: PInt<U>) -> <usize as Pow<PInt<U>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","gosling::context::HandshakeHandle"],["
source§

impl<U, B> Pow<UInt<U, B>> for usize
where\n U: Unsigned,\n B: Bit,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UInt<U, B>) -> <usize as Pow<UInt<U, B>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","gosling::context::HandshakeHandle"],["
source§

impl Pow<UTerm> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UTerm) -> <usize as Pow<UTerm>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<Z0> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: Z0) -> <usize as Pow<Z0>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u16) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u32) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u8) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl Pow<usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: usize) -> usize

Returns self to the power rhs. Read more
","Pow","gosling::context::HandshakeHandle"],["
source§

impl PrimInt for usize

source§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self. Read more
source§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self. Read more
source§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation\nof self. Read more
source§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation\nof self. Read more
source§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self. Read more
source§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self. Read more
source§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping\nthe truncated bits to the end of the resulting integer. Read more
source§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping\nthe truncated bits to the beginning of the resulting integer. Read more
source§

fn signed_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn signed_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, copying\nthe “sign bit” in the most significant bits even for unsigned types. Read more
source§

fn unsigned_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn unsigned_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, filling\nzeros in the most significant bits. Read more
source§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer. Read more
source§

fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. Read more
source§

fn from_be(x: usize) -> usize

Convert an integer from big endian to the target’s endianness. Read more
source§

fn from_le(x: usize) -> usize

Convert an integer from little endian to the target’s endianness. Read more
source§

fn to_be(self) -> usize

Convert self to big endian from the target’s endianness. Read more
source§

fn to_le(self) -> usize

Convert self to little endian from the target’s endianness. Read more
source§

fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring. Read more
","PrimInt","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl<'a> Product<&'a usize> for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product<&'a usize>","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl Product for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product","gosling::context::HandshakeHandle"],["
§

impl<R> RangeExt<usize> for R
where\n R: RangeBounds<usize>,

§

fn normalize(\n self,\n start: impl Into<Option<usize>>,\n end: impl Into<Option<usize>>,\n) -> Range<usize>

Normalizes a range-like type to a canonical half-open Range. Read more
§

fn intersection<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the intersection between two range-likes. The produced Range\nspans only the elements common to both. Read more
§

fn union<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the union between two range-likes. The produced Range spans all\nelements present in at least one of them. Read more
","RangeExt","gosling::context::HandshakeHandle"],["
source§

impl<'a> Rem<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigInt) -> BigInt

Performs the % operation. Read more
","Rem<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Rem<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigUint) -> BigUint

Performs the % operation. Read more
","Rem<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Rem<&usize> for usize

§

type Output = <usize as Rem>::Output

The resulting type after applying the % operator.
source§

fn rem(self, other: &usize) -> <usize as Rem>::Output

Performs the % operation. Read more
","Rem<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Rem<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: BigInt) -> BigInt

Performs the % operation. Read more
","Rem","gosling::context::HandshakeHandle"],["
source§

impl Rem<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: BigUint) -> BigUint

Performs the % operation. Read more
","Rem","gosling::context::HandshakeHandle"],["
1.51.0 · source§

impl Rem<NonZero<usize>> for usize

source§

fn rem(self, other: NonZero<usize>) -> usize

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the % operator.
","Rem>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Rem for usize

This operation satisfies n % d == n - (n / d) * d. The\nresult has the same sign as the left operand.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the % operator.
source§

fn rem(self, other: usize) -> usize

Performs the % operation. Read more
","Rem","gosling::context::HandshakeHandle"],["
source§

impl<'a> RemAssign<&'a BigUint> for usize

source§

fn rem_assign(&mut self, other: &BigUint)

Performs the %= operation. Read more
","RemAssign<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl RemAssign<&usize> for usize

source§

fn rem_assign(&mut self, other: &usize)

Performs the %= operation. Read more
","RemAssign<&usize>","gosling::context::HandshakeHandle"],["
source§

impl RemAssign<BigUint> for usize

source§

fn rem_assign(&mut self, other: BigUint)

Performs the %= operation. Read more
","RemAssign","gosling::context::HandshakeHandle"],["
1.79.0 · source§

impl RemAssign<NonZero<usize>> for usize

source§

fn rem_assign(&mut self, other: NonZero<usize>)

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
","RemAssign>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl RemAssign for usize

source§

fn rem_assign(&mut self, other: usize)

Performs the %= operation. Read more
","RemAssign","gosling::context::HandshakeHandle"],["
source§

impl Roots for usize

source§

fn nth_root(&self, n: u32) -> usize

Returns the truncated principal nth root of an integer\n– if x >= 0 { ⌊ⁿ√x⌋ } else { ⌈ⁿ√x⌉ } Read more
source§

fn sqrt(&self) -> usize

Returns the truncated principal square root of an integer – ⌊√x⌋ Read more
source§

fn cbrt(&self) -> usize

Returns the truncated principal cube root of an integer –\nif x >= 0 { ⌊∛x⌋ } else { ⌈∛x⌉ } Read more
","Roots","gosling::context::HandshakeHandle"],["
§

impl RowIndex for usize

§

fn idx(&self, stmt: &Statement<'_>) -> Result<usize, Error>

Returns the index of the appropriate column, or None if no such\ncolumn exists.
","RowIndex","gosling::context::HandshakeHandle"],["
source§

impl SampleUniform for usize

§

type Sampler = UniformInt<usize>

The UniformSampler implementation supporting type X.
","SampleUniform","gosling::context::HandshakeHandle"],["
source§

impl Saturating for usize

source§

fn saturating_add(self, v: usize) -> usize

Saturating addition operator.\nReturns a+b, saturating at the numeric bounds instead of overflowing.
source§

fn saturating_sub(self, v: usize) -> usize

Saturating subtraction operator.\nReturns a-b, saturating at the numeric bounds instead of overflowing.
","Saturating","gosling::context::HandshakeHandle"],["
source§

impl SaturatingAdd for usize

source§

fn saturating_add(&self, v: &usize) -> usize

Saturating addition. Computes self + other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingAdd","gosling::context::HandshakeHandle"],["
source§

impl SaturatingMul for usize

source§

fn saturating_mul(&self, v: &usize) -> usize

Saturating multiplication. Computes self * other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingMul","gosling::context::HandshakeHandle"],["
source§

impl SaturatingSub for usize

source§

fn saturating_sub(&self, v: &usize) -> usize

Saturating subtraction. Computes self - other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingSub","gosling::context::HandshakeHandle"],["
§

impl SeekNum for usize

§

fn from_block_byte<T>(\n block: T,\n byte: u8,\n bs: u8,\n) -> Result<usize, OverflowError>
where\n T: Counter,

Try to get position for block number block, byte position inside\nblock byte, and block size bs.
§

fn into_block_byte<T>(self, bs: u8) -> Result<(T, u8), OverflowError>
where\n T: Counter,

Try to get block number and bytes position for given block size bs.
","SeekNum","gosling::context::HandshakeHandle"],["
source§

impl Serialize for usize

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i128> for usize

§

type Output = <usize as Shl<i128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i128) -> <usize as Shl<i128>>::Output

Performs the << operation. Read more
","Shl<&i128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i16> for usize

§

type Output = <usize as Shl<i16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i16) -> <usize as Shl<i16>>::Output

Performs the << operation. Read more
","Shl<&i16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i32> for usize

§

type Output = <usize as Shl<i32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i32) -> <usize as Shl<i32>>::Output

Performs the << operation. Read more
","Shl<&i32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i64> for usize

§

type Output = <usize as Shl<i64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i64) -> <usize as Shl<i64>>::Output

Performs the << operation. Read more
","Shl<&i64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&i8> for usize

§

type Output = <usize as Shl<i8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i8) -> <usize as Shl<i8>>::Output

Performs the << operation. Read more
","Shl<&i8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&isize> for usize

§

type Output = <usize as Shl<isize>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &isize) -> <usize as Shl<isize>>::Output

Performs the << operation. Read more
","Shl<&isize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u128> for usize

§

type Output = <usize as Shl<u128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u128) -> <usize as Shl<u128>>::Output

Performs the << operation. Read more
","Shl<&u128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u16> for usize

§

type Output = <usize as Shl<u16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u16) -> <usize as Shl<u16>>::Output

Performs the << operation. Read more
","Shl<&u16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u32> for usize

§

type Output = <usize as Shl<u32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u32) -> <usize as Shl<u32>>::Output

Performs the << operation. Read more
","Shl<&u32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u64> for usize

§

type Output = <usize as Shl<u64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u64) -> <usize as Shl<u64>>::Output

Performs the << operation. Read more
","Shl<&u64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&u8> for usize

§

type Output = <usize as Shl<u8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u8) -> <usize as Shl<u8>>::Output

Performs the << operation. Read more
","Shl<&u8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<&usize> for usize

§

type Output = <usize as Shl>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &usize) -> <usize as Shl>::Output

Performs the << operation. Read more
","Shl<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i128) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i16) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i32) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i64) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<i8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i8) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<isize> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: isize) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u128) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u16) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u32) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u64) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl<u8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u8) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shl for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: usize) -> usize

Performs the << operation. Read more
","Shl","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i128> for usize

source§

fn shl_assign(&mut self, other: &i128)

Performs the <<= operation. Read more
","ShlAssign<&i128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i16> for usize

source§

fn shl_assign(&mut self, other: &i16)

Performs the <<= operation. Read more
","ShlAssign<&i16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i32> for usize

source§

fn shl_assign(&mut self, other: &i32)

Performs the <<= operation. Read more
","ShlAssign<&i32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i64> for usize

source§

fn shl_assign(&mut self, other: &i64)

Performs the <<= operation. Read more
","ShlAssign<&i64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&i8> for usize

source§

fn shl_assign(&mut self, other: &i8)

Performs the <<= operation. Read more
","ShlAssign<&i8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&isize> for usize

source§

fn shl_assign(&mut self, other: &isize)

Performs the <<= operation. Read more
","ShlAssign<&isize>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u128> for usize

source§

fn shl_assign(&mut self, other: &u128)

Performs the <<= operation. Read more
","ShlAssign<&u128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u16> for usize

source§

fn shl_assign(&mut self, other: &u16)

Performs the <<= operation. Read more
","ShlAssign<&u16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u32> for usize

source§

fn shl_assign(&mut self, other: &u32)

Performs the <<= operation. Read more
","ShlAssign<&u32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u64> for usize

source§

fn shl_assign(&mut self, other: &u64)

Performs the <<= operation. Read more
","ShlAssign<&u64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&u8> for usize

source§

fn shl_assign(&mut self, other: &u8)

Performs the <<= operation. Read more
","ShlAssign<&u8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShlAssign<&usize> for usize

source§

fn shl_assign(&mut self, other: &usize)

Performs the <<= operation. Read more
","ShlAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i128> for usize

source§

fn shl_assign(&mut self, other: i128)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i16> for usize

source§

fn shl_assign(&mut self, other: i16)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i32> for usize

source§

fn shl_assign(&mut self, other: i32)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i64> for usize

source§

fn shl_assign(&mut self, other: i64)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<i8> for usize

source§

fn shl_assign(&mut self, other: i8)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<isize> for usize

source§

fn shl_assign(&mut self, other: isize)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u128> for usize

source§

fn shl_assign(&mut self, other: u128)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u16> for usize

source§

fn shl_assign(&mut self, other: u16)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u32> for usize

source§

fn shl_assign(&mut self, other: u32)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u64> for usize

source§

fn shl_assign(&mut self, other: u64)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign<u8> for usize

source§

fn shl_assign(&mut self, other: u8)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShlAssign for usize

source§

fn shl_assign(&mut self, other: usize)

Performs the <<= operation. Read more
","ShlAssign","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i128> for usize

§

type Output = <usize as Shr<i128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i128) -> <usize as Shr<i128>>::Output

Performs the >> operation. Read more
","Shr<&i128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i16> for usize

§

type Output = <usize as Shr<i16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i16) -> <usize as Shr<i16>>::Output

Performs the >> operation. Read more
","Shr<&i16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i32> for usize

§

type Output = <usize as Shr<i32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i32) -> <usize as Shr<i32>>::Output

Performs the >> operation. Read more
","Shr<&i32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i64> for usize

§

type Output = <usize as Shr<i64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i64) -> <usize as Shr<i64>>::Output

Performs the >> operation. Read more
","Shr<&i64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&i8> for usize

§

type Output = <usize as Shr<i8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i8) -> <usize as Shr<i8>>::Output

Performs the >> operation. Read more
","Shr<&i8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&isize> for usize

§

type Output = <usize as Shr<isize>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &isize) -> <usize as Shr<isize>>::Output

Performs the >> operation. Read more
","Shr<&isize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u128> for usize

§

type Output = <usize as Shr<u128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u128) -> <usize as Shr<u128>>::Output

Performs the >> operation. Read more
","Shr<&u128>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u16> for usize

§

type Output = <usize as Shr<u16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u16) -> <usize as Shr<u16>>::Output

Performs the >> operation. Read more
","Shr<&u16>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u32> for usize

§

type Output = <usize as Shr<u32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u32) -> <usize as Shr<u32>>::Output

Performs the >> operation. Read more
","Shr<&u32>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u64> for usize

§

type Output = <usize as Shr<u64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u64) -> <usize as Shr<u64>>::Output

Performs the >> operation. Read more
","Shr<&u64>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&u8> for usize

§

type Output = <usize as Shr<u8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u8) -> <usize as Shr<u8>>::Output

Performs the >> operation. Read more
","Shr<&u8>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<&usize> for usize

§

type Output = <usize as Shr>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &usize) -> <usize as Shr>::Output

Performs the >> operation. Read more
","Shr<&usize>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i128) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i16) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i32) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i64) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<i8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i8) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<isize> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: isize) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u128) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u16) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u32) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u64) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr<u8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u8) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Shr for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: usize) -> usize

Performs the >> operation. Read more
","Shr","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i128> for usize

source§

fn shr_assign(&mut self, other: &i128)

Performs the >>= operation. Read more
","ShrAssign<&i128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i16> for usize

source§

fn shr_assign(&mut self, other: &i16)

Performs the >>= operation. Read more
","ShrAssign<&i16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i32> for usize

source§

fn shr_assign(&mut self, other: &i32)

Performs the >>= operation. Read more
","ShrAssign<&i32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i64> for usize

source§

fn shr_assign(&mut self, other: &i64)

Performs the >>= operation. Read more
","ShrAssign<&i64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&i8> for usize

source§

fn shr_assign(&mut self, other: &i8)

Performs the >>= operation. Read more
","ShrAssign<&i8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&isize> for usize

source§

fn shr_assign(&mut self, other: &isize)

Performs the >>= operation. Read more
","ShrAssign<&isize>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u128> for usize

source§

fn shr_assign(&mut self, other: &u128)

Performs the >>= operation. Read more
","ShrAssign<&u128>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u16> for usize

source§

fn shr_assign(&mut self, other: &u16)

Performs the >>= operation. Read more
","ShrAssign<&u16>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u32> for usize

source§

fn shr_assign(&mut self, other: &u32)

Performs the >>= operation. Read more
","ShrAssign<&u32>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u64> for usize

source§

fn shr_assign(&mut self, other: &u64)

Performs the >>= operation. Read more
","ShrAssign<&u64>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&u8> for usize

source§

fn shr_assign(&mut self, other: &u8)

Performs the >>= operation. Read more
","ShrAssign<&u8>","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl ShrAssign<&usize> for usize

source§

fn shr_assign(&mut self, other: &usize)

Performs the >>= operation. Read more
","ShrAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i128> for usize

source§

fn shr_assign(&mut self, other: i128)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i16> for usize

source§

fn shr_assign(&mut self, other: i16)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i32> for usize

source§

fn shr_assign(&mut self, other: i32)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i64> for usize

source§

fn shr_assign(&mut self, other: i64)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<i8> for usize

source§

fn shr_assign(&mut self, other: i8)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<isize> for usize

source§

fn shr_assign(&mut self, other: isize)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u128> for usize

source§

fn shr_assign(&mut self, other: u128)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u16> for usize

source§

fn shr_assign(&mut self, other: u16)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u32> for usize

source§

fn shr_assign(&mut self, other: u32)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u64> for usize

source§

fn shr_assign(&mut self, other: u64)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign<u8> for usize

source§

fn shr_assign(&mut self, other: u8)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl ShrAssign for usize

source§

fn shr_assign(&mut self, other: usize)

Performs the >>= operation. Read more
","ShrAssign","gosling::context::HandshakeHandle"],["
source§

impl SimdElement for usize

§

type Mask = isize

🔬This is a nightly-only experimental API. (portable_simd)
The mask element type corresponding to this element type.
","SimdElement","gosling::context::HandshakeHandle"],["
1.15.0 (const: unstable) · source§

impl<T> SliceIndex<[T]> for usize

The methods index and index_mut panic if the index is out of bounds.

\n
§

type Output = T

The output type returned by methods.
source§

fn get(self, slice: &[T]) -> Option<&T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in\nbounds.
source§

fn get_mut(self, slice: &mut [T]) -> Option<&mut T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in\nbounds.
source§

unsafe fn get_unchecked(self, slice: *const [T]) -> *const T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

fn index(self, slice: &[T]) -> &T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking\nif out of bounds.
source§

fn index_mut(self, slice: &mut [T]) -> &mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking\nif out of bounds.
","SliceIndex<[T]>","gosling::context::HandshakeHandle"],["
§

impl SmartDisplay for usize

§

type Metadata = ()

User-provided metadata type.
§

fn metadata(&self, f: FormatterOptions) -> Metadata<'_, usize>

Compute any information needed to format the value. This must, at a minimum, determine the\nwidth of the value before any padding is added by the formatter. Read more
§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Format the value using the given formatter. This is the same as Display::fmt. Read more
§

fn fmt_with_metadata(\n &self,\n f: &mut Formatter<'_>,\n _metadata: Metadata<'_, Self>,\n) -> Result<(), Error>

Format the value using the given formatter and metadata. The formatted output should have\nthe width indicated by the metadata. This is before any padding is added by the\nformatter. Read more
","SmartDisplay","gosling::context::HandshakeHandle"],["
source§

impl Step for usize

source§

fn forward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

unsafe fn forward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

unsafe fn backward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

fn steps_between(start: &usize, end: &usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the number of successor steps required to get from start to end. Read more
source§

fn forward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
","Step","gosling::context::HandshakeHandle"],["
source§

impl<'a> Sub<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigInt) -> BigInt

Performs the - operation. Read more
","Sub<&'a BigInt>","gosling::context::HandshakeHandle"],["
source§

impl<'a> Sub<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigUint) -> BigUint

Performs the - operation. Read more
","Sub<&'a BigUint>","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Sub<&usize> for usize

§

type Output = <usize as Sub>::Output

The resulting type after applying the - operator.
source§

fn sub(self, other: &usize) -> <usize as Sub>::Output

Performs the - operation. Read more
","Sub<&usize>","gosling::context::HandshakeHandle"],["
source§

impl Sub<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: BigInt) -> BigInt

Performs the - operation. Read more
","Sub","gosling::context::HandshakeHandle"],["
source§

impl Sub<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: BigUint) -> BigUint

Performs the - operation. Read more
","Sub","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Sub for usize

§

type Output = usize

The resulting type after applying the - operator.
source§

fn sub(self, other: usize) -> usize

Performs the - operation. Read more
","Sub","gosling::context::HandshakeHandle"],["
1.22.0 · source§

impl SubAssign<&usize> for usize

source§

fn sub_assign(&mut self, other: &usize)

Performs the -= operation. Read more
","SubAssign<&usize>","gosling::context::HandshakeHandle"],["
1.8.0 · source§

impl SubAssign for usize

source§

fn sub_assign(&mut self, other: usize)

Performs the -= operation. Read more
","SubAssign","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl<'a> Sum<&'a usize> for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum<&'a usize>","gosling::context::HandshakeHandle"],["
1.12.0 · source§

impl Sum for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum","gosling::context::HandshakeHandle"],["
source§

impl ToBigInt for usize

source§

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a BigInt.
","ToBigInt","gosling::context::HandshakeHandle"],["
source§

impl ToBigUint for usize

source§

fn to_biguint(&self) -> Option<BigUint>

Converts the value of self to a BigUint.
","ToBigUint","gosling::context::HandshakeHandle"],["
source§

impl ToBytes for usize

§

type Bytes = [u8; 8]

source§

fn to_be_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in big-endian byte order. Read more
source§

fn to_le_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in little-endian byte order. Read more
source§

fn to_ne_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in native byte order. Read more
","ToBytes","gosling::context::HandshakeHandle"],["
source§

impl ToPrimitive for usize

source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be\nrepresented by an isize, then None is returned.
source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be\nrepresented by an i8, then None is returned.
source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be\nrepresented by an i16, then None is returned.
source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be\nrepresented by an i32, then None is returned.
source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be\nrepresented by an i64, then None is returned.
source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be\nrepresented by an i128 (i64 under the default implementation), then\nNone is returned. Read more
source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be\nrepresented by a usize, then None is returned.
source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be\nrepresented by a u8, then None is returned.
source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be\nrepresented by a u16, then None is returned.
source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be\nrepresented by a u32, then None is returned.
source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be\nrepresented by a u64, then None is returned.
source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be\nrepresented by a u128 (u64 under the default implementation), then\nNone is returned. Read more
source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f32.
source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f64. Read more
","ToPrimitive","gosling::context::HandshakeHandle"],["
§

impl ToSql for usize

§

fn to_sql(&self) -> Result<ToSqlOutput<'_>, Error>

Converts Rust value to SQLite value
","ToSql","gosling::context::HandshakeHandle"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","gosling::context::HandshakeHandle"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","gosling::context::HandshakeHandle"],["
§

impl<const L: i32, const H: i32> TryFrom<BoundedInt32<L, H>> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(\n val: BoundedInt32<L, H>,\n) -> Result<usize, <usize as TryFrom<BoundedInt32<L, H>>>::Error>

Performs the conversion.
","TryFrom>","gosling::context::HandshakeHandle"],["
§

impl TryFrom<Length> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(len: Length) -> Result<usize, Error>

Performs the conversion.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i128> for usize

source§

fn try_from(u: i128) -> Result<usize, <usize as TryFrom<i128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i16> for usize

source§

fn try_from(u: i16) -> Result<usize, <usize as TryFrom<i16>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i32> for usize

source§

fn try_from(u: i32) -> Result<usize, <usize as TryFrom<i32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i64> for usize

source§

fn try_from(u: i64) -> Result<usize, <usize as TryFrom<i64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<i8> for usize

source§

fn try_from(u: i8) -> Result<usize, <usize as TryFrom<i8>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<isize> for usize

source§

fn try_from(u: isize) -> Result<usize, <usize as TryFrom<isize>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<u128> for usize

source§

fn try_from(u: u128) -> Result<usize, <usize as TryFrom<u128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<u32> for usize

source§

fn try_from(value: u32) -> Result<usize, <usize as TryFrom<u32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
1.34.0 · source§

impl TryFrom<u64> for usize

source§

fn try_from(value: u64) -> Result<usize, <usize as TryFrom<u64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","gosling::context::HandshakeHandle"],["
§

impl Unsigned for usize

§

fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.
§

fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self. Read more
§

fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to n. If the\nnext power of two is greater than the type’s maximum value, None is\nreturned, otherwise the power of two is wrapped in Some.
","Unsigned","gosling::context::HandshakeHandle"],["
1.42.0 · source§

impl UpperExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperExp","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl UpperHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperHex","gosling::context::HandshakeHandle"],["
§

impl Value for usize

§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
","Value","gosling::context::HandshakeHandle"],["
source§

impl WrappingAdd for usize

source§

fn wrapping_add(&self, v: &usize) -> usize

Wrapping (modular) addition. Computes self + other, wrapping around at the boundary of\nthe type.
","WrappingAdd","gosling::context::HandshakeHandle"],["
source§

impl WrappingMul for usize

source§

fn wrapping_mul(&self, v: &usize) -> usize

Wrapping (modular) multiplication. Computes self * other, wrapping around at the boundary\nof the type.
","WrappingMul","gosling::context::HandshakeHandle"],["
source§

impl WrappingNeg for usize

source§

fn wrapping_neg(&self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type. Read more
","WrappingNeg","gosling::context::HandshakeHandle"],["
source§

impl WrappingShl for usize

source§

fn wrapping_shl(&self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShl","gosling::context::HandshakeHandle"],["
source§

impl WrappingShr for usize

source§

fn wrapping_shr(&self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShr","gosling::context::HandshakeHandle"],["
source§

impl WrappingSub for usize

source§

fn wrapping_sub(&self, v: &usize) -> usize

Wrapping (modular) subtraction. Computes self - other, wrapping around at the boundary\nof the type.
","WrappingSub","gosling::context::HandshakeHandle"],["
§

impl WriteHex for usize

§

fn write_hex<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Write the value as hex.
","WriteHex","gosling::context::HandshakeHandle"],["
§

impl Writeable for usize

§

fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
where\n W: Write + ?Sized,

Writes a string to the given sink. Errors from the sink are bubbled up.\nThe default implementation delegates to write_to_parts, and discards any\nPart annotations.
§

fn writeable_length_hint(&self) -> LengthHint

Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
§

fn write_to_parts<S>(&self, sink: &mut S) -> Result<(), Error>
where\n S: PartsWrite + ?Sized,

Write bytes and Part annotations to the given sink. Errors from the\nsink are bubbled up. The default implementation delegates to write_to,\nand doesn’t produce any Part annotations.
§

fn write_to_string(&self) -> Cow<'_, str>

Creates a new String with the data from this Writeable. Like ToString,\nbut smaller and faster. Read more
§

fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

Compares the contents of this Writeable to the given bytes\nwithout allocating a String to hold the Writeable contents. Read more
","Writeable","gosling::context::HandshakeHandle"],["
§

impl<'a> Yokeable<'a> for usize

§

type Output = usize

This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
§

fn transform(&self) -> &<usize as Yokeable<'a>>::Output

This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
§

fn transform_owned(self) -> <usize as Yokeable<'a>>::Output

This method must cast self between Self<'static> and Self<'a>. Read more
§

unsafe fn make(this: <usize as Yokeable<'a>>::Output) -> usize

This method can be used to cast away Self<'a>’s lifetime. Read more
§

fn transform_mut<F>(&'a mut self, f: F)
where\n F: 'static + for<'b> FnOnce(&'b mut <usize as Yokeable<'a>>::Output),

This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>,\nand pass it to f. Read more
","Yokeable<'a>","gosling::context::HandshakeHandle"],["
source§

impl Zero for usize

source§

fn zero() -> usize

Returns the additive identity element of Self, 0. Read more
source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","gosling::context::HandshakeHandle"],["
§

impl<'a> ZeroFrom<'a, usize> for usize

§

fn zero_from(this: &'a usize) -> usize

Clone the other C into a struct that may retain references into C.
","ZeroFrom<'a, usize>","gosling::context::HandshakeHandle"],["
§

impl<'a> ZeroMapKV<'a> for usize

§

type Container = FlexZeroVec<'a>

The container that can be used with this type: [ZeroVec] or [VarZeroVec].
§

type Slice = FlexZeroSlice

§

type GetType = [u8]

The type produced by Container::get() Read more
§

type OwnedType = usize

The type produced by Container::replace() and Container::remove(),\nalso used during deserialization. If Self is human readable serialized,\ndeserializing to Self::OwnedType should produce the same value once\npassed through Self::owned_as_self() Read more
","ZeroMapKV<'a>","gosling::context::HandshakeHandle"],["
source§

impl usize

1.43.0 · source

pub const MIN: usize = 0usize

The smallest value that can be represented by this integer type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MIN, 0);
\n
1.43.0 · source

pub const MAX: usize = 18_446_744_073_709_551_615usize

The largest value that can be represented by this integer type\n(264 − 1 on 64-bit targets).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX, 18446744073709551615);
\n
1.53.0 · source

pub const BITS: u32 = 64u32

The size of this integer type in bits.

\n
§Examples
\n
assert_eq!(usize::BITS, 64);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b01001100usize;\n\nassert_eq!(n.count_ones(), 3);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX.count_zeros(), 0);
\n
1.0.0 (const: 1.32.0) · source

pub const fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of self.

\n

Depending on what you’re doing with the value, you might also be interested in the\nilog2 function which returns a consistent number, even if the type widens.

\n
§Examples
\n

Basic usage:

\n\n
let n = usize::MAX >> 2;\n\nassert_eq!(n.leading_zeros(), 2);
\n
1.0.0 (const: 1.32.0) · source

pub const fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b0101000usize;\n\nassert_eq!(n.trailing_zeros(), 3);
\n
1.46.0 (const: 1.46.0) · source

pub const fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = !(usize::MAX >> 2);\n\nassert_eq!(n.leading_ones(), 2);
\n
1.46.0 (const: 1.46.0) · source

pub const fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b1010111usize;\n\nassert_eq!(n.trailing_ones(), 3);
\n
source

pub const fn cast_signed(self) -> isize

🔬This is a nightly-only experimental API. (integer_sign_cast)

Returns the bit pattern of self reinterpreted as a signed integer of the same size.

\n

This produces the same result as an as cast, but ensures that the bit-width remains\nthe same.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(integer_sign_cast)]\n\nlet n = usize::MAX;\n\nassert_eq!(n.cast_signed(), -1isize);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n,\nwrapping the truncated bits to the end of the resulting integer.

\n

Please note this isn’t the same operation as the << shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0xaa00000000006e1usize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n,\nwrapping the truncated bits to the beginning of the resulting\ninteger.

\n

Please note this isn’t the same operation as the >> shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x6e10aausize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn swap_bytes(self) -> usize

Reverses the byte order of the integer.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);
\n
1.37.0 (const: 1.37.0) · source

pub const fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\nsecond least-significant bit becomes second most-significant bit, etc.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0usize.reverse_bits());
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_be(x: usize) -> usize

Converts an integer from big endian to the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(usize::from_be(n), n)\n} else {\n    assert_eq!(usize::from_be(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_le(x: usize) -> usize

Converts an integer from little endian to the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(usize::from_le(n), n)\n} else {\n    assert_eq!(usize::from_le(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_be(self) -> usize

Converts self to big endian from the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(n.to_be(), n)\n} else {\n    assert_eq!(n.to_be(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_le(self) -> usize

Converts self to little endian from the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(n.to_le(), n)\n} else {\n    assert_eq!(n.to_le(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None\nif overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!((usize::MAX - 2).checked_add(1), Some(usize::MAX - 1));\nassert_eq!((usize::MAX - 2).checked_add(3), None);
\n
source

pub const fn strict_add(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer addition. Computes self + rhs, panicking\nif overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!((usize::MAX - 2).strict_add(1), usize::MAX - 1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add(3);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_add(self, rhs: usize) -> usize

Unchecked integer addition. Computes self + rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_add(y) is semantically equivalent to calling\nx.checked_add(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_add.

\n
§Safety
\n

This results in undefined behavior when\nself + rhs > usize::MAX or self + rhs < usize::MIN,\ni.e. when checked_add would return None.

\n
1.66.0 (const: 1.66.0) · source

pub const fn checked_add_signed(self, rhs: isize) -> Option<usize>

Checked addition with a signed integer. Computes self + rhs,\nreturning None if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_add_signed(2), Some(3));\nassert_eq!(1usize.checked_add_signed(-2), None);\nassert_eq!((usize::MAX - 2).checked_add_signed(3), None);
\n
source

pub const fn strict_add_signed(self, rhs: isize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict addition with a signed integer. Computes self + rhs,\npanicking if overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_add_signed(2), 3);
\n

The following panic because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_add_signed(-2);
\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add_signed(3);
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_sub(1), Some(0));\nassert_eq!(0usize.checked_sub(1), None);
\n
source

pub const fn strict_sub(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer subtraction. Computes self - rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_sub(1), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0usize.strict_sub(1);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_sub(self, rhs: usize) -> usize

Unchecked integer subtraction. Computes self - rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_sub(y) is semantically equivalent to calling\nx.checked_sub(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_sub.

\n

If you find yourself writing code like this:

\n\n
if foo >= bar {\n    // SAFETY: just checked it will not overflow\n    let diff = unsafe { foo.unchecked_sub(bar) };\n    // ... use diff ...\n}
\n

Consider changing it to

\n\n
if let Some(diff) = foo.checked_sub(bar) {\n    // ... use diff ...\n}
\n

As that does exactly the same thing – including telling the optimizer\nthat the subtraction cannot overflow – but avoids needing unsafe.

\n
§Safety
\n

This results in undefined behavior when\nself - rhs > usize::MAX or self - rhs < usize::MIN,\ni.e. when checked_sub would return None.

\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_mul(1), Some(5));\nassert_eq!(usize::MAX.checked_mul(2), None);
\n
source

pub const fn strict_mul(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer multiplication. Computes self * rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(5usize.strict_mul(1), 5);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_mul(2);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_mul(self, rhs: usize) -> usize

Unchecked integer multiplication. Computes self * rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_mul(y) is semantically equivalent to calling\nx.checked_mul(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_mul.

\n
§Safety
\n

This results in undefined behavior when\nself * rhs > usize::MAX or self * rhs < usize::MIN,\ni.e. when checked_mul would return None.

\n
1.0.0 (const: 1.52.0) · source

pub const fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div(2), Some(64));\nassert_eq!(1usize.checked_div(0), None);
\n
source

pub const fn strict_div(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer division. Computes self / rhs.\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div_euclid(2), Some(64));\nassert_eq!(1usize.checked_div_euclid(0), None);
\n
source

pub const fn strict_div_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean division. Computes self.div_euclid(rhs).\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_div(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div_euclid(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div_euclid(0);
\n
1.7.0 (const: 1.52.0) · source

pub const fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem(2), Some(1));\nassert_eq!(5usize.checked_rem(0), None);
\n
source

pub const fn strict_rem(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer remainder. Computes self % rhs.\nStrict remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean modulo. Computes self.rem_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem_euclid(2), Some(1));\nassert_eq!(5usize.checked_rem_euclid(0), None);
\n
source

pub const fn strict_rem_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean modulo. Computes self.rem_euclid(rhs).\nStrict modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem_euclid(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem_euclid(0);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog(self, base: usize) -> u32

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

This method might not be optimized owing to implementation details;\nilog2 can produce results more efficiently for base 2, and ilog10\ncan produce results more efficiently for base 10.

\n
§Panics
\n

This function will panic if self is zero, or if base is less than 2.

\n
§Examples
\n
assert_eq!(5usize.ilog(5), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog2(self) -> u32

Returns the base 2 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Examples
\n
assert_eq!(2usize.ilog2(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog10(self) -> u32

Returns the base 10 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Example
\n
assert_eq!(10usize.ilog10(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog(self, base: usize) -> Option<u32>

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

Returns None if the number is zero, or if the base is not at least 2.

\n

This method might not be optimized owing to implementation details;\nchecked_ilog2 can produce results more efficiently for base 2, and\nchecked_ilog10 can produce results more efficiently for base 10.

\n
§Examples
\n
assert_eq!(5usize.checked_ilog(5), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog2(self) -> Option<u32>

Returns the base 2 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(2usize.checked_ilog2(), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog10(self) -> Option<u32>

Returns the base 10 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(10usize.checked_ilog10(), Some(1));
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0usize.checked_neg(), Some(0));\nassert_eq!(1usize.checked_neg(), None);
\n
source

pub const fn strict_neg(self) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict negation. Computes -self, panicking unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0usize.strict_neg(), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_neg();
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x1usize.checked_shl(4), Some(0x10));\nassert_eq!(0x10usize.checked_shl(129), None);
\n
source

pub const fn strict_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift left. Computes self << rhs, panicking if rhs is larger\nthan or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x1usize.strict_shl(4), 0x10);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shl(129);
\n
source

pub const unsafe fn unchecked_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift left. Computes self << rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shl would return None.

\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x10usize.checked_shr(4), Some(0x1));\nassert_eq!(0x10usize.checked_shr(129), None);
\n
source

pub const fn strict_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift right. Computes self >> rhs, panicking rhs is\nlarger than or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x10usize.strict_shr(4), 0x1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shr(129);
\n
source

pub const unsafe fn unchecked_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift right. Computes self >> rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shr would return None.

\n
1.34.0 (const: 1.50.0) · source

pub const fn checked_pow(self, exp: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_pow(5), Some(32));\nassert_eq!(usize::MAX.checked_pow(2), None);
\n
source

pub const fn strict_pow(self, exp: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict exponentiation. Computes self.pow(exp), panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(2usize.strict_pow(5), 32);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_pow(2);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at\nthe numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_add(1), 101);\nassert_eq!(usize::MAX.saturating_add(127), usize::MAX);
\n
1.66.0 (const: 1.66.0) · source

pub const fn saturating_add_signed(self, rhs: isize) -> usize

Saturating addition with a signed integer. Computes self + rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.saturating_add_signed(2), 3);\nassert_eq!(1usize.saturating_add_signed(-2), 0);\nassert_eq!((usize::MAX - 2).saturating_add_signed(4), usize::MAX);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating\nat the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_sub(27), 73);\nassert_eq!(13usize.saturating_sub(127), 0);
\n
1.7.0 (const: 1.47.0) · source

pub const fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.saturating_mul(10), 20);\nassert_eq!((usize::MAX).saturating_mul(10), usize::MAX);
\n
1.58.0 (const: 1.58.0) · source

pub const fn saturating_div(self, rhs: usize) -> usize

Saturating integer division. Computes self / rhs, saturating at the\nnumeric bounds instead of overflowing.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.saturating_div(2), 2);\n
\n
1.34.0 (const: 1.50.0) · source

pub const fn saturating_pow(self, exp: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp),\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(4usize.saturating_pow(3), 64);\nassert_eq!(usize::MAX.saturating_pow(2), usize::MAX);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(200usize.wrapping_add(55), 255);\nassert_eq!(200usize.wrapping_add(usize::MAX), 199);
\n
1.66.0 (const: 1.66.0) · source

pub const fn wrapping_add_signed(self, rhs: isize) -> usize

Wrapping (modular) addition with a signed integer. Computes\nself + rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_add_signed(2), 3);\nassert_eq!(1usize.wrapping_add_signed(-2), usize::MAX);\nassert_eq!((usize::MAX - 2).wrapping_add_signed(4), 1);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_sub(100), 0);\nassert_eq!(100usize.wrapping_sub(usize::MAX), 101);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u8 is used here.

\n\n
assert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs.\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div(10), 10);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs).\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div_euclid(10), 10);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs.\nWrapped remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem(10), 0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean modulo. Computes self.rem_euclid(rhs).\nWrapped modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem_euclid(10), 0);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type.

\n

Since unsigned types do not have negative equivalents\nall applications of this function will wrap (except for -0).\nFor values smaller than the corresponding signed type’s maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to MAX + 1 - (val - MAX - 1) where\nMAX is the corresponding signed type’s maximum.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0_usize.wrapping_neg(), 0);\nassert_eq!(usize::MAX.wrapping_neg(), 1);\nassert_eq!(13_usize.wrapping_neg(), (!13) + 1);\nassert_eq!(42_usize.wrapping_neg(), !(42 - 1));
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_left function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_shl(7), 128);\nassert_eq!(1usize.wrapping_shl(128), 1);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_right function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.wrapping_shr(7), 1);\nassert_eq!(128usize.wrapping_shr(128), 128);
\n
1.34.0 (const: 1.50.0) · source

pub const fn wrapping_pow(self, exp: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp),\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_add(2), (7, false));\nassert_eq!(usize::MAX.overflowing_add(1), (0, true));
\n
source

pub const fn carrying_add(self, rhs: usize, carry: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates self + rhs + carry and returns a tuple containing\nthe sum and the output carry.

\n

Performs “ternary addition” of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.

\n

This can be thought of as a 64-bit “full adder”, in the electronics sense.

\n

If the input carry is false, this method is equivalent to\noverflowing_add, and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    3  MAX    (a = 3 × 2^64 + 2^64 - 1)\n// +  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    9    6    (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (usize, usize) = (3, usize::MAX);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));
\n
1.66.0 (const: 1.66.0) · source

pub const fn overflowing_add_signed(self, rhs: isize) -> (usize, bool)

Calculates self + rhs with a signed rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.overflowing_add_signed(2), (3, false));\nassert_eq!(1usize.overflowing_add_signed(-2), (usize::MAX, true));\nassert_eq!((usize::MAX - 2).overflowing_add_signed(4), (1, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs

\n

Returns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_sub(2), (3, false));\nassert_eq!(0usize.overflowing_sub(1), (usize::MAX, true));
\n
source

pub const fn borrowing_sub(self, rhs: usize, borrow: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates selfrhsborrow and returns a tuple\ncontaining the difference and the output borrow.

\n

Performs “ternary subtraction” by subtracting both an integer\noperand and a borrow-in bit from self, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    9    6    (a = 9 × 2^64 + 6)\n// -  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    3  MAX    (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (usize, usize) = (9, 6);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, usize::MAX));
\n
1.60.0 (const: 1.60.0) · source

pub const fn abs_diff(self, other: usize) -> usize

Computes the absolute difference between self and other.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.abs_diff(80), 20usize);\nassert_eq!(100usize.abs_diff(110), 10usize);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs.

\n

Returns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
assert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs.

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div(2), (2, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs).

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.overflowing_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div_euclid(2), (2, false));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs.

\n

Returns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem(2), (1, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Calculates the remainder self.rem_euclid(rhs) as if by Euclidean division.

\n

Returns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to self.overflowing_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem_euclid(2), (1, false));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_neg(self) -> (usize, bool)

Negates self in an overflowing fashion.

\n

Returns !self + 1 using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0usize.overflowing_neg(), (0, false));\nassert_eq!(2usize.overflowing_neg(), (-2i32 as usize, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x1usize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1usize.overflowing_shl(132), (0x10, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x10usize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10usize.overflowing_shr(132), (0x1, true));
\n
1.34.0 (const: 1.50.0) · source

pub const fn overflowing_pow(self, exp: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring.

\n

Returns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));
\n
1.0.0 (const: 1.50.0) · source

pub const fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.pow(5), 32);
\n
source

pub const fn isqrt(self) -> usize

🔬This is a nightly-only experimental API. (isqrt)

Returns the square root of the number, rounded down.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(isqrt)]\nassert_eq!(10usize.isqrt(), 3);
\n
1.38.0 (const: 1.52.0) · source

pub const fn div_euclid(self, rhs: usize) -> usize

Performs Euclidean division.

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self / rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.div_euclid(4), 1); // or any other integer type
\n
1.38.0 (const: 1.52.0) · source

pub const fn rem_euclid(self, rhs: usize) -> usize

Calculates the least remainder of self (mod rhs).

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self % rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.rem_euclid(4), 3); // or any other integer type
\n
source

pub const fn div_floor(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (int_roundings)

Calculates the quotient of self and rhs, rounding the result towards negative infinity.

\n

This is the same as performing self / rhs for all unsigned integers.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(int_roundings)]\nassert_eq!(7_usize.div_floor(4), 1);
\n
1.73.0 (const: 1.73.0) · source

pub const fn div_ceil(self, rhs: usize) -> usize

Calculates the quotient of self and rhs, rounding the result towards positive infinity.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7_usize.div_ceil(4), 2);
\n
1.73.0 (const: 1.73.0) · source

pub const fn next_multiple_of(self, rhs: usize) -> usize

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Overflow behavior
\n

On overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.next_multiple_of(8), 16);\nassert_eq!(23_usize.next_multiple_of(8), 24);
\n
1.73.0 (const: 1.73.0) · source

pub const fn checked_next_multiple_of(self, rhs: usize) -> Option<usize>

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs. Returns None if rhs is zero or the\noperation would result in overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_usize.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_usize.checked_next_multiple_of(0), None);\nassert_eq!(usize::MAX.checked_next_multiple_of(2), None);
\n
1.0.0 (const: 1.32.0) · source

pub const fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.

\n
§Examples
\n

Basic usage:

\n\n
assert!(16usize.is_power_of_two());\nassert!(!10usize.is_power_of_two());
\n
1.0.0 (const: 1.50.0) · source

pub const fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self.

\n

When return value overflows (i.e., self > (1 << (N-1)) for type\nuN), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.next_power_of_two(), 2);\nassert_eq!(3usize.next_power_of_two(), 4);\nassert_eq!(0usize.next_power_of_two(), 1);
\n
1.0.0 (const: 1.50.0) · source

pub const fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to self. If\nthe next power of two is greater than the type’s maximum value,\nNone is returned, otherwise the power of two is wrapped in Some.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_next_power_of_two(), Some(2));\nassert_eq!(3usize.checked_next_power_of_two(), Some(4));\nassert_eq!(usize::MAX.checked_next_power_of_two(), None);
\n
source

pub const fn wrapping_next_power_of_two(self) -> usize

🔬This is a nightly-only experimental API. (wrapping_next_power_of_two)

Returns the smallest power of two greater than or equal to n. If\nthe next power of two is greater than the type’s maximum value,\nthe return value is wrapped to 0.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2usize.wrapping_next_power_of_two(), 2);\nassert_eq!(3usize.wrapping_next_power_of_two(), 4);\nassert_eq!(usize::MAX.wrapping_next_power_of_two(), 0);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_be_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nbig-endian (network) byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_le_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nlittle-endian byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_ne_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nnative byte order.

\n

As the target platform’s native endianness is used, portable code\nshould use to_be_bytes or to_le_bytes, as appropriate,\ninstead.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_ne_bytes();\nassert_eq!(\n    bytes,\n    if cfg!(target_endian = \"big\") {\n        [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n    } else {\n        [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n    }\n);
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_be_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in big endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_be_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_be_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_le_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in little endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_le_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_le_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_ne_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its memory representation\nas a byte array in native endianness.

\n

As the target platform’s native endianness is used, portable code\nlikely wants to use from_be_bytes or from_le_bytes, as\nappropriate instead.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n    [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n    [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_ne_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_ne_bytes(int_bytes.try_into().unwrap())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn min_value() -> usize

👎Deprecating in a future version: replaced by the MIN associated constant on this type

New code should prefer to use\nusize::MIN instead.

\n

Returns the smallest value that can be represented by this integer type.

\n
1.0.0 (const: 1.32.0) · source

pub const fn max_value() -> usize

👎Deprecating in a future version: replaced by the MAX associated constant on this type

New code should prefer to use\nusize::MAX instead.

\n

Returns the largest value that can be represented by this integer type.

\n
source

pub const fn widening_mul(self, rhs: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the complete product self * rhs without the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

If you also need to add a carry to the wide result, then you want\nSelf::carrying_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));
\n
source

pub const fn carrying_mul(self, rhs: usize, carry: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the “full multiplication” self * rhs + carry\nwithout the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

Performs “long multiplication” which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create “big integers” which represent larger values.

\n

If you don’t need the carry, then you can use Self::widening_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(usize::MAX.carrying_mul(usize::MAX, usize::MAX), (0, usize::MAX));
\n

This is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.

\n\n
#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec<u16>, multiplicand: u16) {\n    let mut carry = 0;\n    for d in little_endian_digits.iter_mut() {\n        (*d, carry) = d.carrying_mul(multiplicand, carry);\n    }\n    if carry != 0 {\n        little_endian_digits.push(carry);\n    }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);
\n

If carry is zero, this is similar to overflowing_mul,\nexcept that it gives the value of the overflow instead of just whether one happened:

\n\n
#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));
\n

The value of the first field in the returned tuple matches what you’d get\nby combining the wrapping_mul and\nwrapping_add methods:

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(\n    789_u16.carrying_mul(456, 123).0,\n    789_u16.wrapping_mul(456).wrapping_add(123),\n);
\n
source

pub const fn midpoint(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (num_midpoint)

Calculates the middle point of self and rhs.

\n

midpoint(a, b) is (a + b) >> 1 as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards negative infinity and that no overflow will ever occur.

\n
§Examples
\n
#![feature(num_midpoint)]\nassert_eq!(0usize.midpoint(4), 2);\nassert_eq!(1usize.midpoint(4), 2);
\n
",0,"gosling::context::HandshakeHandle"],["
source§

impl usize

1.0.0 (const: unstable) · source

pub fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer.

\n

The string is expected to be an optional + sign\nfollowed by digits.\nLeading and trailing whitespace represent an error.\nDigits are a subset of these characters, depending on radix:

\n
    \n
  • 0-9
  • \n
  • a-z
  • \n
  • A-Z
  • \n
\n
§Panics
\n

This function panics if radix is not in the range from 2 to 36.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::from_str_radix(\"A\", 16), Ok(10));
\n
",0,"gosling::context::HandshakeHandle"],["
§

impl AtLeast16 for usize

","AtLeast16","gosling::context::HandshakeHandle"],["
§

impl AtLeast32 for usize

","AtLeast32","gosling::context::HandshakeHandle"],["
§

impl AtLeast64 for usize

","AtLeast64","gosling::context::HandshakeHandle"],["
§

impl AtLeast8 for usize

","AtLeast8","gosling::context::HandshakeHandle"],["
§

impl AtMost128 for usize

","AtMost128","gosling::context::HandshakeHandle"],["
§

impl AtMost64 for usize

","AtMost64","gosling::context::HandshakeHandle"],["
§

impl BitOps for usize

","BitOps","gosling::context::HandshakeHandle"],["
source§

impl ConstParamTy for usize

","ConstParamTy","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Copy for usize

","Copy","gosling::context::HandshakeHandle"],["
§

impl DefaultIsZeroes for usize

","DefaultIsZeroes","gosling::context::HandshakeHandle"],["
1.0.0 · source§

impl Eq for usize

","Eq","gosling::context::HandshakeHandle"],["
§

impl ExtendTarget<usize> for usize

","ExtendTarget","gosling::context::HandshakeHandle"],["
source§

impl Index for usize

","Index","gosling::context::HandshakeHandle"],["
§

impl Index for usize

","Index","gosling::context::HandshakeHandle"],["
source§

impl Integer for usize

","Integer","gosling::context::HandshakeHandle"],["
§

impl Is64 for usize

","Is64","gosling::context::HandshakeHandle"],["
§

impl NotAutoValue for usize

","NotAutoValue","gosling::context::HandshakeHandle"],["
§

impl NumericOps for usize

","NumericOps","gosling::context::HandshakeHandle"],["
source§

impl SimdCast for usize

","SimdCast","gosling::context::HandshakeHandle"],["
source§

impl StructuralPartialEq for usize

","StructuralPartialEq","gosling::context::HandshakeHandle"],["
§

impl TruncateTarget<u16> for usize

","TruncateTarget","gosling::context::HandshakeHandle"],["
§

impl TruncateTarget<u8> for usize

","TruncateTarget","gosling::context::HandshakeHandle"],["
§

impl TruncateTarget<usize> for usize

","TruncateTarget","gosling::context::HandshakeHandle"],["
source§

impl TrustedStep for usize

","TrustedStep","gosling::context::HandshakeHandle"],["
§

impl Uint for usize

","Uint","gosling::context::HandshakeHandle"],["
source§

impl Unsigned for usize

","Unsigned","gosling::context::HandshakeHandle"],["
source§

impl Weight for usize

","Weight","gosling::context::HandshakeHandle"],["
source§

impl ZeroablePrimitive for usize

","ZeroablePrimitive","gosling::context::HandshakeHandle"]], +"tor_interface":[["
§

impl<T> Accumulate<T> for usize

§

fn initial(_capacity: Option<usize>) -> usize

Create a new Extend of the correct type
§

fn accumulate(&mut self, _acc: T)

Accumulate the input into an accumulator
","Accumulate","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Add<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: &BigInt) -> BigInt

Performs the + operation. Read more
","Add<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Add<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: &BigUint) -> BigUint

Performs the + operation. Read more
","Add<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Add<&usize> for usize

§

type Output = <usize as Add>::Output

The resulting type after applying the + operator.
source§

fn add(self, other: &usize) -> <usize as Add>::Output

Performs the + operation. Read more
","Add<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Add<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the + operator.
source§

fn add(self, other: BigInt) -> BigInt

Performs the + operation. Read more
","Add","tor_interface::tor_provider::CircuitToken"],["
source§

impl Add<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the + operator.
source§

fn add(self, other: BigUint) -> BigUint

Performs the + operation. Read more
","Add","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Add for usize

§

type Output = usize

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> usize

Performs the + operation. Read more
","Add","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl AddAssign<&usize> for usize

source§

fn add_assign(&mut self, other: &usize)

Performs the += operation. Read more
","AddAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl AddAssign for usize

source§

fn add_assign(&mut self, other: usize)

Performs the += operation. Read more
","AddAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl AsAny for usize

§

fn as_any(&self) -> &(dyn Any + 'static)

Returns thick pointer of &dyn Any type, that can be later downcasted\nback to a reference of the original type.
","AsAny","tor_interface::tor_provider::CircuitToken"],["
§

impl AsBytes for usize

§

fn as_bytes(&self) -> &[u8]

Gets the bytes of this value. Read more
§

fn as_bytes_mut(&mut self) -> &mut [u8]
where\n Self: FromBytes,

Gets the bytes of this value mutably. Read more
§

fn write_to(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to bytes. Read more
§

fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the prefix of bytes. Read more
§

fn write_to_suffix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the suffix of bytes. Read more
","AsBytes","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<f32> for usize

source§

fn as_(self) -> f32

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<f64> for usize

source§

fn as_(self) -> f64

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i128> for usize

source§

fn as_(self) -> i128

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i16> for usize

source§

fn as_(self) -> i16

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i32> for usize

source§

fn as_(self) -> i32

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i64> for usize

source§

fn as_(self) -> i64

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<i8> for usize

source§

fn as_(self) -> i8

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<isize> for usize

source§

fn as_(self) -> isize

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u128> for usize

source§

fn as_(self) -> u128

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u16> for usize

source§

fn as_(self) -> u16

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u32> for usize

source§

fn as_(self) -> u32

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u64> for usize

source§

fn as_(self) -> u64

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<u8> for usize

source§

fn as_(self) -> u8

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
source§

impl AsPrimitive<usize> for usize

source§

fn as_(self) -> usize

Convert a value to another, using the as operator.
","AsPrimitive","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Binary for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Binary","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitAnd<&usize> for usize

§

type Output = <usize as BitAnd>::Output

The resulting type after applying the & operator.
source§

fn bitand(self, other: &usize) -> <usize as BitAnd>::Output

Performs the & operation. Read more
","BitAnd<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitAnd for usize

§

type Output = usize

The resulting type after applying the & operator.
source§

fn bitand(self, rhs: usize) -> usize

Performs the & operation. Read more
","BitAnd","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl BitAndAssign<&usize> for usize

source§

fn bitand_assign(&mut self, other: &usize)

Performs the &= operation. Read more
","BitAndAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl BitAndAssign for usize

source§

fn bitand_assign(&mut self, other: usize)

Performs the &= operation. Read more
","BitAndAssign","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitOr<&usize> for usize

§

type Output = <usize as BitOr>::Output

The resulting type after applying the | operator.
source§

fn bitor(self, other: &usize) -> <usize as BitOr>::Output

Performs the | operation. Read more
","BitOr<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitOr for usize

§

type Output = usize

The resulting type after applying the | operator.
source§

fn bitor(self, rhs: usize) -> usize

Performs the | operation. Read more
","BitOr","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl BitOrAssign<&usize> for usize

source§

fn bitor_assign(&mut self, other: &usize)

Performs the |= operation. Read more
","BitOrAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl BitOrAssign for usize

source§

fn bitor_assign(&mut self, other: usize)

Performs the |= operation. Read more
","BitOrAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl BitRegister for usize

§

const ALL: usize = 18_446_744_073_709_551_615usize

The literal !0.
§

const INDX: u8 = _

The number of bits required to store an index in the range 0 .. BITS.
§

const MASK: u8 = _

A mask over all bits that can be used as an index within the element.\nThis is the value with the least significant INDX-many bits set high.
","BitRegister","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a, T, O> BitSliceIndex<'a, T, O> for usize
where\n T: BitStore,\n O: BitOrder,

§

type Immut = BitRef<'a, Const, T, O>

The output type of immutable access.
§

type Mut = BitRef<'a, Mut, T, O>

The output type of mutable access.
§

fn get(\n self,\n bits: &'a BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Immut>

Immutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

fn get_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> Option<<usize as BitSliceIndex<'a, T, O>>::Mut>

Mutably indexes into a bit-slice, returning None if self is out of\nbounds. Read more
§

unsafe fn get_unchecked(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice without doing any bounds checking. Read more
§

unsafe fn get_unchecked_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice without doing any bounds checking. Read more
§

fn index(\n self,\n bits: &'a BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Immut

Immutably indexes into a bit-slice, panicking if self is out of\nbounds. Read more
§

fn index_mut(\n self,\n bits: &'a mut BitSlice<T, O>,\n) -> <usize as BitSliceIndex<'a, T, O>>::Mut

Mutably indexes into a bit-slice, panicking if self is out of bounds. Read more
","BitSliceIndex<'a, T, O>","tor_interface::tor_provider::CircuitToken"],["
§

impl BitStore for usize

§

type Access = Cell<usize>

The unsigned integers will only be BitStore type parameters\nfor handles to unaliased memory, following the normal Rust\nreference rules.

\n
§

type Mem = usize

The element type used in the memory region underlying a BitSlice. It\nis always one of the unsigned integer fundamentals.
§

type Alias = BitSafeUsize

A sibling BitStore implementor that is known to be alias-safe. It is\nused when a BitSlice introduces multiple handles that view the same\nmemory location, and at least one of them has write capabilities to it.\nIt must have the same underlying memory type, and can only change access\npatterns or public-facing usage.
§

type Unalias = usize

The inverse of ::Alias. It is used when a BitSlice removes the\nconditions that required a T -> T::Alias transition.
§

const ZERO: usize = 0usize

The zero constant.
§

fn new(value: <usize as BitStore>::Mem) -> usize

Wraps a raw memory value as a BitStore type.
§

fn load_value(&self) -> <usize as BitStore>::Mem

Loads a value out of the memory system according to the ::Access\nrules. This may be called when the value is aliased by a write-capable\nreference.
§

fn store_value(&mut self, value: <usize as BitStore>::Mem)

Stores a value into the memory system. This is only called when there\nare no other handles to the value, and it may bypass ::Access\nconstraints.
§

const ALIGNED_TO_SIZE: [(); 1] = _

All implementors are required to have their alignment match their size. Read more
§

const ALIAS_WIDTH: [(); 1] = _

All implementors are required to have Self and Self::Alias be equal\nin representation. This is true by fiat for all types except the\nunsigned integers. Read more
§

fn get_bit<O>(&self, index: BitIdx<Self::Mem>) -> bool
where\n O: BitOrder,

Reads a single bit out of the memory system according to the ::Access\nrules. This is lifted from BitAccess so that it can be used\nelsewhere without additional casts. Read more
","BitStore","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitXor<&usize> for usize

§

type Output = <usize as BitXor>::Output

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: &usize) -> <usize as BitXor>::Output

Performs the ^ operation. Read more
","BitXor<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl BitXor for usize

§

type Output = usize

The resulting type after applying the ^ operator.
source§

fn bitxor(self, other: usize) -> usize

Performs the ^ operation. Read more
","BitXor","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl BitXorAssign<&usize> for usize

source§

fn bitxor_assign(&mut self, other: &usize)

Performs the ^= operation. Read more
","BitXorAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl BitXorAssign for usize

source§

fn bitxor_assign(&mut self, other: usize)

Performs the ^= operation. Read more
","BitXorAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl Bits for usize

§

const EMPTY: usize = 0usize

A value with all bits unset.
§

const ALL: usize = 18_446_744_073_709_551_615usize

A value with all bits set.
","Bits","tor_interface::tor_provider::CircuitToken"],["
source§

impl Bounded for usize

source§

fn min_value() -> usize

Returns the smallest finite number this type can represent
source§

fn max_value() -> usize

Returns the largest finite number this type can represent
","Bounded","tor_interface::tor_provider::CircuitToken"],["
§

impl CastSigned for usize

§

type Signed = isize

The signed integer type with the same size as Self.
§

fn cast_signed(self) -> <usize as CastSigned>::Signed

Cast an integer to the signed integer of the same size.
","CastSigned","tor_interface::tor_provider::CircuitToken"],["
§

impl CastUnsigned for usize

§

type Unsigned = usize

The unsigned integer type with the same size as Self.
§

fn cast_unsigned(self) -> <usize as CastUnsigned>::Unsigned

Cast an integer to the unsigned integer of the same size.
","CastUnsigned","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedAdd for usize

source§

fn checked_add(&self, v: &usize) -> Option<usize>

Adds two numbers, checking for overflow. If overflow happens, None is\nreturned.
","CheckedAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedDiv for usize

source§

fn checked_div(&self, v: &usize) -> Option<usize>

Divides two numbers, checking for underflow, overflow and division by\nzero. If any of that happens, None is returned.
","CheckedDiv","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedEuclid for usize

source§

fn checked_div_euclid(&self, v: &usize) -> Option<usize>

Performs euclid division that returns None instead of panicking on division by zero\nand instead of wrapping around on underflow and overflow.
source§

fn checked_rem_euclid(&self, v: &usize) -> Option<usize>

Finds the euclid remainder of dividing two numbers, checking for underflow, overflow and\ndivision by zero. If any of that happens, None is returned.
source§

fn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>

Returns both the quotient and remainder from checked Euclidean division. Read more
","CheckedEuclid","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedMul for usize

source§

fn checked_mul(&self, v: &usize) -> Option<usize>

Multiplies two numbers, checking for underflow or overflow. If underflow\nor overflow happens, None is returned.
","CheckedMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedNeg for usize

source§

fn checked_neg(&self) -> Option<usize>

Negates a number, returning None for results that can’t be represented, like signed MIN\nvalues that can’t be positive, or non-zero unsigned values that can’t be negative. Read more
","CheckedNeg","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedRem for usize

source§

fn checked_rem(&self, v: &usize) -> Option<usize>

Finds the remainder of dividing two numbers, checking for underflow, overflow and division\nby zero. If any of that happens, None is returned. Read more
","CheckedRem","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedShl for usize

source§

fn checked_shl(&self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShl","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedShr for usize

source§

fn checked_shr(&self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self. Read more
","CheckedShr","tor_interface::tor_provider::CircuitToken"],["
source§

impl CheckedSub for usize

source§

fn checked_sub(&self, v: &usize) -> Option<usize>

Subtracts two numbers, checking for underflow. If underflow happens,\nNone is returned.
","CheckedSub","tor_interface::tor_provider::CircuitToken"],["
§

impl<T> CheckedSum<usize> for T
where\n T: IntoIterator<Item = usize>,

§

fn checked_sum(self) -> Result<usize, Error>

Iterate over the values of this type, computing a checked sum. Read more
","CheckedSum","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Clone for usize

source§

fn clone(&self) -> usize

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstOne for usize

source§

const ONE: usize = 1usize

The multiplicative identity element of Self, 1.
","ConstOne","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstZero for usize

source§

const ZERO: usize = 0usize

The additive identity element of Self, 0.
","ConstZero","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstantTimeEq for usize

source§

fn ct_eq(&self, other: &usize) -> Choice

Determine if two items are equal. Read more
source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
","ConstantTimeEq","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Debug for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","tor_interface::tor_provider::CircuitToken"],["
§

impl Decode for usize

Decode a usize.

\n

Uses [Decode] impl on u32 and then converts to a usize, handling\npotential overflow if usize is smaller than u32.

\n

Enforces a library-internal limit of 1048575, as the main use case for\nusize is length prefixes.

\n
§

type Error = Error

Type returned in the event of a decoding error.
§

fn decode(reader: &mut impl Reader) -> Result<usize, Error>

Attempt to decode a value of this type using the provided [Reader].
","Decode","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Default for usize

source§

fn default() -> usize

Returns the default value of 0

\n
","Default","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'de> Deserialize<'de> for usize

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<usize, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Display for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Div<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: &BigInt) -> BigInt

Performs the / operation. Read more
","Div<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Div<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: &BigUint) -> BigUint

Performs the / operation. Read more
","Div<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Div<&usize> for usize

§

type Output = <usize as Div>::Output

The resulting type after applying the / operator.
source§

fn div(self, other: &usize) -> <usize as Div>::Output

Performs the / operation. Read more
","Div<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Div<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the / operator.
source§

fn div(self, other: BigInt) -> BigInt

Performs the / operation. Read more
","Div","tor_interface::tor_provider::CircuitToken"],["
source§

impl Div<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the / operator.
source§

fn div(self, other: BigUint) -> BigUint

Performs the / operation. Read more
","Div","tor_interface::tor_provider::CircuitToken"],["
1.51.0 · source§

impl Div<NonZero<usize>> for usize

source§

fn div(self, other: NonZero<usize>) -> usize

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the / operator.
","Div>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Div for usize

This operation rounds towards zero, truncating any\nfractional part of the exact result.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the / operator.
source§

fn div(self, other: usize) -> usize

Performs the / operation. Read more
","Div","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl DivAssign<&usize> for usize

source§

fn div_assign(&mut self, other: &usize)

Performs the /= operation. Read more
","DivAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.79.0 · source§

impl DivAssign<NonZero<usize>> for usize

source§

fn div_assign(&mut self, other: NonZero<usize>)

This operation rounds towards zero, truncating any fractional\npart of the exact result, and cannot panic.

\n
","DivAssign>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl DivAssign for usize

source§

fn div_assign(&mut self, other: usize)

Performs the /= operation. Read more
","DivAssign","tor_interface::tor_provider::CircuitToken"],["
§

impl Encode for usize

Encode a usize as a uint32 as described in RFC4251 § 5.

\n

Uses [Encode] impl on u32 after converting from a usize, handling\npotential overflow if usize is bigger than u32.

\n
§

fn encoded_len(&self) -> Result<usize, Error>

Get the length of this type encoded in bytes, prior to Base64 encoding.
§

fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value using the provided [Writer].
§

fn encoded_len_prefixed(&self) -> Result<usize, Error>

Return the length of this type after encoding when prepended with a\nuint32 length prefix.
§

fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>

Encode this value, first prepending a uint32 length prefix\nset to [Encode::encoded_len].
","Encode","tor_interface::tor_provider::CircuitToken"],["
source§

impl Euclid for usize

source§

fn div_euclid(&self, v: &usize) -> usize

Calculates Euclidean division, the matching method for rem_euclid. Read more
source§

fn rem_euclid(&self, v: &usize) -> usize

Calculates the least nonnegative remainder of self (mod v). Read more
source§

fn div_rem_euclid(&self, v: &Self) -> (Self, Self)

Returns both the quotient and remainder from Euclidean division. Read more
","Euclid","tor_interface::tor_provider::CircuitToken"],["
source§

impl FmtConst for usize

source§

fn fmt_const(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Print a const expression representing this value.
","FmtConst","tor_interface::tor_provider::CircuitToken"],["
source§

impl From<Alignment> for usize

source§

fn from(align: Alignment) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<ByteQty> for usize

§

fn from(value: ByteQty) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<HopNum> for usize

§

fn from(hop: HopNum) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<HsDirPos> for usize

§

fn from(value: HsDirPos) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<IntroPtIndex> for usize

§

fn from(value: IntroPtIndex) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl<const MIN: usize, const MAX: usize> From<RangedUsize<MIN, MAX>> for usize

§

fn from(value: RangedUsize<MIN, MAX>) -> usize

Converts to this type from the input type.
","From>","tor_interface::tor_provider::CircuitToken"],["
§

impl From<RouterStatusIdx> for usize

§

fn from(value: RouterStatusIdx) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<State> for usize

§

fn from(src: State) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<Token> for usize

§

fn from(val: Token) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl<O> From<U16<O>> for usize
where\n O: ByteOrder,

§

fn from(x: U16<O>) -> usize

Converts to this type from the input type.
","From>","tor_interface::tor_provider::CircuitToken"],["
1.28.0 · source§

impl From<bool> for usize

source§

fn from(small: bool) -> usize

Converts a bool to usize losslessly.\nThe resulting value is 0 for false and 1 for true values.

\n
§Examples
\n
assert_eq!(usize::from(true), 1);\nassert_eq!(usize::from(false), 0);
\n
","From","tor_interface::tor_provider::CircuitToken"],["
1.26.0 · source§

impl From<u16> for usize

source§

fn from(small: u16) -> usize

Converts u16 to usize losslessly.

\n
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u24> for usize

§

fn from(val: u24) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u40> for usize

§

fn from(val: u40) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u48> for usize

§

fn from(val: u48) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
§

impl From<u56> for usize

§

fn from(val: u56) -> usize

Converts to this type from the input type.
","From","tor_interface::tor_provider::CircuitToken"],["
1.5.0 · source§

impl From<u8> for usize

source§

fn from(small: u8) -> usize

Converts u8 to usize losslessly.

\n
","From","tor_interface::tor_provider::CircuitToken"],["
source§

impl FromBytes for usize

§

type Bytes = [u8; 8]

source§

fn from_be_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in big endian. Read more
source§

fn from_le_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its representation as a byte array in little endian. Read more
source§

fn from_ne_bytes(bytes: &<usize as FromBytes>::Bytes) -> usize

Create a number from its memory representation as a byte array in native endianness. Read more
","FromBytes","tor_interface::tor_provider::CircuitToken"],["
§

impl FromBytes for usize

§

fn ref_from(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the given bytes as a &Self without copying. Read more
§

fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &Self without copying. Read more
§

fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &Self without copying. Read more
§

fn mut_from(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut Self without copying. Read more
§

fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut Self without\ncopying. Read more
§

fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut Self without copying. Read more
§

fn slice_from(bytes: &[u8]) -> Option<&[Self]>
where\n Self: Sized,

Interprets the given bytes as a &[Self] without copying. Read more
§

fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>
where\n Self: Sized,

Interprets the prefix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>
where\n Self: Sized,

Interprets the suffix of the given bytes as a &[Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>
where\n Self: Sized + AsBytes,

Interprets the given bytes as a &mut [Self] without copying. Read more
§

fn mut_slice_from_prefix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [Self], &mut [u8])>
where\n Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn mut_slice_from_suffix(\n bytes: &mut [u8],\n count: usize,\n) -> Option<(&mut [u8], &mut [Self])>
where\n Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut [Self] with length\nequal to count without copying. Read more
§

fn read_from(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from bytes. Read more
§

fn read_from_prefix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
§

fn read_from_suffix(bytes: &[u8]) -> Option<Self>
where\n Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
","FromBytes","tor_interface::tor_provider::CircuitToken"],["
source§

impl FromPrimitive for usize

source§

fn from_isize(n: isize) -> Option<usize>

Converts an isize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i8(n: i8) -> Option<usize>

Converts an i8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i16(n: i16) -> Option<usize>

Converts an i16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i32(n: i32) -> Option<usize>

Converts an i32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i64(n: i64) -> Option<usize>

Converts an i64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_i128(n: i128) -> Option<usize>

Converts an i128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_usize(n: usize) -> Option<usize>

Converts a usize to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u8(n: u8) -> Option<usize>

Converts an u8 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u16(n: u16) -> Option<usize>

Converts an u16 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u32(n: u32) -> Option<usize>

Converts an u32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u64(n: u64) -> Option<usize>

Converts an u64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_u128(n: u128) -> Option<usize>

Converts an u128 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
source§

fn from_f32(n: f32) -> Option<usize>

Converts a f32 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned.
source§

fn from_f64(n: f64) -> Option<usize>

Converts a f64 to return an optional value of this type. If the\nvalue cannot be represented by this type, then None is returned. Read more
","FromPrimitive","tor_interface::tor_provider::CircuitToken"],["
§

impl FromSql for usize

§

fn column_result(value: ValueRef<'_>) -> Result<usize, FromSqlError>

Converts SQLite value into Rust value.
","FromSql","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl FromStr for usize

§

type Err = ParseIntError

The associated error which can be returned from parsing.
source§

fn from_str(src: &str) -> Result<usize, ParseIntError>

Parses a string s to return a value of this type. Read more
","FromStr","tor_interface::tor_provider::CircuitToken"],["
§

impl FromZeroes for usize

§

fn zero(&mut self)

Overwrites self with zeroes. Read more
§

fn new_zeroed() -> Self
where\n Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
","FromZeroes","tor_interface::tor_provider::CircuitToken"],["
§

impl Fundamental for usize

§

fn as_bool(self) -> bool

Tests self != 0.
§

fn as_char(self) -> Option<char>

Represents self as a Unicode Scalar Value, if possible.
§

fn as_i8(self) -> i8

Performs self as i8.
§

fn as_i16(self) -> i16

Performs self as i16.
§

fn as_i32(self) -> i32

Performs self as i32.
§

fn as_i64(self) -> i64

Performs self as i64.
§

fn as_i128(self) -> i128

Performs self as i128.
§

fn as_isize(self) -> isize

Performs self as isize.
§

fn as_u8(self) -> u8

Performs self as u8.
§

fn as_u16(self) -> u16

Performs self as u16.
§

fn as_u32(self) -> u32

Performs self as u32.
§

fn as_u64(self) -> u64

Performs self as u64.
§

fn as_u128(self) -> u128

Performs self as u128.
§

fn as_usize(self) -> usize

Performs self as usize.
§

fn as_f32(self) -> f32

Performs self as f32.
§

fn as_f64(self) -> f64

Performs self as f64.
","Fundamental","tor_interface::tor_provider::CircuitToken"],["
§

impl HasMemoryCostStructural for usize

§

fn indirect_memory_cost(&self, _et: EnabledToken) -> usize

Memory cost of data stored out-of-line Read more
","HasMemoryCostStructural","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Hash for usize

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
source§

fn hash_slice<H>(data: &[usize], state: &mut H)
where\n H: Hasher,

Feeds a slice of this type into the given Hasher. Read more
","Hash","tor_interface::tor_provider::CircuitToken"],["
source§

impl Integer for usize

source§

fn div_floor(&self, other: &usize) -> usize

Unsigned integer division. Returns the same result as div (/).

\n
source§

fn mod_floor(&self, other: &usize) -> usize

Unsigned integer modulo operation. Returns the same result as rem (%).

\n
source§

fn gcd(&self, other: &usize) -> usize

Calculates the Greatest Common Divisor (GCD) of the number and other

\n
source§

fn lcm(&self, other: &usize) -> usize

Calculates the Lowest Common Multiple (LCM) of the number and other.

\n
source§

fn gcd_lcm(&self, other: &usize) -> (usize, usize)

Calculates the Greatest Common Divisor (GCD) and\nLowest Common Multiple (LCM) of the number and other.

\n
source§

fn is_multiple_of(&self, other: &usize) -> bool

Returns true if the number is a multiple of other.

\n
source§

fn is_even(&self) -> bool

Returns true if the number is divisible by 2.

\n
source§

fn is_odd(&self) -> bool

Returns true if the number is not divisible by 2.

\n
source§

fn div_rem(&self, other: &usize) -> (usize, usize)

Simultaneous truncated integer division and modulus.

\n
source§

fn div_ceil(&self, other: &usize) -> usize

Ceiled integer division. Read more
source§

fn extended_gcd_lcm(&self, other: &usize) -> (ExtendedGcd<usize>, usize)

Greatest common divisor, least common multiple, and Bézout coefficients.
source§

fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
where\n Self: Clone,

Greatest common divisor and Bézout coefficients. Read more
source§

fn divides(&self, other: &Self) -> bool

👎Deprecated: Please use is_multiple_of instead
Deprecated, use is_multiple_of instead.
source§

fn div_mod_floor(&self, other: &Self) -> (Self, Self)

Simultaneous floored integer division and modulus.\nReturns (quotient, remainder). Read more
source§

fn next_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds up to nearest multiple of argument. Read more
source§

fn prev_multiple_of(&self, other: &Self) -> Self
where\n Self: Clone,

Rounds down to nearest multiple of argument. Read more
source§

fn dec(&mut self)
where\n Self: Clone,

Decrements self by one. Read more
source§

fn inc(&mut self)
where\n Self: Clone,

Increments self by one. Read more
","Integer","tor_interface::tor_provider::CircuitToken"],["
§

impl Integral for usize

§

const ZERO: usize = 0usize

The type’s zero value.
§

const ONE: usize = 1usize

The type’s step value.
§

const MIN: usize = 0usize

The type’s minimum value. This is zero for unsigned integers.
§

const MAX: usize = 18_446_744_073_709_551_615usize

The type’s maximum value.
§

const BITS: u32 = 64u32

The size of this type in bits.
§

fn min_value() -> usize

Returns the smallest value that can be represented by this integer type.
§

fn max_value() -> usize

Returns the largest value that can be represented by this integer type.
§

fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer. Read more
§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.
§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.
§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of\nself.
§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation of\nself.
§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of\nself.
§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation of\nself.
§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping the\ntruncated bits to the end of the resulting integer. Read more
§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping the\ntruncated bits to the beginning of the resulting integer. Read more
§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer.
§

fn reverse_bits(self) -> usize

Reverses the bit pattern of the integer.
§

fn from_be(self) -> usize

Converts an integer from big endian to the target’s endianness. Read more
§

fn from_le(self) -> usize

Converts an integer frm little endian to the target’s endianness. Read more
§

fn to_be(self) -> usize

Converts self to big endian from the target’s endianness. Read more
§

fn to_le(self) -> usize

Converts self to little endian from the target’s endianness. Read more
§

fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None if\noverflow occurred.
§

fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning None if\noverflow occurred.
§

fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning None\nif overflow occurred.
§

fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None if\nrhs == 0 or the division results in overflow.
§

fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean remainder. Computes self.rem_euclid(rhs), returning\nNone if rhs == 0 or the division results in overflow.
§

fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None if self == MIN. Read more
§

fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None if rhs is\nlarger than or equal to the number of bits in self.
§

fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None if rhs\nis larger than or equal to the number of bits in self.
§

fn checked_pow(self, rhs: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.
§

fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating at the\nnumeric bounds instead of overflowing.
§

fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs, saturating at\nthe numeric bounds instead of overflowing.
§

fn saturating_pow(self, rhs: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp), saturating\nat the numeric bounds instead of overflowing.
§

fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs, wrapping around at\nthe boundary of the type.
§

fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs, wrapping around\nat the boundary of the type.
§

fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping\naround at the boundary of the type.
§

fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs, wrapping around at\nthe boundary of the type. Read more
§

fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean remainder. Computes self.rem_euclid(rhs), wrapping\naround at the boundary of the type. Read more
§

fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self, wrapping around at the\nboundary of the type. Read more
§

fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs), where mask\nremoves any high-order bits of rhs that would cause the shift to\nexceed the bit-width of the type. Read more
§

fn wrapping_pow(self, rhs: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp), wrapping\naround at the boundary of the type.
§

fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs Read more
§

fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs Read more
§

fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs. Read more
§

fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs. Read more
§

fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs). Read more
§

fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs. Read more
§

fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Overflowing Euclidean remainder. Calculates self.rem_euclid(rhs). Read more
§

fn overflowing_neg(self) -> (usize, bool)

Negates self, overflowing if this is equal to the minimum value. Read more
§

fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits. Read more
§

fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits. Read more
§

fn overflowing_pow(self, rhs: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring. Read more
§

fn pow(self, rhs: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.
§

fn div_euclid(self, rhs: usize) -> usize

Calculates the quotient of Euclidean division of self by rhs. Read more
§

fn rem_euclid(self, rhs: usize) -> usize

Calculates the least nonnegative remainder of self (mod rhs). Read more
","Integral","tor_interface::tor_provider::CircuitToken"],["
source§

impl IntoBigInt for usize

source§

fn into_bigint(self) -> Option<BigInt>

Converts the value of self to a BigInt.
","IntoBigInt","tor_interface::tor_provider::CircuitToken"],["
source§

impl IntoBigUint for usize

source§

fn into_biguint(self) -> Option<BigUint>

Converts the value of self to a BigUint.
","IntoBigUint","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'de, E> IntoDeserializer<'de, E> for usize
where\n E: Error,

§

type Deserializer = UsizeDeserializer<E>

The type of the deserializer being converted into.
source§

fn into_deserializer(self) -> UsizeDeserializer<E>

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","tor_interface::tor_provider::CircuitToken"],["
§

impl IntoNotification for usize

§

type Tag = ()

The tag data associated with a notification. Read more
§

type Notify = Notify

The notification type. Read more
§

fn into_notification(self) -> <usize as IntoNotification>::Notify

Convert this value into a notification. Read more
§

fn additional(self) -> Additional<Self::Notify>
where\n Self: Sized,

Convert this value into an additional notification. Read more
§

fn relaxed(self) -> Relaxed<Self::Notify>
where\n Self: Sized,

Don’t emit a fence for this notification. Read more
§

fn tag<T>(self, tag: T) -> Tag<Self::Notify, T>
where\n T: Clone,\n Self: Sized + IntoNotification<Tag = ()>,

Use a tag with this notification. Read more
§

fn tag_with<T, F>(self, tag: F) -> TagWith<Self::Notify, F>
where\n Self: Sized + IntoNotification<Tag = ()>,\n F: FnMut() -> T,

Use a function to generate a tag with this notification. Read more
","IntoNotification","tor_interface::tor_provider::CircuitToken"],["
1.42.0 · source§

impl LowerExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerExp","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl LowerHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","LowerHex","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Mul<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigInt) -> BigInt

Performs the * operation. Read more
","Mul<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Mul<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: &BigUint) -> BigUint

Performs the * operation. Read more
","Mul<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Mul<&usize> for usize

§

type Output = <usize as Mul>::Output

The resulting type after applying the * operator.
source§

fn mul(self, other: &usize) -> <usize as Mul>::Output

Performs the * operation. Read more
","Mul<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Mul<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the * operator.
source§

fn mul(self, other: BigInt) -> BigInt

Performs the * operation. Read more
","Mul","tor_interface::tor_provider::CircuitToken"],["
source§

impl Mul<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the * operator.
source§

fn mul(self, other: BigUint) -> BigUint

Performs the * operation. Read more
","Mul","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Mul for usize

§

type Output = usize

The resulting type after applying the * operator.
source§

fn mul(self, other: usize) -> usize

Performs the * operation. Read more
","Mul","tor_interface::tor_provider::CircuitToken"],["
source§

impl MulAdd for usize

§

type Output = usize

The resulting type after applying the fused multiply-add.
source§

fn mul_add(self, a: usize, b: usize) -> <usize as MulAdd>::Output

Performs the fused multiply-add operation (self * a) + b
","MulAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl MulAddAssign for usize

source§

fn mul_add_assign(&mut self, a: usize, b: usize)

Performs the fused multiply-add assignment operation *self = (*self * a) + b
","MulAddAssign","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl MulAssign<&usize> for usize

source§

fn mul_assign(&mut self, other: &usize)

Performs the *= operation. Read more
","MulAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl MulAssign for usize

source§

fn mul_assign(&mut self, other: usize)

Performs the *= operation. Read more
","MulAssign","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Not for usize

§

type Output = usize

The resulting type after applying the ! operator.
source§

fn not(self) -> usize

Performs the unary ! operation. Read more
","Not","tor_interface::tor_provider::CircuitToken"],["
source§

impl Num for usize

§

type FromStrRadixErr = ParseIntError

source§

fn from_str_radix(s: &str, radix: u32) -> Result<usize, ParseIntError>

Convert from a string and radix (typically 2..=36). Read more
","Num","tor_interface::tor_provider::CircuitToken"],["
source§

impl NumCast for usize

source§

fn from<N>(n: N) -> Option<usize>
where\n N: ToPrimitive,

Creates a number from another value that can be converted into\na primitive via the ToPrimitive trait. If the source value cannot be\nrepresented by the target type, then None is returned. Read more
","NumCast","tor_interface::tor_provider::CircuitToken"],["
§

impl Numeric for usize

§

type Bytes = [u8; 8]

The [u8; N] byte array that stores values of Self.
§

fn to_be_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nbig-endian (network) byte order.
§

fn to_le_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nlittle-endian byte order.
§

fn to_ne_bytes(self) -> <usize as Numeric>::Bytes

Return the memory representation of this number as a byte array in\nnative byte order.
§

fn from_be_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in big\nendian.
§

fn from_le_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its representation as a byte array in little\nendian.
§

fn from_ne_bytes(bytes: <usize as Numeric>::Bytes) -> usize

Create a numeric value from its memory representation as a byte array in\nnative endianness.
","Numeric","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Octal for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Octal","tor_interface::tor_provider::CircuitToken"],["
source§

impl One for usize

source§

fn one() -> usize

Returns the multiplicative identity element of Self, 1. Read more
source§

fn is_one(&self) -> bool

Returns true if self is equal to the multiplicative identity. Read more
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
","One","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Ord for usize

source§

fn cmp(&self, other: &usize) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","tor_interface::tor_provider::CircuitToken"],["
source§

impl OverflowingAdd for usize

source§

fn overflowing_add(&self, v: &usize) -> (usize, bool)

Returns a tuple of the sum along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl OverflowingMul for usize

source§

fn overflowing_mul(&self, v: &usize) -> (usize, bool)

Returns a tuple of the product along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl OverflowingSub for usize

source§

fn overflowing_sub(&self, v: &usize) -> (usize, bool)

Returns a tuple of the difference along with a boolean indicating whether an arithmetic overflow would occur.\nIf an overflow would have occurred then the wrapped value is returned.
","OverflowingSub","tor_interface::tor_provider::CircuitToken"],["
§

impl ParseHex for usize

§

fn parse_hex(input: &str) -> Result<usize, ParseError>

Parse the value from hex.
","ParseHex","tor_interface::tor_provider::CircuitToken"],["
source§

impl PartialEq<Value> for usize

source§

fn eq(&self, other: &Value) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl PartialEq for usize

source§

fn eq(&self, other: &usize) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
source§

fn ne(&self, other: &usize) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl PartialOrd for usize

source§

fn partial_cmp(&self, other: &usize) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
source§

fn lt(&self, other: &usize) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
source§

fn le(&self, other: &usize) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
source§

fn ge(&self, other: &usize) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
source§

fn gt(&self, other: &usize) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
","PartialOrd","tor_interface::tor_provider::CircuitToken"],["
source§

impl PhfBorrow<usize> for usize

source§

fn borrow(&self) -> &usize

Convert a reference to self to a reference to the borrowed type.
","PhfBorrow","tor_interface::tor_provider::CircuitToken"],["
source§

impl PhfHash for usize

source§

fn phf_hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds the value into the state given, updating the hasher as necessary.
source§

fn phf_hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the state provided.
","PhfHash","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u16) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u16>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u32) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u32>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a u8) -> usize

Returns self to the power rhs. Read more
","Pow<&'a u8>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Pow<&'a usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: &'a usize) -> usize

Returns self to the power rhs. Read more
","Pow<&'a usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<U> Pow<PInt<U>> for usize
where\n U: Unsigned + NonZero,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: PInt<U>) -> <usize as Pow<PInt<U>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<U, B> Pow<UInt<U, B>> for usize
where\n U: Unsigned,\n B: Bit,

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UInt<U, B>) -> <usize as Pow<UInt<U, B>>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<UTerm> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: UTerm) -> <usize as Pow<UTerm>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<Z0> for usize

§

type Output = usize

The result of the exponentiation.
source§

fn powi(self, _: Z0) -> <usize as Pow<Z0>>::Output

This function isn’t used in this crate, but may be useful for others.\nIt is implemented for primitives. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<u16> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u16) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<u32> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u32) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<u8> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: u8) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl Pow<usize> for usize

§

type Output = usize

The result after applying the operator.
source§

fn pow(self, rhs: usize) -> usize

Returns self to the power rhs. Read more
","Pow","tor_interface::tor_provider::CircuitToken"],["
source§

impl PrimInt for usize

source§

fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self. Read more
source§

fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self. Read more
source§

fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation\nof self. Read more
source§

fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation\nof self. Read more
source§

fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self. Read more
source§

fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self. Read more
source§

fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, wrapping\nthe truncated bits to the end of the resulting integer. Read more
source§

fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, wrapping\nthe truncated bits to the beginning of the resulting integer. Read more
source§

fn signed_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn signed_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, copying\nthe “sign bit” in the most significant bits even for unsigned types. Read more
source§

fn unsigned_shl(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n, filling\nzeros in the least significant bits. Read more
source§

fn unsigned_shr(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n, filling\nzeros in the most significant bits. Read more
source§

fn swap_bytes(self) -> usize

Reverses the byte order of the integer. Read more
source§

fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. Read more
source§

fn from_be(x: usize) -> usize

Convert an integer from big endian to the target’s endianness. Read more
source§

fn from_le(x: usize) -> usize

Convert an integer from little endian to the target’s endianness. Read more
source§

fn to_be(self) -> usize

Convert self to big endian from the target’s endianness. Read more
source§

fn to_le(self) -> usize

Convert self to little endian from the target’s endianness. Read more
source§

fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring. Read more
","PrimInt","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl<'a> Product<&'a usize> for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product<&'a usize>","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl Product for usize

source§

fn product<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\nmultiplying the items.
","Product","tor_interface::tor_provider::CircuitToken"],["
§

impl<R> RangeExt<usize> for R
where\n R: RangeBounds<usize>,

§

fn normalize(\n self,\n start: impl Into<Option<usize>>,\n end: impl Into<Option<usize>>,\n) -> Range<usize>

Normalizes a range-like type to a canonical half-open Range. Read more
§

fn intersection<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the intersection between two range-likes. The produced Range\nspans only the elements common to both. Read more
§

fn union<R2>(self, other: R2) -> Option<Range<usize>>
where\n R2: RangeExt<usize>,

Finds the union between two range-likes. The produced Range spans all\nelements present in at least one of them. Read more
","RangeExt","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Rem<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigInt) -> BigInt

Performs the % operation. Read more
","Rem<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Rem<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: &BigUint) -> BigUint

Performs the % operation. Read more
","Rem<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Rem<&usize> for usize

§

type Output = <usize as Rem>::Output

The resulting type after applying the % operator.
source§

fn rem(self, other: &usize) -> <usize as Rem>::Output

Performs the % operation. Read more
","Rem<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Rem<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the % operator.
source§

fn rem(self, other: BigInt) -> BigInt

Performs the % operation. Read more
","Rem","tor_interface::tor_provider::CircuitToken"],["
source§

impl Rem<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the % operator.
source§

fn rem(self, other: BigUint) -> BigUint

Performs the % operation. Read more
","Rem","tor_interface::tor_provider::CircuitToken"],["
1.51.0 · source§

impl Rem<NonZero<usize>> for usize

source§

fn rem(self, other: NonZero<usize>) -> usize

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
§

type Output = usize

The resulting type after applying the % operator.
","Rem>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Rem for usize

This operation satisfies n % d == n - (n / d) * d. The\nresult has the same sign as the left operand.

\n

§Panics

\n

This operation will panic if other == 0.

\n
§

type Output = usize

The resulting type after applying the % operator.
source§

fn rem(self, other: usize) -> usize

Performs the % operation. Read more
","Rem","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> RemAssign<&'a BigUint> for usize

source§

fn rem_assign(&mut self, other: &BigUint)

Performs the %= operation. Read more
","RemAssign<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl RemAssign<&usize> for usize

source§

fn rem_assign(&mut self, other: &usize)

Performs the %= operation. Read more
","RemAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl RemAssign<BigUint> for usize

source§

fn rem_assign(&mut self, other: BigUint)

Performs the %= operation. Read more
","RemAssign","tor_interface::tor_provider::CircuitToken"],["
1.79.0 · source§

impl RemAssign<NonZero<usize>> for usize

source§

fn rem_assign(&mut self, other: NonZero<usize>)

This operation satisfies n % d == n - (n / d) * d, and cannot panic.

\n
","RemAssign>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl RemAssign for usize

source§

fn rem_assign(&mut self, other: usize)

Performs the %= operation. Read more
","RemAssign","tor_interface::tor_provider::CircuitToken"],["
source§

impl Roots for usize

source§

fn nth_root(&self, n: u32) -> usize

Returns the truncated principal nth root of an integer\n– if x >= 0 { ⌊ⁿ√x⌋ } else { ⌈ⁿ√x⌉ } Read more
source§

fn sqrt(&self) -> usize

Returns the truncated principal square root of an integer – ⌊√x⌋ Read more
source§

fn cbrt(&self) -> usize

Returns the truncated principal cube root of an integer –\nif x >= 0 { ⌊∛x⌋ } else { ⌈∛x⌉ } Read more
","Roots","tor_interface::tor_provider::CircuitToken"],["
§

impl RowIndex for usize

§

fn idx(&self, stmt: &Statement<'_>) -> Result<usize, Error>

Returns the index of the appropriate column, or None if no such\ncolumn exists.
","RowIndex","tor_interface::tor_provider::CircuitToken"],["
source§

impl SampleUniform for usize

§

type Sampler = UniformInt<usize>

The UniformSampler implementation supporting type X.
","SampleUniform","tor_interface::tor_provider::CircuitToken"],["
source§

impl Saturating for usize

source§

fn saturating_add(self, v: usize) -> usize

Saturating addition operator.\nReturns a+b, saturating at the numeric bounds instead of overflowing.
source§

fn saturating_sub(self, v: usize) -> usize

Saturating subtraction operator.\nReturns a-b, saturating at the numeric bounds instead of overflowing.
","Saturating","tor_interface::tor_provider::CircuitToken"],["
source§

impl SaturatingAdd for usize

source§

fn saturating_add(&self, v: &usize) -> usize

Saturating addition. Computes self + other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl SaturatingMul for usize

source§

fn saturating_mul(&self, v: &usize) -> usize

Saturating multiplication. Computes self * other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl SaturatingSub for usize

source§

fn saturating_sub(&self, v: &usize) -> usize

Saturating subtraction. Computes self - other, saturating at the relevant high or low boundary of\nthe type.
","SaturatingSub","tor_interface::tor_provider::CircuitToken"],["
§

impl SeekNum for usize

§

fn from_block_byte<T>(\n block: T,\n byte: u8,\n bs: u8,\n) -> Result<usize, OverflowError>
where\n T: Counter,

Try to get position for block number block, byte position inside\nblock byte, and block size bs.
§

fn into_block_byte<T>(self, bs: u8) -> Result<(T, u8), OverflowError>
where\n T: Counter,

Try to get block number and bytes position for given block size bs.
","SeekNum","tor_interface::tor_provider::CircuitToken"],["
source§

impl Serialize for usize

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i128> for usize

§

type Output = <usize as Shl<i128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i128) -> <usize as Shl<i128>>::Output

Performs the << operation. Read more
","Shl<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i16> for usize

§

type Output = <usize as Shl<i16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i16) -> <usize as Shl<i16>>::Output

Performs the << operation. Read more
","Shl<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i32> for usize

§

type Output = <usize as Shl<i32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i32) -> <usize as Shl<i32>>::Output

Performs the << operation. Read more
","Shl<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i64> for usize

§

type Output = <usize as Shl<i64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i64) -> <usize as Shl<i64>>::Output

Performs the << operation. Read more
","Shl<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&i8> for usize

§

type Output = <usize as Shl<i8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &i8) -> <usize as Shl<i8>>::Output

Performs the << operation. Read more
","Shl<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&isize> for usize

§

type Output = <usize as Shl<isize>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &isize) -> <usize as Shl<isize>>::Output

Performs the << operation. Read more
","Shl<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u128> for usize

§

type Output = <usize as Shl<u128>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u128) -> <usize as Shl<u128>>::Output

Performs the << operation. Read more
","Shl<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u16> for usize

§

type Output = <usize as Shl<u16>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u16) -> <usize as Shl<u16>>::Output

Performs the << operation. Read more
","Shl<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u32> for usize

§

type Output = <usize as Shl<u32>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u32) -> <usize as Shl<u32>>::Output

Performs the << operation. Read more
","Shl<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u64> for usize

§

type Output = <usize as Shl<u64>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u64) -> <usize as Shl<u64>>::Output

Performs the << operation. Read more
","Shl<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&u8> for usize

§

type Output = <usize as Shl<u8>>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &u8) -> <usize as Shl<u8>>::Output

Performs the << operation. Read more
","Shl<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<&usize> for usize

§

type Output = <usize as Shl>::Output

The resulting type after applying the << operator.
source§

fn shl(self, other: &usize) -> <usize as Shl>::Output

Performs the << operation. Read more
","Shl<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i128) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i16) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i32) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i64) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<i8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: i8) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<isize> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: isize) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u128> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u128) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u16> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u16) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u32> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u32) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u64> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u64) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl<u8> for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: u8) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shl for usize

§

type Output = usize

The resulting type after applying the << operator.
source§

fn shl(self, other: usize) -> usize

Performs the << operation. Read more
","Shl","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i128> for usize

source§

fn shl_assign(&mut self, other: &i128)

Performs the <<= operation. Read more
","ShlAssign<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i16> for usize

source§

fn shl_assign(&mut self, other: &i16)

Performs the <<= operation. Read more
","ShlAssign<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i32> for usize

source§

fn shl_assign(&mut self, other: &i32)

Performs the <<= operation. Read more
","ShlAssign<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i64> for usize

source§

fn shl_assign(&mut self, other: &i64)

Performs the <<= operation. Read more
","ShlAssign<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&i8> for usize

source§

fn shl_assign(&mut self, other: &i8)

Performs the <<= operation. Read more
","ShlAssign<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&isize> for usize

source§

fn shl_assign(&mut self, other: &isize)

Performs the <<= operation. Read more
","ShlAssign<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u128> for usize

source§

fn shl_assign(&mut self, other: &u128)

Performs the <<= operation. Read more
","ShlAssign<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u16> for usize

source§

fn shl_assign(&mut self, other: &u16)

Performs the <<= operation. Read more
","ShlAssign<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u32> for usize

source§

fn shl_assign(&mut self, other: &u32)

Performs the <<= operation. Read more
","ShlAssign<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u64> for usize

source§

fn shl_assign(&mut self, other: &u64)

Performs the <<= operation. Read more
","ShlAssign<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&u8> for usize

source§

fn shl_assign(&mut self, other: &u8)

Performs the <<= operation. Read more
","ShlAssign<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShlAssign<&usize> for usize

source§

fn shl_assign(&mut self, other: &usize)

Performs the <<= operation. Read more
","ShlAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i128> for usize

source§

fn shl_assign(&mut self, other: i128)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i16> for usize

source§

fn shl_assign(&mut self, other: i16)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i32> for usize

source§

fn shl_assign(&mut self, other: i32)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i64> for usize

source§

fn shl_assign(&mut self, other: i64)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<i8> for usize

source§

fn shl_assign(&mut self, other: i8)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<isize> for usize

source§

fn shl_assign(&mut self, other: isize)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u128> for usize

source§

fn shl_assign(&mut self, other: u128)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u16> for usize

source§

fn shl_assign(&mut self, other: u16)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u32> for usize

source§

fn shl_assign(&mut self, other: u32)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u64> for usize

source§

fn shl_assign(&mut self, other: u64)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign<u8> for usize

source§

fn shl_assign(&mut self, other: u8)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShlAssign for usize

source§

fn shl_assign(&mut self, other: usize)

Performs the <<= operation. Read more
","ShlAssign","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i128> for usize

§

type Output = <usize as Shr<i128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i128) -> <usize as Shr<i128>>::Output

Performs the >> operation. Read more
","Shr<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i16> for usize

§

type Output = <usize as Shr<i16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i16) -> <usize as Shr<i16>>::Output

Performs the >> operation. Read more
","Shr<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i32> for usize

§

type Output = <usize as Shr<i32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i32) -> <usize as Shr<i32>>::Output

Performs the >> operation. Read more
","Shr<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i64> for usize

§

type Output = <usize as Shr<i64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i64) -> <usize as Shr<i64>>::Output

Performs the >> operation. Read more
","Shr<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&i8> for usize

§

type Output = <usize as Shr<i8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &i8) -> <usize as Shr<i8>>::Output

Performs the >> operation. Read more
","Shr<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&isize> for usize

§

type Output = <usize as Shr<isize>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &isize) -> <usize as Shr<isize>>::Output

Performs the >> operation. Read more
","Shr<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u128> for usize

§

type Output = <usize as Shr<u128>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u128) -> <usize as Shr<u128>>::Output

Performs the >> operation. Read more
","Shr<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u16> for usize

§

type Output = <usize as Shr<u16>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u16) -> <usize as Shr<u16>>::Output

Performs the >> operation. Read more
","Shr<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u32> for usize

§

type Output = <usize as Shr<u32>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u32) -> <usize as Shr<u32>>::Output

Performs the >> operation. Read more
","Shr<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u64> for usize

§

type Output = <usize as Shr<u64>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u64) -> <usize as Shr<u64>>::Output

Performs the >> operation. Read more
","Shr<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&u8> for usize

§

type Output = <usize as Shr<u8>>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &u8) -> <usize as Shr<u8>>::Output

Performs the >> operation. Read more
","Shr<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<&usize> for usize

§

type Output = <usize as Shr>::Output

The resulting type after applying the >> operator.
source§

fn shr(self, other: &usize) -> <usize as Shr>::Output

Performs the >> operation. Read more
","Shr<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i128) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i16) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i32) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i64) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<i8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: i8) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<isize> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: isize) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u128> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u128) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u16> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u16) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u32> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u32) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u64> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u64) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr<u8> for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: u8) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Shr for usize

§

type Output = usize

The resulting type after applying the >> operator.
source§

fn shr(self, other: usize) -> usize

Performs the >> operation. Read more
","Shr","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i128> for usize

source§

fn shr_assign(&mut self, other: &i128)

Performs the >>= operation. Read more
","ShrAssign<&i128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i16> for usize

source§

fn shr_assign(&mut self, other: &i16)

Performs the >>= operation. Read more
","ShrAssign<&i16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i32> for usize

source§

fn shr_assign(&mut self, other: &i32)

Performs the >>= operation. Read more
","ShrAssign<&i32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i64> for usize

source§

fn shr_assign(&mut self, other: &i64)

Performs the >>= operation. Read more
","ShrAssign<&i64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&i8> for usize

source§

fn shr_assign(&mut self, other: &i8)

Performs the >>= operation. Read more
","ShrAssign<&i8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&isize> for usize

source§

fn shr_assign(&mut self, other: &isize)

Performs the >>= operation. Read more
","ShrAssign<&isize>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u128> for usize

source§

fn shr_assign(&mut self, other: &u128)

Performs the >>= operation. Read more
","ShrAssign<&u128>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u16> for usize

source§

fn shr_assign(&mut self, other: &u16)

Performs the >>= operation. Read more
","ShrAssign<&u16>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u32> for usize

source§

fn shr_assign(&mut self, other: &u32)

Performs the >>= operation. Read more
","ShrAssign<&u32>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u64> for usize

source§

fn shr_assign(&mut self, other: &u64)

Performs the >>= operation. Read more
","ShrAssign<&u64>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&u8> for usize

source§

fn shr_assign(&mut self, other: &u8)

Performs the >>= operation. Read more
","ShrAssign<&u8>","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl ShrAssign<&usize> for usize

source§

fn shr_assign(&mut self, other: &usize)

Performs the >>= operation. Read more
","ShrAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i128> for usize

source§

fn shr_assign(&mut self, other: i128)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i16> for usize

source§

fn shr_assign(&mut self, other: i16)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i32> for usize

source§

fn shr_assign(&mut self, other: i32)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i64> for usize

source§

fn shr_assign(&mut self, other: i64)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<i8> for usize

source§

fn shr_assign(&mut self, other: i8)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<isize> for usize

source§

fn shr_assign(&mut self, other: isize)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u128> for usize

source§

fn shr_assign(&mut self, other: u128)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u16> for usize

source§

fn shr_assign(&mut self, other: u16)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u32> for usize

source§

fn shr_assign(&mut self, other: u32)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u64> for usize

source§

fn shr_assign(&mut self, other: u64)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign<u8> for usize

source§

fn shr_assign(&mut self, other: u8)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl ShrAssign for usize

source§

fn shr_assign(&mut self, other: usize)

Performs the >>= operation. Read more
","ShrAssign","tor_interface::tor_provider::CircuitToken"],["
source§

impl SimdElement for usize

§

type Mask = isize

🔬This is a nightly-only experimental API. (portable_simd)
The mask element type corresponding to this element type.
","SimdElement","tor_interface::tor_provider::CircuitToken"],["
1.15.0 (const: unstable) · source§

impl<T> SliceIndex<[T]> for usize

The methods index and index_mut panic if the index is out of bounds.

\n
§

type Output = T

The output type returned by methods.
source§

fn get(self, slice: &[T]) -> Option<&T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in\nbounds.
source§

fn get_mut(self, slice: &mut [T]) -> Option<&mut T>

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in\nbounds.
source§

unsafe fn get_unchecked(self, slice: *const [T]) -> *const T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without\nperforming any bounds checking.\nCalling this method with an out-of-bounds index or a dangling slice pointer\nis undefined behavior even if the resulting pointer is not used.
source§

fn index(self, slice: &[T]) -> &T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking\nif out of bounds.
source§

fn index_mut(self, slice: &mut [T]) -> &mut T

🔬This is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking\nif out of bounds.
","SliceIndex<[T]>","tor_interface::tor_provider::CircuitToken"],["
§

impl SmartDisplay for usize

§

type Metadata = ()

User-provided metadata type.
§

fn metadata(&self, f: FormatterOptions) -> Metadata<'_, usize>

Compute any information needed to format the value. This must, at a minimum, determine the\nwidth of the value before any padding is added by the formatter. Read more
§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Format the value using the given formatter. This is the same as Display::fmt. Read more
§

fn fmt_with_metadata(\n &self,\n f: &mut Formatter<'_>,\n _metadata: Metadata<'_, Self>,\n) -> Result<(), Error>

Format the value using the given formatter and metadata. The formatted output should have\nthe width indicated by the metadata. This is before any padding is added by the\nformatter. Read more
","SmartDisplay","tor_interface::tor_provider::CircuitToken"],["
source§

impl Step for usize

source§

fn forward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

unsafe fn forward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

unsafe fn backward_unchecked(start: usize, n: usize) -> usize

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
source§

fn steps_between(start: &usize, end: &usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the number of successor steps required to get from start to end. Read more
source§

fn forward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor\nof self count times. Read more
source§

fn backward_checked(start: usize, n: usize) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor\nof self count times. Read more
","Step","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Sub<&'a BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigInt) -> BigInt

Performs the - operation. Read more
","Sub<&'a BigInt>","tor_interface::tor_provider::CircuitToken"],["
source§

impl<'a> Sub<&'a BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: &BigUint) -> BigUint

Performs the - operation. Read more
","Sub<&'a BigUint>","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Sub<&usize> for usize

§

type Output = <usize as Sub>::Output

The resulting type after applying the - operator.
source§

fn sub(self, other: &usize) -> <usize as Sub>::Output

Performs the - operation. Read more
","Sub<&usize>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Sub<BigInt> for usize

§

type Output = BigInt

The resulting type after applying the - operator.
source§

fn sub(self, other: BigInt) -> BigInt

Performs the - operation. Read more
","Sub","tor_interface::tor_provider::CircuitToken"],["
source§

impl Sub<BigUint> for usize

§

type Output = BigUint

The resulting type after applying the - operator.
source§

fn sub(self, other: BigUint) -> BigUint

Performs the - operation. Read more
","Sub","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Sub for usize

§

type Output = usize

The resulting type after applying the - operator.
source§

fn sub(self, other: usize) -> usize

Performs the - operation. Read more
","Sub","tor_interface::tor_provider::CircuitToken"],["
1.22.0 · source§

impl SubAssign<&usize> for usize

source§

fn sub_assign(&mut self, other: &usize)

Performs the -= operation. Read more
","SubAssign<&usize>","tor_interface::tor_provider::CircuitToken"],["
1.8.0 · source§

impl SubAssign for usize

source§

fn sub_assign(&mut self, other: usize)

Performs the -= operation. Read more
","SubAssign","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl<'a> Sum<&'a usize> for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = &'a usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum<&'a usize>","tor_interface::tor_provider::CircuitToken"],["
1.12.0 · source§

impl Sum for usize

source§

fn sum<I>(iter: I) -> usize
where\n I: Iterator<Item = usize>,

Method which takes an iterator and generates Self from the elements by\n“summing up” the items.
","Sum","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToBigInt for usize

source§

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a BigInt.
","ToBigInt","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToBigUint for usize

source§

fn to_biguint(&self) -> Option<BigUint>

Converts the value of self to a BigUint.
","ToBigUint","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToBytes for usize

§

type Bytes = [u8; 8]

source§

fn to_be_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in big-endian byte order. Read more
source§

fn to_le_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in little-endian byte order. Read more
source§

fn to_ne_bytes(&self) -> <usize as ToBytes>::Bytes

Return the memory representation of this number as a byte array in native byte order. Read more
","ToBytes","tor_interface::tor_provider::CircuitToken"],["
source§

impl ToPrimitive for usize

source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be\nrepresented by an isize, then None is returned.
source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be\nrepresented by an i8, then None is returned.
source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be\nrepresented by an i16, then None is returned.
source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be\nrepresented by an i32, then None is returned.
source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be\nrepresented by an i64, then None is returned.
source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be\nrepresented by an i128 (i64 under the default implementation), then\nNone is returned. Read more
source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be\nrepresented by a usize, then None is returned.
source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be\nrepresented by a u8, then None is returned.
source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be\nrepresented by a u16, then None is returned.
source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be\nrepresented by a u32, then None is returned.
source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be\nrepresented by a u64, then None is returned.
source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be\nrepresented by a u128 (u64 under the default implementation), then\nNone is returned. Read more
source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f32.
source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive\nor negative inifinity, otherwise None is returned if the value cannot\nbe represented by an f64. Read more
","ToPrimitive","tor_interface::tor_provider::CircuitToken"],["
§

impl ToSql for usize

§

fn to_sql(&self) -> Result<ToSqlOutput<'_>, Error>

Converts Rust value to SQLite value
","ToSql","tor_interface::tor_provider::CircuitToken"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","tor_interface::tor_provider::CircuitToken"],["
§

impl ToUsize for usize

§

fn to_usize(&self) -> usize

converts self to usize
","ToUsize","tor_interface::tor_provider::CircuitToken"],["
§

impl<const L: i32, const H: i32> TryFrom<BoundedInt32<L, H>> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(\n val: BoundedInt32<L, H>,\n) -> Result<usize, <usize as TryFrom<BoundedInt32<L, H>>>::Error>

Performs the conversion.
","TryFrom>","tor_interface::tor_provider::CircuitToken"],["
§

impl TryFrom<Length> for usize

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from(len: Length) -> Result<usize, Error>

Performs the conversion.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i128> for usize

source§

fn try_from(u: i128) -> Result<usize, <usize as TryFrom<i128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i16> for usize

source§

fn try_from(u: i16) -> Result<usize, <usize as TryFrom<i16>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i32> for usize

source§

fn try_from(u: i32) -> Result<usize, <usize as TryFrom<i32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i64> for usize

source§

fn try_from(u: i64) -> Result<usize, <usize as TryFrom<i64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<i8> for usize

source§

fn try_from(u: i8) -> Result<usize, <usize as TryFrom<i8>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<isize> for usize

source§

fn try_from(u: isize) -> Result<usize, <usize as TryFrom<isize>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<u128> for usize

source§

fn try_from(u: u128) -> Result<usize, <usize as TryFrom<u128>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<u32> for usize

source§

fn try_from(value: u32) -> Result<usize, <usize as TryFrom<u32>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
1.34.0 · source§

impl TryFrom<u64> for usize

source§

fn try_from(value: u64) -> Result<usize, <usize as TryFrom<u64>>::Error>

Try to create the target number type from a source\nnumber type. This returns an error if the source value\nis outside of the range of the target type.

\n
§

type Error = TryFromIntError

The type returned in the event of a conversion error.
","TryFrom","tor_interface::tor_provider::CircuitToken"],["
§

impl Unsigned for usize

§

fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.
§

fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self. Read more
§

fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to n. If the\nnext power of two is greater than the type’s maximum value, None is\nreturned, otherwise the power of two is wrapped in Some.
","Unsigned","tor_interface::tor_provider::CircuitToken"],["
1.42.0 · source§

impl UpperExp for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperExp","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl UpperHex for usize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","UpperHex","tor_interface::tor_provider::CircuitToken"],["
§

impl Value for usize

§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
","Value","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingAdd for usize

source§

fn wrapping_add(&self, v: &usize) -> usize

Wrapping (modular) addition. Computes self + other, wrapping around at the boundary of\nthe type.
","WrappingAdd","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingMul for usize

source§

fn wrapping_mul(&self, v: &usize) -> usize

Wrapping (modular) multiplication. Computes self * other, wrapping around at the boundary\nof the type.
","WrappingMul","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingNeg for usize

source§

fn wrapping_neg(&self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type. Read more
","WrappingNeg","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingShl for usize

source§

fn wrapping_shl(&self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShl","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingShr for usize

source§

fn wrapping_shr(&self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high order bits of rhs that would\ncause the shift to exceed the bitwidth of the type. Read more
","WrappingShr","tor_interface::tor_provider::CircuitToken"],["
source§

impl WrappingSub for usize

source§

fn wrapping_sub(&self, v: &usize) -> usize

Wrapping (modular) subtraction. Computes self - other, wrapping around at the boundary\nof the type.
","WrappingSub","tor_interface::tor_provider::CircuitToken"],["
§

impl WriteHex for usize

§

fn write_hex<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Write the value as hex.
","WriteHex","tor_interface::tor_provider::CircuitToken"],["
§

impl Writeable for usize

§

fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
where\n W: Write + ?Sized,

Writes a string to the given sink. Errors from the sink are bubbled up.\nThe default implementation delegates to write_to_parts, and discards any\nPart annotations.
§

fn writeable_length_hint(&self) -> LengthHint

Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
§

fn write_to_parts<S>(&self, sink: &mut S) -> Result<(), Error>
where\n S: PartsWrite + ?Sized,

Write bytes and Part annotations to the given sink. Errors from the\nsink are bubbled up. The default implementation delegates to write_to,\nand doesn’t produce any Part annotations.
§

fn write_to_string(&self) -> Cow<'_, str>

Creates a new String with the data from this Writeable. Like ToString,\nbut smaller and faster. Read more
§

fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

Compares the contents of this Writeable to the given bytes\nwithout allocating a String to hold the Writeable contents. Read more
","Writeable","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a> Yokeable<'a> for usize

§

type Output = usize

This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
§

fn transform(&self) -> &<usize as Yokeable<'a>>::Output

This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
§

fn transform_owned(self) -> <usize as Yokeable<'a>>::Output

This method must cast self between Self<'static> and Self<'a>. Read more
§

unsafe fn make(this: <usize as Yokeable<'a>>::Output) -> usize

This method can be used to cast away Self<'a>’s lifetime. Read more
§

fn transform_mut<F>(&'a mut self, f: F)
where\n F: 'static + for<'b> FnOnce(&'b mut <usize as Yokeable<'a>>::Output),

This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>,\nand pass it to f. Read more
","Yokeable<'a>","tor_interface::tor_provider::CircuitToken"],["
source§

impl Zero for usize

source§

fn zero() -> usize

Returns the additive identity element of Self, 0. Read more
source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a> ZeroFrom<'a, usize> for usize

§

fn zero_from(this: &'a usize) -> usize

Clone the other C into a struct that may retain references into C.
","ZeroFrom<'a, usize>","tor_interface::tor_provider::CircuitToken"],["
§

impl<'a> ZeroMapKV<'a> for usize

§

type Container = FlexZeroVec<'a>

The container that can be used with this type: [ZeroVec] or [VarZeroVec].
§

type Slice = FlexZeroSlice

§

type GetType = [u8]

The type produced by Container::get() Read more
§

type OwnedType = usize

The type produced by Container::replace() and Container::remove(),\nalso used during deserialization. If Self is human readable serialized,\ndeserializing to Self::OwnedType should produce the same value once\npassed through Self::owned_as_self() Read more
","ZeroMapKV<'a>","tor_interface::tor_provider::CircuitToken"],["
source§

impl usize

1.43.0 · source

pub const MIN: usize = 0usize

The smallest value that can be represented by this integer type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MIN, 0);
\n
1.43.0 · source

pub const MAX: usize = 18_446_744_073_709_551_615usize

The largest value that can be represented by this integer type\n(264 − 1 on 64-bit targets).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX, 18446744073709551615);
\n
1.53.0 · source

pub const BITS: u32 = 64u32

The size of this integer type in bits.

\n
§Examples
\n
assert_eq!(usize::BITS, 64);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_ones(self) -> u32

Returns the number of ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b01001100usize;\n\nassert_eq!(n.count_ones(), 3);
\n
1.0.0 (const: 1.32.0) · source

pub const fn count_zeros(self) -> u32

Returns the number of zeros in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::MAX.count_zeros(), 0);
\n
1.0.0 (const: 1.32.0) · source

pub const fn leading_zeros(self) -> u32

Returns the number of leading zeros in the binary representation of self.

\n

Depending on what you’re doing with the value, you might also be interested in the\nilog2 function which returns a consistent number, even if the type widens.

\n
§Examples
\n

Basic usage:

\n\n
let n = usize::MAX >> 2;\n\nassert_eq!(n.leading_zeros(), 2);
\n
1.0.0 (const: 1.32.0) · source

pub const fn trailing_zeros(self) -> u32

Returns the number of trailing zeros in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b0101000usize;\n\nassert_eq!(n.trailing_zeros(), 3);
\n
1.46.0 (const: 1.46.0) · source

pub const fn leading_ones(self) -> u32

Returns the number of leading ones in the binary representation of self.

\n
§Examples
\n

Basic usage:

\n\n
let n = !(usize::MAX >> 2);\n\nassert_eq!(n.leading_ones(), 2);
\n
1.46.0 (const: 1.46.0) · source

pub const fn trailing_ones(self) -> u32

Returns the number of trailing ones in the binary representation\nof self.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0b1010111usize;\n\nassert_eq!(n.trailing_ones(), 3);
\n
source

pub const fn cast_signed(self) -> isize

🔬This is a nightly-only experimental API. (integer_sign_cast)

Returns the bit pattern of self reinterpreted as a signed integer of the same size.

\n

This produces the same result as an as cast, but ensures that the bit-width remains\nthe same.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(integer_sign_cast)]\n\nlet n = usize::MAX;\n\nassert_eq!(n.cast_signed(), -1isize);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_left(self, n: u32) -> usize

Shifts the bits to the left by a specified amount, n,\nwrapping the truncated bits to the end of the resulting integer.

\n

Please note this isn’t the same operation as the << shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0xaa00000000006e1usize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn rotate_right(self, n: u32) -> usize

Shifts the bits to the right by a specified amount, n,\nwrapping the truncated bits to the beginning of the resulting\ninteger.

\n

Please note this isn’t the same operation as the >> shifting operator!

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x6e10aausize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);
\n
1.0.0 (const: 1.32.0) · source

pub const fn swap_bytes(self) -> usize

Reverses the byte order of the integer.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);
\n
1.37.0 (const: 1.37.0) · source

pub const fn reverse_bits(self) -> usize

Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\nsecond least-significant bit becomes second most-significant bit, etc.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1234567890123456usize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0usize.reverse_bits());
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_be(x: usize) -> usize

Converts an integer from big endian to the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(usize::from_be(n), n)\n} else {\n    assert_eq!(usize::from_be(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn from_le(x: usize) -> usize

Converts an integer from little endian to the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(usize::from_le(n), n)\n} else {\n    assert_eq!(usize::from_le(n), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_be(self) -> usize

Converts self to big endian from the target’s endianness.

\n

On big endian this is a no-op. On little endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n    assert_eq!(n.to_be(), n)\n} else {\n    assert_eq!(n.to_be(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn to_le(self) -> usize

Converts self to little endian from the target’s endianness.

\n

On little endian this is a no-op. On big endian the bytes are\nswapped.

\n
§Examples
\n

Basic usage:

\n\n
let n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n    assert_eq!(n.to_le(), n)\n} else {\n    assert_eq!(n.to_le(), n.swap_bytes())\n}
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_add(self, rhs: usize) -> Option<usize>

Checked integer addition. Computes self + rhs, returning None\nif overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!((usize::MAX - 2).checked_add(1), Some(usize::MAX - 1));\nassert_eq!((usize::MAX - 2).checked_add(3), None);
\n
source

pub const fn strict_add(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer addition. Computes self + rhs, panicking\nif overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!((usize::MAX - 2).strict_add(1), usize::MAX - 1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add(3);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_add(self, rhs: usize) -> usize

Unchecked integer addition. Computes self + rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_add(y) is semantically equivalent to calling\nx.checked_add(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_add.

\n
§Safety
\n

This results in undefined behavior when\nself + rhs > usize::MAX or self + rhs < usize::MIN,\ni.e. when checked_add would return None.

\n
1.66.0 (const: 1.66.0) · source

pub const fn checked_add_signed(self, rhs: isize) -> Option<usize>

Checked addition with a signed integer. Computes self + rhs,\nreturning None if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_add_signed(2), Some(3));\nassert_eq!(1usize.checked_add_signed(-2), None);\nassert_eq!((usize::MAX - 2).checked_add_signed(3), None);
\n
source

pub const fn strict_add_signed(self, rhs: isize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict addition with a signed integer. Computes self + rhs,\npanicking if overflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_add_signed(2), 3);
\n

The following panic because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_add_signed(-2);
\n\n
#![feature(strict_overflow_ops)]\nlet _ = (usize::MAX - 2).strict_add_signed(3);
\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_sub(self, rhs: usize) -> Option<usize>

Checked integer subtraction. Computes self - rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.checked_sub(1), Some(0));\nassert_eq!(0usize.checked_sub(1), None);
\n
source

pub const fn strict_sub(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer subtraction. Computes self - rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(1usize.strict_sub(1), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0usize.strict_sub(1);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_sub(self, rhs: usize) -> usize

Unchecked integer subtraction. Computes self - rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_sub(y) is semantically equivalent to calling\nx.checked_sub(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_sub.

\n

If you find yourself writing code like this:

\n\n
if foo >= bar {\n    // SAFETY: just checked it will not overflow\n    let diff = unsafe { foo.unchecked_sub(bar) };\n    // ... use diff ...\n}
\n

Consider changing it to

\n\n
if let Some(diff) = foo.checked_sub(bar) {\n    // ... use diff ...\n}
\n

As that does exactly the same thing – including telling the optimizer\nthat the subtraction cannot overflow – but avoids needing unsafe.

\n
§Safety
\n

This results in undefined behavior when\nself - rhs > usize::MAX or self - rhs < usize::MIN,\ni.e. when checked_sub would return None.

\n
1.0.0 (const: 1.47.0) · source

pub const fn checked_mul(self, rhs: usize) -> Option<usize>

Checked integer multiplication. Computes self * rhs, returning\nNone if overflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_mul(1), Some(5));\nassert_eq!(usize::MAX.checked_mul(2), None);
\n
source

pub const fn strict_mul(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer multiplication. Computes self * rhs, panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(5usize.strict_mul(1), 5);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_mul(2);
\n
1.79.0 (const: 1.79.0) · source

pub const unsafe fn unchecked_mul(self, rhs: usize) -> usize

Unchecked integer multiplication. Computes self * rhs, assuming overflow\ncannot occur.

\n

Calling x.unchecked_mul(y) is semantically equivalent to calling\nx.checked_mul(y).unwrap_unchecked().

\n

If you’re just trying to avoid the panic in debug mode, then do not\nuse this. Instead, you’re looking for wrapping_mul.

\n
§Safety
\n

This results in undefined behavior when\nself * rhs > usize::MAX or self * rhs < usize::MIN,\ni.e. when checked_mul would return None.

\n
1.0.0 (const: 1.52.0) · source

pub const fn checked_div(self, rhs: usize) -> Option<usize>

Checked integer division. Computes self / rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div(2), Some(64));\nassert_eq!(1usize.checked_div(0), None);
\n
source

pub const fn strict_div(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer division. Computes self / rhs.\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_div_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean division. Computes self.div_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.checked_div_euclid(2), Some(64));\nassert_eq!(1usize.checked_div_euclid(0), None);
\n
source

pub const fn strict_div_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean division. Computes self.div_euclid(rhs).\nStrict division on unsigned types is just normal division.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_div(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_div_euclid(10), 10);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = (1usize).strict_div_euclid(0);
\n
1.7.0 (const: 1.52.0) · source

pub const fn checked_rem(self, rhs: usize) -> Option<usize>

Checked integer remainder. Computes self % rhs, returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem(2), Some(1));\nassert_eq!(5usize.checked_rem(0), None);
\n
source

pub const fn strict_rem(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict integer remainder. Computes self % rhs.\nStrict remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem(0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn checked_rem_euclid(self, rhs: usize) -> Option<usize>

Checked Euclidean modulo. Computes self.rem_euclid(rhs), returning None\nif rhs == 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.checked_rem_euclid(2), Some(1));\nassert_eq!(5usize.checked_rem_euclid(0), None);
\n
source

pub const fn strict_rem_euclid(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict Euclidean modulo. Computes self.rem_euclid(rhs).\nStrict modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way overflow could ever happen.\nThis function exists, so that all operations\nare accounted for in the strict operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.strict_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(100usize.strict_rem_euclid(10), 0);
\n

The following panics because of division by zero:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 5usize.strict_rem_euclid(0);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog(self, base: usize) -> u32

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

This method might not be optimized owing to implementation details;\nilog2 can produce results more efficiently for base 2, and ilog10\ncan produce results more efficiently for base 10.

\n
§Panics
\n

This function will panic if self is zero, or if base is less than 2.

\n
§Examples
\n
assert_eq!(5usize.ilog(5), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog2(self) -> u32

Returns the base 2 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Examples
\n
assert_eq!(2usize.ilog2(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn ilog10(self) -> u32

Returns the base 10 logarithm of the number, rounded down.

\n
§Panics
\n

This function will panic if self is zero.

\n
§Example
\n
assert_eq!(10usize.ilog10(), 1);
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog(self, base: usize) -> Option<u32>

Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.

\n

Returns None if the number is zero, or if the base is not at least 2.

\n

This method might not be optimized owing to implementation details;\nchecked_ilog2 can produce results more efficiently for base 2, and\nchecked_ilog10 can produce results more efficiently for base 10.

\n
§Examples
\n
assert_eq!(5usize.checked_ilog(5), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog2(self) -> Option<u32>

Returns the base 2 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(2usize.checked_ilog2(), Some(1));
\n
1.67.0 (const: 1.67.0) · source

pub const fn checked_ilog10(self) -> Option<u32>

Returns the base 10 logarithm of the number, rounded down.

\n

Returns None if the number is zero.

\n
§Examples
\n
assert_eq!(10usize.checked_ilog10(), Some(1));
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_neg(self) -> Option<usize>

Checked negation. Computes -self, returning None unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0usize.checked_neg(), Some(0));\nassert_eq!(1usize.checked_neg(), None);
\n
source

pub const fn strict_neg(self) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict negation. Computes -self, panicking unless self == 0.

\n

Note that negating any positive integer will overflow.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0usize.strict_neg(), 0);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 1usize.strict_neg();
\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shl(self, rhs: u32) -> Option<usize>

Checked shift left. Computes self << rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x1usize.checked_shl(4), Some(0x10));\nassert_eq!(0x10usize.checked_shl(129), None);
\n
source

pub const fn strict_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift left. Computes self << rhs, panicking if rhs is larger\nthan or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x1usize.strict_shl(4), 0x10);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shl(129);
\n
source

pub const unsafe fn unchecked_shl(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift left. Computes self << rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shl would return None.

\n
1.7.0 (const: 1.47.0) · source

pub const fn checked_shr(self, rhs: u32) -> Option<usize>

Checked shift right. Computes self >> rhs, returning None\nif rhs is larger than or equal to the number of bits in self.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0x10usize.checked_shr(4), Some(0x1));\nassert_eq!(0x10usize.checked_shr(129), None);
\n
source

pub const fn strict_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict shift right. Computes self >> rhs, panicking rhs is\nlarger than or equal to the number of bits in self.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(0x10usize.strict_shr(4), 0x1);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = 0x10usize.strict_shr(129);
\n
source

pub const unsafe fn unchecked_shr(self, rhs: u32) -> usize

🔬This is a nightly-only experimental API. (unchecked_shifts)

Unchecked shift right. Computes self >> rhs, assuming that\nrhs is less than the number of bits in self.

\n
§Safety
\n

This results in undefined behavior if rhs is larger than\nor equal to the number of bits in self,\ni.e. when checked_shr would return None.

\n
1.34.0 (const: 1.50.0) · source

pub const fn checked_pow(self, exp: u32) -> Option<usize>

Checked exponentiation. Computes self.pow(exp), returning None if\noverflow occurred.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_pow(5), Some(32));\nassert_eq!(usize::MAX.checked_pow(2), None);
\n
source

pub const fn strict_pow(self, exp: u32) -> usize

🔬This is a nightly-only experimental API. (strict_overflow_ops)

Strict exponentiation. Computes self.pow(exp), panicking if\noverflow occurred.

\n
§Panics
§Overflow behavior
\n

This function will always panic on overflow, regardless of whether overflow checks are enabled.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(strict_overflow_ops)]\nassert_eq!(2usize.strict_pow(5), 32);
\n

The following panics because of overflow:

\n\n
#![feature(strict_overflow_ops)]\nlet _ = usize::MAX.strict_pow(2);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_add(self, rhs: usize) -> usize

Saturating integer addition. Computes self + rhs, saturating at\nthe numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_add(1), 101);\nassert_eq!(usize::MAX.saturating_add(127), usize::MAX);
\n
1.66.0 (const: 1.66.0) · source

pub const fn saturating_add_signed(self, rhs: isize) -> usize

Saturating addition with a signed integer. Computes self + rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.saturating_add_signed(2), 3);\nassert_eq!(1usize.saturating_add_signed(-2), 0);\nassert_eq!((usize::MAX - 2).saturating_add_signed(4), usize::MAX);
\n
1.0.0 (const: 1.47.0) · source

pub const fn saturating_sub(self, rhs: usize) -> usize

Saturating integer subtraction. Computes self - rhs, saturating\nat the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.saturating_sub(27), 73);\nassert_eq!(13usize.saturating_sub(127), 0);
\n
1.7.0 (const: 1.47.0) · source

pub const fn saturating_mul(self, rhs: usize) -> usize

Saturating integer multiplication. Computes self * rhs,\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.saturating_mul(10), 20);\nassert_eq!((usize::MAX).saturating_mul(10), usize::MAX);
\n
1.58.0 (const: 1.58.0) · source

pub const fn saturating_div(self, rhs: usize) -> usize

Saturating integer division. Computes self / rhs, saturating at the\nnumeric bounds instead of overflowing.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(5usize.saturating_div(2), 2);\n
\n
1.34.0 (const: 1.50.0) · source

pub const fn saturating_pow(self, exp: u32) -> usize

Saturating integer exponentiation. Computes self.pow(exp),\nsaturating at the numeric bounds instead of overflowing.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(4usize.saturating_pow(3), 64);\nassert_eq!(usize::MAX.saturating_pow(2), usize::MAX);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_add(self, rhs: usize) -> usize

Wrapping (modular) addition. Computes self + rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(200usize.wrapping_add(55), 255);\nassert_eq!(200usize.wrapping_add(usize::MAX), 199);
\n
1.66.0 (const: 1.66.0) · source

pub const fn wrapping_add_signed(self, rhs: isize) -> usize

Wrapping (modular) addition with a signed integer. Computes\nself + rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_add_signed(2), 3);\nassert_eq!(1usize.wrapping_add_signed(-2), usize::MAX);\nassert_eq!((usize::MAX - 2).wrapping_add_signed(4), 1);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_sub(self, rhs: usize) -> usize

Wrapping (modular) subtraction. Computes self - rhs,\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_sub(100), 0);\nassert_eq!(100usize.wrapping_sub(usize::MAX), 101);
\n
1.0.0 (const: 1.32.0) · source

pub const fn wrapping_mul(self, rhs: usize) -> usize

Wrapping (modular) multiplication. Computes self * rhs, wrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u8 is used here.

\n\n
assert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_div(self, rhs: usize) -> usize

Wrapping (modular) division. Computes self / rhs.\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div(10), 10);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_div_euclid(self, rhs: usize) -> usize

Wrapping Euclidean division. Computes self.div_euclid(rhs).\nWrapped division on unsigned types is just normal division.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_div_euclid(10), 10);
\n
1.2.0 (const: 1.52.0) · source

pub const fn wrapping_rem(self, rhs: usize) -> usize

Wrapping (modular) remainder. Computes self % rhs.\nWrapped remainder calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem(10), 0);
\n
1.38.0 (const: 1.52.0) · source

pub const fn wrapping_rem_euclid(self, rhs: usize) -> usize

Wrapping Euclidean modulo. Computes self.rem_euclid(rhs).\nWrapped modulo calculation on unsigned types is\njust the regular remainder calculation.\nThere’s no way wrapping could ever happen.\nThis function exists, so that all operations\nare accounted for in the wrapping operations.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.wrapping_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.wrapping_rem_euclid(10), 0);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_neg(self) -> usize

Wrapping (modular) negation. Computes -self,\nwrapping around at the boundary of the type.

\n

Since unsigned types do not have negative equivalents\nall applications of this function will wrap (except for -0).\nFor values smaller than the corresponding signed type’s maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to MAX + 1 - (val - MAX - 1) where\nMAX is the corresponding signed type’s maximum.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(0_usize.wrapping_neg(), 0);\nassert_eq!(usize::MAX.wrapping_neg(), 1);\nassert_eq!(13_usize.wrapping_neg(), (!13) + 1);\nassert_eq!(42_usize.wrapping_neg(), !(42 - 1));
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shl(self, rhs: u32) -> usize

Panic-free bitwise shift-left; yields self << mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_left function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.wrapping_shl(7), 128);\nassert_eq!(1usize.wrapping_shl(128), 1);
\n
1.2.0 (const: 1.32.0) · source

pub const fn wrapping_shr(self, rhs: u32) -> usize

Panic-free bitwise shift-right; yields self >> mask(rhs),\nwhere mask removes any high-order bits of rhs that\nwould cause the shift to exceed the bitwidth of the type.

\n

Note that this is not the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a rotate_right function,\nwhich may be what you want instead.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(128usize.wrapping_shr(7), 1);\nassert_eq!(128usize.wrapping_shr(128), 128);
\n
1.34.0 (const: 1.50.0) · source

pub const fn wrapping_pow(self, exp: u32) -> usize

Wrapping (modular) exponentiation. Computes self.pow(exp),\nwrapping around at the boundary of the type.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_add(self, rhs: usize) -> (usize, bool)

Calculates self + rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_add(2), (7, false));\nassert_eq!(usize::MAX.overflowing_add(1), (0, true));
\n
source

pub const fn carrying_add(self, rhs: usize, carry: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates self + rhs + carry and returns a tuple containing\nthe sum and the output carry.

\n

Performs “ternary addition” of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.

\n

This can be thought of as a 64-bit “full adder”, in the electronics sense.

\n

If the input carry is false, this method is equivalent to\noverflowing_add, and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    3  MAX    (a = 3 × 2^64 + 2^64 - 1)\n// +  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    9    6    (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (usize, usize) = (3, usize::MAX);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));
\n
1.66.0 (const: 1.66.0) · source

pub const fn overflowing_add_signed(self, rhs: isize) -> (usize, bool)

Calculates self + rhs with a signed rhs

\n

Returns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(1usize.overflowing_add_signed(2), (3, false));\nassert_eq!(1usize.overflowing_add_signed(-2), (usize::MAX, true));\nassert_eq!((usize::MAX - 2).overflowing_add_signed(4), (1, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_sub(self, rhs: usize) -> (usize, bool)

Calculates self - rhs

\n

Returns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_sub(2), (3, false));\nassert_eq!(0usize.overflowing_sub(1), (usize::MAX, true));
\n
source

pub const fn borrowing_sub(self, rhs: usize, borrow: bool) -> (usize, bool)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates selfrhsborrow and returns a tuple\ncontaining the difference and the output borrow.

\n

Performs “ternary subtraction” by subtracting both an integer\noperand and a borrow-in bit from self, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.

\n
§Examples
\n
#![feature(bigint_helper_methods)]\n\n//    9    6    (a = 9 × 2^64 + 6)\n// -  5    7    (b = 5 × 2^64 + 7)\n// ---------\n//    3  MAX    (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (usize, usize) = (9, 6);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, usize::MAX));
\n
1.60.0 (const: 1.60.0) · source

pub const fn abs_diff(self, other: usize) -> usize

Computes the absolute difference between self and other.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(100usize.abs_diff(80), 20usize);\nassert_eq!(100usize.abs_diff(110), 10usize);
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_mul(self, rhs: usize) -> (usize, bool)

Calculates the multiplication of self and rhs.

\n

Returns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
assert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_div(self, rhs: usize) -> (usize, bool)

Calculates the divisor when self is divided by rhs.

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div(2), (2, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_div_euclid(self, rhs: usize) -> (usize, bool)

Calculates the quotient of Euclidean division self.div_euclid(rhs).

\n

Returns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\nfalse.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self.overflowing_div(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_div_euclid(2), (2, false));
\n
1.7.0 (const: 1.52.0) · source

pub const fn overflowing_rem(self, rhs: usize) -> (usize, bool)

Calculates the remainder when self is divided by rhs.

\n

Returns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem(2), (1, false));
\n
1.38.0 (const: 1.52.0) · source

pub const fn overflowing_rem_euclid(self, rhs: usize) -> (usize, bool)

Calculates the remainder self.rem_euclid(rhs) as if by Euclidean division.

\n

Returns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways false.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to self.overflowing_rem(rhs).

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(5usize.overflowing_rem_euclid(2), (1, false));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_neg(self) -> (usize, bool)

Negates self in an overflowing fashion.

\n

Returns !self + 1 using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0usize.overflowing_neg(), (0, false));\nassert_eq!(2usize.overflowing_neg(), (-2i32 as usize, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shl(self, rhs: u32) -> (usize, bool)

Shifts self left by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x1usize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1usize.overflowing_shl(132), (0x10, true));
\n
1.7.0 (const: 1.32.0) · source

pub const fn overflowing_shr(self, rhs: u32) -> (usize, bool)

Shifts self right by rhs bits.

\n

Returns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.

\n
§Examples
\n

Basic usage

\n\n
assert_eq!(0x10usize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10usize.overflowing_shr(132), (0x1, true));
\n
1.34.0 (const: 1.50.0) · source

pub const fn overflowing_pow(self, exp: u32) -> (usize, bool)

Raises self to the power of exp, using exponentiation by squaring.

\n

Returns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(3usize.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));
\n
1.0.0 (const: 1.50.0) · source

pub const fn pow(self, exp: u32) -> usize

Raises self to the power of exp, using exponentiation by squaring.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.pow(5), 32);
\n
source

pub const fn isqrt(self) -> usize

🔬This is a nightly-only experimental API. (isqrt)

Returns the square root of the number, rounded down.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(isqrt)]\nassert_eq!(10usize.isqrt(), 3);
\n
1.38.0 (const: 1.52.0) · source

pub const fn div_euclid(self, rhs: usize) -> usize

Performs Euclidean division.

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self / rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.div_euclid(4), 1); // or any other integer type
\n
1.38.0 (const: 1.52.0) · source

pub const fn rem_euclid(self, rhs: usize) -> usize

Calculates the least remainder of self (mod rhs).

\n

Since, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to self % rhs.

\n
§Panics
\n

This function will panic if rhs is 0.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7usize.rem_euclid(4), 3); // or any other integer type
\n
source

pub const fn div_floor(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (int_roundings)

Calculates the quotient of self and rhs, rounding the result towards negative infinity.

\n

This is the same as performing self / rhs for all unsigned integers.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(int_roundings)]\nassert_eq!(7_usize.div_floor(4), 1);
\n
1.73.0 (const: 1.73.0) · source

pub const fn div_ceil(self, rhs: usize) -> usize

Calculates the quotient of self and rhs, rounding the result towards positive infinity.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(7_usize.div_ceil(4), 2);
\n
1.73.0 (const: 1.73.0) · source

pub const fn next_multiple_of(self, rhs: usize) -> usize

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs.

\n
§Panics
\n

This function will panic if rhs is zero.

\n
§Overflow behavior
\n

On overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.next_multiple_of(8), 16);\nassert_eq!(23_usize.next_multiple_of(8), 24);
\n
1.73.0 (const: 1.73.0) · source

pub const fn checked_next_multiple_of(self, rhs: usize) -> Option<usize>

Calculates the smallest value greater than or equal to self that\nis a multiple of rhs. Returns None if rhs is zero or the\noperation would result in overflow.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(16_usize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_usize.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_usize.checked_next_multiple_of(0), None);\nassert_eq!(usize::MAX.checked_next_multiple_of(2), None);
\n
1.0.0 (const: 1.32.0) · source

pub const fn is_power_of_two(self) -> bool

Returns true if and only if self == 2^k for some k.

\n
§Examples
\n

Basic usage:

\n\n
assert!(16usize.is_power_of_two());\nassert!(!10usize.is_power_of_two());
\n
1.0.0 (const: 1.50.0) · source

pub const fn next_power_of_two(self) -> usize

Returns the smallest power of two greater than or equal to self.

\n

When return value overflows (i.e., self > (1 << (N-1)) for type\nuN), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.next_power_of_two(), 2);\nassert_eq!(3usize.next_power_of_two(), 4);\nassert_eq!(0usize.next_power_of_two(), 1);
\n
1.0.0 (const: 1.50.0) · source

pub const fn checked_next_power_of_two(self) -> Option<usize>

Returns the smallest power of two greater than or equal to self. If\nthe next power of two is greater than the type’s maximum value,\nNone is returned, otherwise the power of two is wrapped in Some.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(2usize.checked_next_power_of_two(), Some(2));\nassert_eq!(3usize.checked_next_power_of_two(), Some(4));\nassert_eq!(usize::MAX.checked_next_power_of_two(), None);
\n
source

pub const fn wrapping_next_power_of_two(self) -> usize

🔬This is a nightly-only experimental API. (wrapping_next_power_of_two)

Returns the smallest power of two greater than or equal to n. If\nthe next power of two is greater than the type’s maximum value,\nthe return value is wrapped to 0.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2usize.wrapping_next_power_of_two(), 2);\nassert_eq!(3usize.wrapping_next_power_of_two(), 4);\nassert_eq!(usize::MAX.wrapping_next_power_of_two(), 0);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_be_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nbig-endian (network) byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_le_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nlittle-endian byte order.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);
\n
1.32.0 (const: 1.44.0) · source

pub const fn to_ne_bytes(self) -> [u8; 8]

Return the memory representation of this integer as a byte array in\nnative byte order.

\n

As the target platform’s native endianness is used, portable code\nshould use to_be_bytes or to_le_bytes, as appropriate,\ninstead.

\n

Note: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let bytes = 0x1234567890123456usize.to_ne_bytes();\nassert_eq!(\n    bytes,\n    if cfg!(target_endian = \"big\") {\n        [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n    } else {\n        [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n    }\n);
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_be_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in big endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_be_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_be_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_le_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its representation\nas a byte array in little endian.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_le_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_le_bytes(int_bytes.try_into().unwrap())\n}
\n
1.32.0 (const: 1.44.0) · source

pub const fn from_ne_bytes(bytes: [u8; 8]) -> usize

Create a native endian integer value from its memory representation\nas a byte array in native endianness.

\n

As the target platform’s native endianness is used, portable code\nlikely wants to use from_be_bytes or from_le_bytes, as\nappropriate instead.

\n

Note: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.

\n
§Examples
\n
let value = usize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n    [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n    [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);
\n

When starting from a slice rather than an array, fallible conversion APIs can be used:

\n\n
fn read_ne_usize(input: &mut &[u8]) -> usize {\n    let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());\n    *input = rest;\n    usize::from_ne_bytes(int_bytes.try_into().unwrap())\n}
\n
1.0.0 (const: 1.32.0) · source

pub const fn min_value() -> usize

👎Deprecating in a future version: replaced by the MIN associated constant on this type

New code should prefer to use\nusize::MIN instead.

\n

Returns the smallest value that can be represented by this integer type.

\n
1.0.0 (const: 1.32.0) · source

pub const fn max_value() -> usize

👎Deprecating in a future version: replaced by the MAX associated constant on this type

New code should prefer to use\nusize::MAX instead.

\n

Returns the largest value that can be represented by this integer type.

\n
source

pub const fn widening_mul(self, rhs: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the complete product self * rhs without the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

If you also need to add a carry to the wide result, then you want\nSelf::carrying_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));
\n
source

pub const fn carrying_mul(self, rhs: usize, carry: usize) -> (usize, usize)

🔬This is a nightly-only experimental API. (bigint_helper_methods)

Calculates the “full multiplication” self * rhs + carry\nwithout the possibility to overflow.

\n

This returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.

\n

Performs “long multiplication” which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create “big integers” which represent larger values.

\n

If you don’t need the carry, then you can use Self::widening_mul instead.

\n
§Examples
\n

Basic usage:

\n

Please note that this example is shared between integer types.\nWhich explains why u32 is used here.

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(usize::MAX.carrying_mul(usize::MAX, usize::MAX), (0, usize::MAX));
\n

This is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.

\n\n
#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec<u16>, multiplicand: u16) {\n    let mut carry = 0;\n    for d in little_endian_digits.iter_mut() {\n        (*d, carry) = d.carrying_mul(multiplicand, carry);\n    }\n    if carry != 0 {\n        little_endian_digits.push(carry);\n    }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);
\n

If carry is zero, this is similar to overflowing_mul,\nexcept that it gives the value of the overflow instead of just whether one happened:

\n\n
#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));
\n

The value of the first field in the returned tuple matches what you’d get\nby combining the wrapping_mul and\nwrapping_add methods:

\n\n
#![feature(bigint_helper_methods)]\nassert_eq!(\n    789_u16.carrying_mul(456, 123).0,\n    789_u16.wrapping_mul(456).wrapping_add(123),\n);
\n
source

pub const fn midpoint(self, rhs: usize) -> usize

🔬This is a nightly-only experimental API. (num_midpoint)

Calculates the middle point of self and rhs.

\n

midpoint(a, b) is (a + b) >> 1 as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards negative infinity and that no overflow will ever occur.

\n
§Examples
\n
#![feature(num_midpoint)]\nassert_eq!(0usize.midpoint(4), 2);\nassert_eq!(1usize.midpoint(4), 2);
\n
",0,"tor_interface::tor_provider::CircuitToken"],["
source§

impl usize

1.0.0 (const: unstable) · source

pub fn from_str_radix(src: &str, radix: u32) -> Result<usize, ParseIntError>

Converts a string slice in a given base to an integer.

\n

The string is expected to be an optional + sign\nfollowed by digits.\nLeading and trailing whitespace represent an error.\nDigits are a subset of these characters, depending on radix:

\n
    \n
  • 0-9
  • \n
  • a-z
  • \n
  • A-Z
  • \n
\n
§Panics
\n

This function panics if radix is not in the range from 2 to 36.

\n
§Examples
\n

Basic usage:

\n\n
assert_eq!(usize::from_str_radix(\"A\", 16), Ok(10));
\n
",0,"tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast16 for usize

","AtLeast16","tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast32 for usize

","AtLeast32","tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast64 for usize

","AtLeast64","tor_interface::tor_provider::CircuitToken"],["
§

impl AtLeast8 for usize

","AtLeast8","tor_interface::tor_provider::CircuitToken"],["
§

impl AtMost128 for usize

","AtMost128","tor_interface::tor_provider::CircuitToken"],["
§

impl AtMost64 for usize

","AtMost64","tor_interface::tor_provider::CircuitToken"],["
§

impl BitOps for usize

","BitOps","tor_interface::tor_provider::CircuitToken"],["
source§

impl ConstParamTy for usize

","ConstParamTy","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Copy for usize

","Copy","tor_interface::tor_provider::CircuitToken"],["
§

impl DefaultIsZeroes for usize

","DefaultIsZeroes","tor_interface::tor_provider::CircuitToken"],["
1.0.0 · source§

impl Eq for usize

","Eq","tor_interface::tor_provider::CircuitToken"],["
§

impl ExtendTarget<usize> for usize

","ExtendTarget","tor_interface::tor_provider::CircuitToken"],["
source§

impl Index for usize

","Index","tor_interface::tor_provider::CircuitToken"],["
§

impl Index for usize

","Index","tor_interface::tor_provider::CircuitToken"],["
source§

impl Integer for usize

","Integer","tor_interface::tor_provider::CircuitToken"],["
§

impl Is64 for usize

","Is64","tor_interface::tor_provider::CircuitToken"],["
§

impl NotAutoValue for usize

","NotAutoValue","tor_interface::tor_provider::CircuitToken"],["
§

impl NumericOps for usize

","NumericOps","tor_interface::tor_provider::CircuitToken"],["
source§

impl SimdCast for usize

","SimdCast","tor_interface::tor_provider::CircuitToken"],["
source§

impl StructuralPartialEq for usize

","StructuralPartialEq","tor_interface::tor_provider::CircuitToken"],["
§

impl TruncateTarget<u16> for usize

","TruncateTarget","tor_interface::tor_provider::CircuitToken"],["
§

impl TruncateTarget<u8> for usize

","TruncateTarget","tor_interface::tor_provider::CircuitToken"],["
§

impl TruncateTarget<usize> for usize

","TruncateTarget","tor_interface::tor_provider::CircuitToken"],["
source§

impl TrustedStep for usize

","TrustedStep","tor_interface::tor_provider::CircuitToken"],["
§

impl Uint for usize

","Uint","tor_interface::tor_provider::CircuitToken"],["
source§

impl Unsigned for usize

","Unsigned","tor_interface::tor_provider::CircuitToken"],["
source§

impl Weight for usize

","Weight","tor_interface::tor_provider::CircuitToken"],["
source§

impl ZeroablePrimitive for usize

","ZeroablePrimitive","tor_interface::tor_provider::CircuitToken"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/gosling.spdx.json b/gosling.spdx.json index 40fc55f0..8ea5d486 100644 --- a/gosling.spdx.json +++ b/gosling.spdx.json @@ -1,13 +1,13 @@ { "SPDXID": "SPDXRef-DOCUMENT", "creationInfo": { - "created": "2024-11-02T18:36:17.277Z", + "created": "2024-11-02T22:27:41.092Z", "creators": [ "Tool: cargo-sbom-v0.9.1" ] }, "dataLicense": "CC0-1.0", - "documentNamespace": "https://spdx.org/spdxdocs/gosling-66b57297-5859-4623-9873-c0782140c49b", + "documentNamespace": "https://spdx.org/spdxdocs/gosling-8b796651-7f0d-4c27-816d-38f6ae48eaf3", "files": [ { "SPDXID": "SPDXRef-File-gosling", @@ -37,7428 +37,8063 @@ "name": "gosling", "packages": [ { - "SPDXID": "SPDXRef-Package-pkcs8-0.10.2", - "description": "Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:\nPrivate-Key Information Syntax Specification (RFC 5208), with additional\nsupport for PKCS#8v2 asymmetric key packages (RFC 5958)\n", + "SPDXID": "SPDXRef-Package-serde-1.0.209", + "description": "A generic serialization/deserialization framework", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pkcs8@0.10.2", + "referenceLocator": "pkg:cargo/serde@1.0.209", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "pkcs8", - "versionInfo": "0.10.2" + "homepage": "https://serde.rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "serde", + "versionInfo": "1.0.209" }, { - "SPDXID": "SPDXRef-Package-serde-value-0.7.0", - "description": "Serialization value trees", + "SPDXID": "SPDXRef-Package-fnv-1.0.7", + "description": "Fowler–Noll–Vo hash function", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde-value@0.7.0", + "referenceLocator": "pkg:cargo/fnv@1.0.7", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "serde-value", - "versionInfo": "0.7.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-protover-0.22.0", - "description": "Implementation for Tor's subprotocol versioning", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-protover", - "versionInfo": "0.22.0" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 / MIT", + "name": "fnv", + "versionInfo": "1.0.7" }, { - "SPDXID": "SPDXRef-Package-typed-index-collections-3.1.0", - "description": "Typed index version of Rust slice and Vec containers", + "SPDXID": "SPDXRef-Package-inotify-sys-0.1.5", + "description": "inotify bindings for the Rust programming language", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/typed-index-collections@3.1.0", + "referenceLocator": "pkg:cargo/inotify-sys@0.1.5", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "typed-index-collections", - "versionInfo": "3.1.0" + "licenseConcluded": "ISC", + "licenseDeclared": "ISC", + "name": "inotify-sys", + "versionInfo": "0.1.5" }, { - "SPDXID": "SPDXRef-Package-libm-0.2.8", - "description": "libm in pure Rust", + "SPDXID": "SPDXRef-Package-zeroize-1.8.1", + "description": "Securely clear secrets from memory with a simple trait built on\nstable Rust primitives which guarantee memory is zeroed using an\noperation will not be 'optimized away' by the compiler.\nUses a portable pure Rust implementation that works everywhere,\neven WASM!\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/libm@0.2.8", + "referenceLocator": "pkg:cargo/zeroize@1.8.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "libm", - "versionInfo": "0.2.8" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "zeroize", + "versionInfo": "1.8.1" }, { - "SPDXID": "SPDXRef-Package-event-listener-5.3.1", - "description": "Notify async tasks or threads", + "SPDXID": "SPDXRef-Package-darling-0.20.10", + "description": "A proc-macro library for reading attributes into structs when\nimplementing custom derives.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/event-listener@5.3.1", + "referenceLocator": "pkg:cargo/darling@0.20.10", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "event-listener", - "versionInfo": "5.3.1" - }, - { - "SPDXID": "SPDXRef-Package-fs-mistrust-0.7.13", - "description": "Ensure that files can only be read or written by trusted users", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "fs-mistrust", - "versionInfo": "0.7.13" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "darling", + "versionInfo": "0.20.10" }, { - "SPDXID": "SPDXRef-Package-cipher-0.4.4", - "description": "Traits for describing block ciphers and stream ciphers", + "SPDXID": "SPDXRef-Package-tor-proto-0.24.0", + "description": "Asynchronous client-side implementation of the central Tor network protocols", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/cipher@0.4.4", + "referenceLocator": "pkg:cargo/tor-proto@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "cipher", - "versionInfo": "0.4.4" + "name": "tor-proto", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-filetime-0.2.25", - "description": "Platform-agnostic accessors of timestamps in File metadata\n", + "SPDXID": "SPDXRef-Package-ssh-key-0.6.6", + "description": "Pure Rust implementation of SSH key file format decoders/encoders as described\nin RFC4251/RFC4253 and OpenSSH key formats, as well as \"sshsig\" signatures and\ncertificates (including certificate validation and certificate authority support),\nwith further support for the `authorized_keys` and `known_hosts` file formats.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/filetime@0.2.25", + "referenceLocator": "pkg:cargo/ssh-key@0.6.6", "referenceType": "purl" } ], - "homepage": "https://github.com/alexcrichton/filetime", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "filetime", - "versionInfo": "0.2.25" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "ssh-key", + "versionInfo": "0.6.6" }, { - "SPDXID": "SPDXRef-Package-regex-automata-0.4.7", - "description": "Automata construction and matching using regular expressions.", + "SPDXID": "SPDXRef-Package-libm-0.2.8", + "description": "libm in pure Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/regex-automata@0.4.7", + "referenceLocator": "pkg:cargo/libm@0.2.8", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "regex-automata", - "versionInfo": "0.4.7" + "name": "libm", + "versionInfo": "0.2.8" }, { - "SPDXID": "SPDXRef-Package-regex-automata-0.1.10", - "description": "Automata construction and matching using regular expressions.", + "SPDXID": "SPDXRef-Package-base16ct-0.2.0", + "description": "Pure Rust implementation of Base16 a.k.a hexadecimal (RFC 4648) which avoids\nany usages of data-dependent branches/LUTs and thereby provides portable\n\"best effort\" constant-time operation and embedded-friendly no_std support\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/regex-automata@0.1.10", + "referenceLocator": "pkg:cargo/base16ct@0.2.0", "referenceType": "purl" } ], - "homepage": "https://github.com/BurntSushi/regex-automata", - "licenseConcluded": "Unlicense OR MIT", - "licenseDeclared": "Unlicense/MIT", - "name": "regex-automata", - "versionInfo": "0.1.10" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "base16ct", + "versionInfo": "0.2.0" }, { - "SPDXID": "SPDXRef-Package-mio-0.8.11", - "description": "Lightweight non-blocking I/O.", + "SPDXID": "SPDXRef-Package-lock_api-0.4.12", + "description": "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/mio@0.8.11", + "referenceLocator": "pkg:cargo/lock_api@0.4.12", "referenceType": "purl" } ], - "homepage": "https://github.com/tokio-rs/mio", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "mio", - "versionInfo": "0.8.11" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "lock_api", + "versionInfo": "0.4.12" }, { - "SPDXID": "SPDXRef-Package-concurrent-queue-2.5.0", - "description": "Concurrent multi-producer multi-consumer queue", + "SPDXID": "SPDXRef-Package-signature-2.2.0", + "description": "Traits for cryptographic signature algorithms (e.g. ECDSA, Ed25519)", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/concurrent-queue@2.5.0", + "referenceLocator": "pkg:cargo/signature@2.2.0", "referenceType": "purl" } ], "licenseConcluded": "Apache-2.0 OR MIT", "licenseDeclared": "Apache-2.0 OR MIT", - "name": "concurrent-queue", - "versionInfo": "2.5.0" + "name": "signature", + "versionInfo": "2.2.0" }, { - "SPDXID": "SPDXRef-Package-yoke-0.7.4", - "description": "Abstraction allowing borrowed data to be carried along with the backing data it borrows from", + "SPDXID": "SPDXRef-Package-ssh-cipher-0.2.0", + "description": "Pure Rust implementation of SSH symmetric encryption including support for the\nmodern aes128-gcm@openssh.com/aes256-gcm@openssh.com and\nchacha20-poly1305@openssh.com algorithms as well as legacy support for older\nciphers. Built on the pure Rust cryptography implementations maintained by the\nRustCrypto organization.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/yoke@0.7.4", + "referenceLocator": "pkg:cargo/ssh-cipher@0.2.0", "referenceType": "purl" } ], - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "yoke", - "versionInfo": "0.7.4" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "ssh-cipher", + "versionInfo": "0.2.0" }, { - "SPDXID": "SPDXRef-Package-x25519-dalek-2.0.1", - "description": "X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.", + "SPDXID": "SPDXRef-Package-icu_properties-1.5.1", + "description": "Definitions for Unicode properties", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/x25519-dalek@2.0.1", + "referenceLocator": "pkg:cargo/icu_properties@1.5.1", "referenceType": "purl" } ], - "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "x25519-dalek", - "versionInfo": "2.0.1" + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_properties", + "versionInfo": "1.5.1" }, { - "SPDXID": "SPDXRef-Package-utf16_iter-1.0.5", - "description": "Iterator by char over potentially-invalid UTF-16 in &[u16]", + "SPDXID": "SPDXRef-Package-winapi-i686-pc-windows-gnu-0.4.0", + "description": "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/utf16_iter@1.0.5", + "referenceLocator": "pkg:cargo/winapi-i686-pc-windows-gnu@0.4.0", "referenceType": "purl" } ], - "homepage": "https://docs.rs/utf16_iter/", - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "utf16_iter", - "versionInfo": "1.0.5" - }, - { - "SPDXID": "SPDXRef-Package-honk-rpc-0.3.0", - "description": "A library implementing an asynchrynous, bi-directional, dynamic, and BSON-based remote procedure call system", - "downloadLocation": "NONE", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "honk-rpc", - "versionInfo": "0.3.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "winapi-i686-pc-windows-gnu", + "versionInfo": "0.4.0" }, { - "SPDXID": "SPDXRef-Package-utf8_iter-1.0.4", - "description": "Iterator by char over potentially-invalid UTF-8 in &[u8]", + "SPDXID": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", + "description": "Experimental WASI API bindings for Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/utf8_iter@1.0.4", + "referenceLocator": "pkg:cargo/wasi@0.11.0+wasi-snapshot-preview1", "referenceType": "purl" } ], - "homepage": "https://docs.rs/utf8_iter/", - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "utf8_iter", - "versionInfo": "1.0.4" + "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "name": "wasi", + "versionInfo": "0.11.0+wasi-snapshot-preview1" }, { - "SPDXID": "SPDXRef-Package-zerocopy-derive-0.7.35", - "description": "Custom derive for traits from the zerocopy crate", + "SPDXID": "SPDXRef-Package-tor-hsclient-0.24.0", + "description": "Arti's implementation of an onion service client", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zerocopy-derive@0.7.35", + "referenceLocator": "pkg:cargo/tor-hsclient@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "BSD-2-Clause OR Apache-2.0 OR MIT", - "licenseDeclared": "BSD-2-Clause OR Apache-2.0 OR MIT", - "name": "zerocopy-derive", - "versionInfo": "0.7.35" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-hsclient", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-object-0.36.4", - "description": "A unified interface for reading and writing object file formats.", + "SPDXID": "SPDXRef-Package-hashbrown-0.14.5", + "description": "A Rust port of Google's SwissTable hash map", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/object@0.36.4", + "referenceLocator": "pkg:cargo/hashbrown@0.14.5", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "object", - "versionInfo": "0.36.4" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "hashbrown", + "versionInfo": "0.14.5" }, { - "SPDXID": "SPDXRef-Package-curve25519-dalek-4.1.3", - "description": "A pure-Rust implementation of group operations on ristretto255 and Curve25519", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/curve25519-dalek@4.1.3", - "referenceType": "purl" - } - ], - "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "curve25519-dalek", - "versionInfo": "4.1.3" + "SPDXID": "SPDXRef-Package-cgosling-proc-macros-0.0.0", + "downloadLocation": "NONE", + "licenseConcluded": "NOASSERTION", + "name": "cgosling-proc-macros", + "versionInfo": "0.0.0" }, { - "SPDXID": "SPDXRef-Package-curve25519-dalek-derive-0.1.1", - "description": "curve25519-dalek Derives", + "SPDXID": "SPDXRef-Package-futures-sink-0.3.30", + "description": "The asynchronous `Sink` trait for the futures-rs library.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/curve25519-dalek-derive@0.1.1", + "referenceLocator": "pkg:cargo/futures-sink@0.3.30", "referenceType": "purl" } ], - "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "curve25519-dalek-derive", - "versionInfo": "0.1.1" - }, - { - "SPDXID": "SPDXRef-Package-fslock-guard-0.1.5", - "description": "Wrapper around a lockfile with unlock-on-drop semantics", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "fslock-guard", - "versionInfo": "0.1.5" + "name": "futures-sink", + "versionInfo": "0.3.30" }, { - "SPDXID": "SPDXRef-Package-tokio-stream-0.1.16", - "description": "Utilities to work with `Stream` and `tokio`.\n", + "SPDXID": "SPDXRef-Package-errno-0.3.9", + "description": "Cross-platform interface to the `errno` variable.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tokio-stream@0.1.16", + "referenceLocator": "pkg:cargo/errno@0.3.9", "referenceType": "purl" } ], - "homepage": "https://tokio.rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tokio-stream", - "versionInfo": "0.1.16" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "errno", + "versionInfo": "0.3.9" }, { - "SPDXID": "SPDXRef-Package-fluid-let-1.0.0", - "description": "Dynamically scoped variables", + "SPDXID": "SPDXRef-Package-rustc-demangle-0.1.24", + "description": "Rust compiler symbol demangling.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fluid-let@1.0.0", + "referenceLocator": "pkg:cargo/rustc-demangle@0.1.24", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "fluid-let", - "versionInfo": "1.0.0" + "homepage": "https://github.com/rust-lang/rustc-demangle", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "rustc-demangle", + "versionInfo": "0.1.24" }, { - "SPDXID": "SPDXRef-Package-async-compression-0.4.12", - "description": "Adaptors between compression crates and Rust's modern asynchronous IO types.\n", + "SPDXID": "SPDXRef-Package-regex-automata-0.1.10", + "description": "Automata construction and matching using regular expressions.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/async-compression@0.4.12", + "referenceLocator": "pkg:cargo/regex-automata@0.1.10", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "async-compression", - "versionInfo": "0.4.12" + "homepage": "https://github.com/BurntSushi/regex-automata", + "licenseConcluded": "Unlicense OR MIT", + "licenseDeclared": "Unlicense/MIT", + "name": "regex-automata", + "versionInfo": "0.1.10" }, { - "SPDXID": "SPDXRef-Package-icu_properties_data-1.5.0", - "description": "Data for the icu_properties crate", + "SPDXID": "SPDXRef-Package-fs-mistrust-0.8.0", + "description": "Ensure that files can only be read or written by trusted users", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_properties_data@1.5.0", + "referenceLocator": "pkg:cargo/fs-mistrust@0.8.0", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_properties_data", - "versionInfo": "1.5.0" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "fs-mistrust", + "versionInfo": "0.8.0" }, { - "SPDXID": "SPDXRef-Package-winapi-i686-pc-windows-gnu-0.4.0", - "description": "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.", + "SPDXID": "SPDXRef-Package-cgosling-0.3.1", + "downloadLocation": "NONE", + "licenseConcluded": "NOASSERTION", + "name": "cgosling", + "versionInfo": "0.3.1" + }, + { + "SPDXID": "SPDXRef-Package-arrayvec-0.7.6", + "description": "A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/winapi-i686-pc-windows-gnu@0.4.0", + "referenceLocator": "pkg:cargo/arrayvec@0.7.6", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "winapi-i686-pc-windows-gnu", - "versionInfo": "0.4.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "arrayvec", + "versionInfo": "0.7.6" }, { - "SPDXID": "SPDXRef-Package-toml_edit-0.19.15", - "description": "Yet another format-preserving TOML parser.", + "SPDXID": "SPDXRef-Package-rustversion-1.0.17", + "description": "Conditional compilation according to rustc compiler version", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/toml_edit@0.19.15", + "referenceLocator": "pkg:cargo/rustversion@1.0.17", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "toml_edit", - "versionInfo": "0.19.15" + "name": "rustversion", + "versionInfo": "1.0.17" }, { - "SPDXID": "SPDXRef-Package-http-1.1.0", - "description": "A set of types for representing HTTP requests and responses.\n", + "SPDXID": "SPDXRef-Package-icu_locid_transform_data-1.5.0", + "description": "Data for the icu_locid_transform crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/http@1.1.0", + "referenceLocator": "pkg:cargo/icu_locid_transform_data@1.5.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "http", - "versionInfo": "1.1.0" + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_locid_transform_data", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-pin-project-lite-0.2.14", - "description": "A lightweight version of pin-project written with declarative macros.\n", + "SPDXID": "SPDXRef-Package-p384-0.13.0", + "description": "Pure Rust implementation of the NIST P-384 (a.k.a. secp384r1) elliptic curve\nas defined in SP 800-186 with support for ECDH, ECDSA signing/verification,\nand general purpose curve arithmetic support.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pin-project-lite@0.2.14", + "referenceLocator": "pkg:cargo/p384@0.13.0", "referenceType": "purl" } ], "licenseConcluded": "Apache-2.0 OR MIT", "licenseDeclared": "Apache-2.0 OR MIT", - "name": "pin-project-lite", - "versionInfo": "0.2.14" + "name": "p384", + "versionInfo": "0.13.0" }, { - "SPDXID": "SPDXRef-Package-hmac-0.12.1", - "description": "Generic implementation of Hash-based Message Authentication Code (HMAC)", + "SPDXID": "SPDXRef-Package-digest-0.10.7", + "description": "Traits for cryptographic hash functions and message authentication codes", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hmac@0.12.1", + "referenceLocator": "pkg:cargo/digest@0.10.7", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "hmac", - "versionInfo": "0.12.1" + "name": "digest", + "versionInfo": "0.10.7" }, { - "SPDXID": "SPDXRef-Package-iana-time-zone-haiku-0.1.2", - "description": "iana-time-zone support crate for Haiku OS", + "SPDXID": "SPDXRef-Package-yoke-derive-0.7.4", + "description": "Custom derive for the yoke crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/iana-time-zone-haiku@0.1.2", + "referenceLocator": "pkg:cargo/yoke-derive@0.7.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "iana-time-zone-haiku", - "versionInfo": "0.1.2" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "yoke-derive", + "versionInfo": "0.7.4" }, { - "SPDXID": "SPDXRef-Package-asn1-rs-impl-0.2.0", - "description": "Implementation details for the `asn1-rs` crate", + "SPDXID": "SPDXRef-Package-cfg-if-1.0.0", + "description": "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/asn1-rs-impl@0.2.0", + "referenceLocator": "pkg:cargo/cfg-if@1.0.0", "referenceType": "purl" } ], - "homepage": "https://github.com/rusticata/asn1-rs", + "homepage": "https://github.com/alexcrichton/cfg-if", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT/Apache-2.0", - "name": "asn1-rs-impl", - "versionInfo": "0.2.0" + "name": "cfg-if", + "versionInfo": "1.0.0" }, { - "SPDXID": "SPDXRef-Package-windows_i686_gnullvm-0.52.6", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-kqueue-1.0.8", + "description": "kqueue interface for BSDs", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_i686_gnullvm@0.52.6", + "referenceLocator": "pkg:cargo/kqueue@1.0.8", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_i686_gnullvm", - "versionInfo": "0.52.6" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "kqueue", + "versionInfo": "1.0.8" }, { - "SPDXID": "SPDXRef-Package-sha2-0.10.8", - "description": "Pure Rust implementation of the SHA-2 hash function family\nincluding SHA-224, SHA-256, SHA-384, and SHA-512.\n", + "SPDXID": "SPDXRef-Package-windows_x86_64_msvc-0.52.6", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/sha2@0.10.8", + "referenceLocator": "pkg:cargo/windows_x86_64_msvc@0.52.6", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "sha2", - "versionInfo": "0.10.8" + "name": "windows_x86_64_msvc", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-async_executors-0.7.0", - "description": "Implements Spawn, SpawnLocal and SpawnHandle for commonly used executors.", + "SPDXID": "SPDXRef-Package-data-encoding-2.6.0", + "description": "Efficient and customizable data-encoding functions like base64, base32, and hex", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/async_executors@0.7.0", + "referenceLocator": "pkg:cargo/data-encoding@2.6.0", "referenceType": "purl" } ], - "licenseConcluded": "Unlicense", - "licenseDeclared": "Unlicense", - "name": "async_executors", - "versionInfo": "0.7.0" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "data-encoding", + "versionInfo": "2.6.0" }, { - "SPDXID": "SPDXRef-Package-hostname-validator-1.1.1", - "description": "Validate hostnames according to IETF RFC 1123", + "SPDXID": "SPDXRef-Package-smallvec-1.13.2", + "description": "'Small vector' optimization: store up to a small number of items on the stack", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hostname-validator@1.1.1", + "referenceLocator": "pkg:cargo/smallvec@1.13.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "hostname-validator", - "versionInfo": "1.1.1" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "smallvec", + "versionInfo": "1.13.2" }, { - "SPDXID": "SPDXRef-Package-figment-0.10.19", - "description": "A configuration library so con-free, it's unreal.", + "SPDXID": "SPDXRef-Package-windows-sys-0.48.0", + "description": "Rust for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/figment@0.10.19", + "referenceLocator": "pkg:cargo/windows-sys@0.48.0", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "figment", - "versionInfo": "0.10.19" + "name": "windows-sys", + "versionInfo": "0.48.0" }, { - "SPDXID": "SPDXRef-Package-tinyvec-1.8.0", - "description": "`tinyvec` provides 100% safe vec-like data structures.", + "SPDXID": "SPDXRef-Package-tor-guardmgr-0.24.0", + "description": "Manage a set of guard relays for Tor network", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tinyvec@1.8.0", + "referenceLocator": "pkg:cargo/tor-guardmgr@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "Zlib OR Apache-2.0 OR MIT", - "licenseDeclared": "Zlib OR Apache-2.0 OR MIT", - "name": "tinyvec", - "versionInfo": "1.8.0" - }, + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-guardmgr", + "versionInfo": "0.24.0" + }, { - "SPDXID": "SPDXRef-Package-same-file-1.0.6", - "description": "A simple crate for determining whether two file paths point to the same file.\n", + "SPDXID": "SPDXRef-Package-nu-ansi-term-0.46.0", + "description": "Library for ANSI terminal colors and styles (bold, underline)", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/same-file@1.0.6", + "referenceLocator": "pkg:cargo/nu-ansi-term@0.46.0", "referenceType": "purl" } ], - "homepage": "https://github.com/BurntSushi/same-file", - "licenseConcluded": "Unlicense OR MIT", - "licenseDeclared": "Unlicense/MIT", - "name": "same-file", - "versionInfo": "1.0.6" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "nu-ansi-term", + "versionInfo": "0.46.0" }, { - "SPDXID": "SPDXRef-Package-unicode-ident-1.0.12", - "description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31", + "SPDXID": "SPDXRef-Package-pin-project-lite-0.2.14", + "description": "A lightweight version of pin-project written with declarative macros.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/unicode-ident@1.0.12", + "referenceLocator": "pkg:cargo/pin-project-lite@0.2.14", "referenceType": "purl" } ], - "licenseConcluded": "(MIT OR Apache-2.0) AND Unicode-DFS-2016", - "licenseDeclared": "(MIT OR Apache-2.0) AND Unicode-DFS-2016", - "name": "unicode-ident", - "versionInfo": "1.0.12" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "pin-project-lite", + "versionInfo": "0.2.14" }, { - "SPDXID": "SPDXRef-Package-ctr-0.9.2", - "description": "CTR block modes of operation", + "SPDXID": "SPDXRef-Package-windows_x86_64_gnu-0.52.6", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ctr@0.9.2", + "referenceLocator": "pkg:cargo/windows_x86_64_gnu@0.52.6", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "ctr", - "versionInfo": "0.9.2" - }, - { - "SPDXID": "SPDXRef-Package-cgosling-0.3.1", - "downloadLocation": "NONE", - "licenseConcluded": "NOASSERTION", - "name": "cgosling", - "versionInfo": "0.3.1" + "name": "windows_x86_64_gnu", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-serde_derive-1.0.209", - "description": "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]", + "SPDXID": "SPDXRef-Package-num-integer-0.1.46", + "description": "Integer traits and functions", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde_derive@1.0.209", + "referenceLocator": "pkg:cargo/num-integer@0.1.46", "referenceType": "purl" } ], - "homepage": "https://serde.rs", + "homepage": "https://github.com/rust-num/num-integer", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde_derive", - "versionInfo": "1.0.209" + "name": "num-integer", + "versionInfo": "0.1.46" }, { - "SPDXID": "SPDXRef-Package-convert_case-0.6.0", - "description": "Convert strings into any case", + "SPDXID": "SPDXRef-Package-ident_case-1.0.1", + "description": "Utility for applying case rules to Rust identifiers.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/convert_case@0.6.0", + "referenceLocator": "pkg:cargo/ident_case@1.0.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "convert_case", - "versionInfo": "0.6.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "ident_case", + "versionInfo": "1.0.1" }, { - "SPDXID": "SPDXRef-Package-asn1-rs-derive-0.5.1", - "description": "Derive macros for the `asn1-rs` crate", + "SPDXID": "SPDXRef-Package-paste-1.0.15", + "description": "Macros for all your token pasting needs", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/asn1-rs-derive@0.5.1", + "referenceLocator": "pkg:cargo/paste@1.0.15", "referenceType": "purl" } ], - "homepage": "https://github.com/rusticata/asn1-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "asn1-rs-derive", - "versionInfo": "0.5.1" + "name": "paste", + "versionInfo": "1.0.15" }, { - "SPDXID": "SPDXRef-Package-winapi-0.3.9", - "description": "Raw FFI bindings for all of Windows API.", + "SPDXID": "SPDXRef-Package-tor-chanmgr-0.24.0", + "description": "Manage a set of connections to the Tor network", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/winapi@0.3.9", + "referenceLocator": "pkg:cargo/tor-chanmgr@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "winapi", - "versionInfo": "0.3.9" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-chanmgr", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-tinystr-0.7.6", - "description": "A small ASCII-only bounded length string representation.", + "SPDXID": "SPDXRef-Package-zerocopy-derive-0.7.35", + "description": "Custom derive for traits from the zerocopy crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tinystr@0.7.6", + "referenceLocator": "pkg:cargo/zerocopy-derive@0.7.35", "referenceType": "purl" } ], - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "tinystr", - "versionInfo": "0.7.6" + "licenseConcluded": "BSD-2-Clause OR Apache-2.0 OR MIT", + "licenseDeclared": "BSD-2-Clause OR Apache-2.0 OR MIT", + "name": "zerocopy-derive", + "versionInfo": "0.7.35" }, { - "SPDXID": "SPDXRef-Package-spki-0.7.3", - "description": "X.509 Subject Public Key Info (RFC5280) describing public keys as well as their\nassociated AlgorithmIdentifiers (i.e. OIDs)\n", + "SPDXID": "SPDXRef-Package-atomic-0.5.3", + "description": "Generic Atomic wrapper type", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/spki@0.7.3", + "referenceLocator": "pkg:cargo/atomic@0.5.3", "referenceType": "purl" } ], "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "spki", - "versionInfo": "0.7.3" + "licenseDeclared": "Apache-2.0/MIT", + "name": "atomic", + "versionInfo": "0.5.3" }, { - "SPDXID": "SPDXRef-Package-shellexpand-3.1.0", - "description": "Shell-like expansions in strings", + "SPDXID": "SPDXRef-Package-wasix-0.12.21", + "description": "WASIX API bindings for Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/shellexpand@3.1.0", + "referenceLocator": "pkg:cargo/wasix@0.12.21", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "shellexpand", - "versionInfo": "3.1.0" + "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "name": "wasix", + "versionInfo": "0.12.21" }, { - "SPDXID": "SPDXRef-Package-hashlink-0.9.1", - "description": "HashMap-like containers that hold their key-value pairs in a user controllable order", + "SPDXID": "SPDXRef-Package-which-4.4.2", + "description": "A Rust equivalent of Unix command \"which\". Locate installed executable in cross platforms.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hashlink@0.9.1", + "referenceLocator": "pkg:cargo/which@4.4.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "hashlink", - "versionInfo": "0.9.1" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "which", + "versionInfo": "4.4.2" }, { - "SPDXID": "SPDXRef-Package-serde_with-3.9.0", - "description": "Custom de/serialization functions for Rust's serde", + "SPDXID": "SPDXRef-Package-radium-0.7.0", + "description": "Portable interfaces for maybe-atomic types", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde_with@3.9.0", + "referenceLocator": "pkg:cargo/radium@0.7.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde_with", - "versionInfo": "3.9.0" + "homepage": "https://github.com/bitvecto-rs/radium", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "radium", + "versionInfo": "0.7.0" }, { - "SPDXID": "SPDXRef-Package-time-macros-0.2.18", - "description": " Procedural macros for the time crate.\n This crate is an implementation detail and should not be relied upon directly.\n", + "SPDXID": "SPDXRef-Package-tor-key-forge-0.24.0", + "description": "Low level cryptography wrappers used by Tor", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/time-macros@0.2.18", + "referenceLocator": "pkg:cargo/tor-key-forge@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "time-macros", - "versionInfo": "0.2.18" + "name": "tor-key-forge", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-pin-utils-0.1.0", - "description": "Utilities for pinning\n", + "SPDXID": "SPDXRef-Package-slotmap-1.0.7", + "description": "Slotmap data structure", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pin-utils@0.1.0", + "referenceLocator": "pkg:cargo/slotmap@1.0.7", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "pin-utils", - "versionInfo": "0.1.0" + "licenseConcluded": "Zlib", + "licenseDeclared": "Zlib", + "name": "slotmap", + "versionInfo": "1.0.7" }, { - "SPDXID": "SPDXRef-Package-tempfile-3.12.0", - "description": "A library for managing temporary files and directories.", + "SPDXID": "SPDXRef-Package-windows_x86_64_gnullvm-0.52.6", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tempfile@3.12.0", + "referenceLocator": "pkg:cargo/windows_x86_64_gnullvm@0.52.6", "referenceType": "purl" } ], - "homepage": "https://stebalien.com/projects/tempfile-rs/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tempfile", - "versionInfo": "3.12.0" + "name": "windows_x86_64_gnullvm", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-idna-0.5.0", - "description": "IDNA (Internationalizing Domain Names in Applications) and Punycode.", + "SPDXID": "SPDXRef-Package-darling-0.14.4", + "description": "A proc-macro library for reading attributes into structs when\nimplementing custom derives.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/idna@0.5.0", + "referenceLocator": "pkg:cargo/darling@0.14.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "idna", - "versionInfo": "0.5.0" - }, - { - "SPDXID": "SPDXRef-Package-retry-error-0.5.4", - "description": "An error type for an operation that can fail more than once", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "retry-error", - "versionInfo": "0.5.4" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "darling", + "versionInfo": "0.14.4" }, { - "SPDXID": "SPDXRef-Package-ryu-1.0.18", - "description": "Fast floating point to string conversion", + "SPDXID": "SPDXRef-Package-crossbeam-utils-0.8.20", + "description": "Utilities for concurrent programming", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ryu@1.0.18", + "referenceLocator": "pkg:cargo/crossbeam-utils@0.8.20", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR BSL-1.0", - "licenseDeclared": "Apache-2.0 OR BSL-1.0", - "name": "ryu", - "versionInfo": "1.0.18" + "homepage": "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "crossbeam-utils", + "versionInfo": "0.8.20" }, { - "SPDXID": "SPDXRef-Package-syn-1.0.109", - "description": "Parser for Rust source code", + "SPDXID": "SPDXRef-Package-futures-channel-0.3.30", + "description": "Channels for asynchronous communication using futures-rs.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/syn@1.0.109", + "referenceLocator": "pkg:cargo/futures-channel@0.3.30", "referenceType": "purl" } ], + "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "syn", - "versionInfo": "1.0.109" + "name": "futures-channel", + "versionInfo": "0.3.30" }, { - "SPDXID": "SPDXRef-Package-futures-macro-0.3.30", - "description": "The futures-rs procedural macro implementations.\n", + "SPDXID": "SPDXRef-Package-inout-0.1.3", + "description": "Custom reference types for code generic over in-place and buffer-to-buffer modes of operation.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-macro@0.3.30", + "referenceLocator": "pkg:cargo/inout@0.1.3", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-macro", - "versionInfo": "0.3.30" + "name": "inout", + "versionInfo": "0.1.3" }, { - "SPDXID": "SPDXRef-Package-foreign-types-shared-0.1.1", - "description": "An internal crate used by foreign-types", + "SPDXID": "SPDXRef-Package-async-compression-0.4.12", + "description": "Adaptors between compression crates and Rust's modern asynchronous IO types.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/foreign-types-shared@0.1.1", + "referenceLocator": "pkg:cargo/async-compression@0.4.12", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "foreign-types-shared", - "versionInfo": "0.1.1" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "async-compression", + "versionInfo": "0.4.12" }, { - "SPDXID": "SPDXRef-Package-funty-2.0.0", - "description": "Trait generalization over the primitive types", + "SPDXID": "SPDXRef-Package-asn1-rs-impl-0.2.0", + "description": "Implementation details for the `asn1-rs` crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/funty@2.0.0", + "referenceLocator": "pkg:cargo/asn1-rs-impl@0.2.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "funty", - "versionInfo": "2.0.0" + "homepage": "https://github.com/rusticata/asn1-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "asn1-rs-impl", + "versionInfo": "0.2.0" }, { - "SPDXID": "SPDXRef-Package-byteorder-1.5.0", - "description": "Library for reading/writing numbers in big-endian and little-endian.", + "SPDXID": "SPDXRef-Package-ed25519-2.2.3", + "description": "Edwards Digital Signature Algorithm (EdDSA) over Curve25519 (as specified in RFC 8032)\nsupport library providing signature type definitions and PKCS#8 private key\ndecoding/encoding support\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/byteorder@1.5.0", + "referenceLocator": "pkg:cargo/ed25519@2.2.3", "referenceType": "purl" } ], - "homepage": "https://github.com/BurntSushi/byteorder", - "licenseConcluded": "Unlicense OR MIT", - "licenseDeclared": "Unlicense OR MIT", - "name": "byteorder", - "versionInfo": "1.5.0" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "ed25519", + "versionInfo": "2.2.3" }, { - "SPDXID": "SPDXRef-Package-itertools-0.13.0", - "description": "Extra iterator adaptors, iterator methods, free functions, and macros.", + "SPDXID": "SPDXRef-Package-socks-0.3.4", + "description": "SOCKS proxy clients", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/itertools@0.13.0", + "referenceLocator": "pkg:cargo/socks@0.3.4", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "itertools", - "versionInfo": "0.13.0" - }, - { - "SPDXID": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", - "description": "Experimental WASI API bindings for Rust", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wasi@0.11.0+wasi-snapshot-preview1", - "referenceType": "purl" - } - ], - "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", - "name": "wasi", - "versionInfo": "0.11.0+wasi-snapshot-preview1" + "licenseDeclared": "MIT/Apache-2.0", + "name": "socks", + "versionInfo": "0.3.4" }, { - "SPDXID": "SPDXRef-Package-adler2-2.0.0", - "description": "A simple clean-room implementation of the Adler-32 checksum", + "SPDXID": "SPDXRef-Package-tracing-test-0.2.5", + "description": "Helper functions and macros that allow for easier testing of crates that use `tracing`.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/adler2@2.0.0", + "referenceLocator": "pkg:cargo/tracing-test@0.2.5", "referenceType": "purl" } ], - "licenseConcluded": "0BSD OR MIT OR Apache-2.0", - "licenseDeclared": "0BSD OR MIT OR Apache-2.0", - "name": "adler2", - "versionInfo": "2.0.0" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tracing-test", + "versionInfo": "0.2.5" }, { - "SPDXID": "SPDXRef-Package-p384-0.13.0", - "description": "Pure Rust implementation of the NIST P-384 (a.k.a. secp384r1) elliptic curve\nas defined in SP 800-186 with support for ECDH, ECDSA signing/verification,\nand general purpose curve arithmetic support.\n", + "SPDXID": "SPDXRef-Package-slotmap-careful-0.2.1", + "description": "Wrap the slotmap crate and prevent key reuse", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/p384@0.13.0", + "referenceLocator": "pkg:cargo/slotmap-careful@0.2.1", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "p384", - "versionInfo": "0.13.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-bytes-0.22.0", - "description": "Helpers for encoding and decoding byte-orientted data, as used by Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-bytes", - "versionInfo": "0.22.0" + "name": "slotmap-careful", + "versionInfo": "0.2.1" }, { - "SPDXID": "SPDXRef-Package-windows_i686_msvc-0.48.5", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-either-1.13.0", + "description": "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_i686_msvc@0.48.5", + "referenceLocator": "pkg:cargo/either@1.13.0", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_i686_msvc", - "versionInfo": "0.48.5" + "name": "either", + "versionInfo": "1.13.0" }, { - "SPDXID": "SPDXRef-Package-fallible-iterator-0.3.0", - "description": "Fallible iterator traits", + "SPDXID": "SPDXRef-Package-convert_case-0.6.0", + "description": "Convert strings into any case", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fallible-iterator@0.3.0", + "referenceLocator": "pkg:cargo/convert_case@0.6.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "fallible-iterator", - "versionInfo": "0.3.0" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "convert_case", + "versionInfo": "0.6.0" }, { - "SPDXID": "SPDXRef-Package-winnow-0.6.18", - "description": "A byte-oriented, zero-copy, parser combinators library", + "SPDXID": "SPDXRef-Package-windows-sys-0.59.0", + "description": "Rust for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/winnow@0.6.18", + "referenceLocator": "pkg:cargo/windows-sys@0.59.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "winnow", - "versionInfo": "0.6.18" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows-sys", + "versionInfo": "0.59.0" }, { - "SPDXID": "SPDXRef-Package-openssl-macros-0.1.1", - "description": "Internal macros used by the openssl crate.", + "SPDXID": "SPDXRef-Package-inotify-0.10.2", + "description": "Idiomatic wrapper for inotify", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/openssl-macros@0.1.1", + "referenceLocator": "pkg:cargo/inotify@0.10.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "openssl-macros", - "versionInfo": "0.1.1" + "licenseConcluded": "ISC", + "licenseDeclared": "ISC", + "name": "inotify", + "versionInfo": "0.10.2" }, { - "SPDXID": "SPDXRef-Package-fslock-arti-fork-0.2.0", - "description": "A library to use files as locks, forked for use in Arti.", + "SPDXID": "SPDXRef-Package-windows_i686_gnu-0.52.6", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fslock-arti-fork@0.2.0", + "referenceLocator": "pkg:cargo/windows_i686_gnu@0.52.6", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "fslock-arti-fork", - "versionInfo": "0.2.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows_i686_gnu", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-crossbeam-queue-0.3.11", - "description": "Concurrent queues", + "SPDXID": "SPDXRef-Package-httparse-1.9.4", + "description": "A tiny, safe, speedy, zero-copy HTTP/1.x parser.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/crossbeam-queue@0.3.11", + "referenceLocator": "pkg:cargo/httparse@1.9.4", "referenceType": "purl" } ], - "homepage": "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-queue", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "crossbeam-queue", - "versionInfo": "0.3.11" + "name": "httparse", + "versionInfo": "1.9.4" }, { - "SPDXID": "SPDXRef-Package-writeable-0.5.5", - "description": "A more efficient alternative to fmt::Display", + "SPDXID": "SPDXRef-Package-libsqlite3-sys-0.30.1", + "description": "Native bindings to the libsqlite3 library", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/writeable@0.5.5", + "referenceLocator": "pkg:cargo/libsqlite3-sys@0.30.1", "referenceType": "purl" } ], - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "writeable", - "versionInfo": "0.5.5" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "libsqlite3-sys", + "versionInfo": "0.30.1" }, { - "SPDXID": "SPDXRef-Package-pin-project-internal-1.1.5", - "description": "Implementation detail of the `pin-project` crate.\n", + "SPDXID": "SPDXRef-Package-bytes-1.7.1", + "description": "Types and traits for working with bytes", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pin-project-internal@1.1.5", + "referenceLocator": "pkg:cargo/bytes@1.7.1", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "pin-project-internal", - "versionInfo": "1.1.5" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "bytes", + "versionInfo": "1.7.1" }, { - "SPDXID": "SPDXRef-Package-rsa-0.9.6", - "description": "Pure Rust RSA implementation", + "SPDXID": "SPDXRef-Package-ppv-lite86-0.2.20", + "description": "Implementation of the crypto-simd API for x86", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rsa@0.9.6", + "referenceLocator": "pkg:cargo/ppv-lite86@0.2.20", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "rsa", - "versionInfo": "0.9.6" + "licenseDeclared": "MIT/Apache-2.0", + "name": "ppv-lite86", + "versionInfo": "0.2.20" }, { - "SPDXID": "SPDXRef-Package-sha3-0.10.8", - "description": "Pure Rust implementation of SHA-3, a family of Keccak-based hash functions\nincluding the SHAKE family of eXtendable-Output Functions (XOFs), as well as\nthe accelerated variant TurboSHAKE\n", + "SPDXID": "SPDXRef-Package-postage-0.5.0", + "description": "An async channel library", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/sha3@0.10.8", + "referenceLocator": "pkg:cargo/postage@0.5.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "sha3", - "versionInfo": "0.10.8" + "homepage": "https://github.com/austinjones/postage-rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "postage", + "versionInfo": "0.5.0" }, { - "SPDXID": "SPDXRef-Package-serde_json-1.0.128", - "description": "A JSON serialization file format", + "SPDXID": "SPDXRef-Package-proc-macro2-1.0.86", + "description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde_json@1.0.128", + "referenceLocator": "pkg:cargo/proc-macro2@1.0.86", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde_json", - "versionInfo": "1.0.128" + "name": "proc-macro2", + "versionInfo": "1.0.86" }, { - "SPDXID": "SPDXRef-Package-derive-deftly-macros-0.14.2", - "description": "Macros that implement the derive_deftly crate", + "SPDXID": "SPDXRef-Package-generic-array-0.14.7", + "description": "Generic types implementing functionality of arrays", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive-deftly-macros@0.14.2", + "referenceLocator": "pkg:cargo/generic-array@0.14.7", "referenceType": "purl" } ], - "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-deftly", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "derive-deftly-macros", - "versionInfo": "0.14.2" + "name": "generic-array", + "versionInfo": "0.14.7" }, { - "SPDXID": "SPDXRef-Package-thread_local-1.1.8", - "description": "Per-object thread-local storage", + "SPDXID": "SPDXRef-Package-parking-2.2.0", + "description": "Thread parking and unparking", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/thread_local@1.1.8", + "referenceLocator": "pkg:cargo/parking@2.2.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "thread_local", - "versionInfo": "1.1.8" + "homepage": "https://github.com/smol-rs/parking", + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "parking", + "versionInfo": "2.2.0" }, { - "SPDXID": "SPDXRef-Package-home-0.5.9", - "description": "Shared definitions of home directories.", + "SPDXID": "SPDXRef-Package-winapi-x86_64-pc-windows-gnu-0.4.0", + "description": "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/home@0.5.9", + "referenceLocator": "pkg:cargo/winapi-x86_64-pc-windows-gnu@0.4.0", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "home", - "versionInfo": "0.5.9" + "licenseDeclared": "MIT/Apache-2.0", + "name": "winapi-x86_64-pc-windows-gnu", + "versionInfo": "0.4.0" }, { - "SPDXID": "SPDXRef-Package-sanitize-filename-0.5.0", - "description": "A simple filename sanitizer, based on Node's sanitize-filename", + "SPDXID": "SPDXRef-Package-void-1.0.2", + "description": "The uninhabited void type for use in statically impossible cases.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/sanitize-filename@0.5.0", + "referenceLocator": "pkg:cargo/void@1.0.2", "referenceType": "purl" } ], "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "sanitize-filename", - "versionInfo": "0.5.0" + "name": "void", + "versionInfo": "1.0.2" }, { - "SPDXID": "SPDXRef-Package-ordered-float-2.10.1", - "description": "Wrappers for total ordering on floats", + "SPDXID": "SPDXRef-Package-rand-0.8.5", + "description": "Random number generators and other randomness functionality.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ordered-float@2.10.1", + "referenceLocator": "pkg:cargo/rand@0.8.5", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "ordered-float", - "versionInfo": "2.10.1" + "homepage": "https://rust-random.github.io/book", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "rand", + "versionInfo": "0.8.5" }, { - "SPDXID": "SPDXRef-Package-bounded-vec-deque-0.1.1", - "description": "A double-ended queue|ringbuffer with an upper bound on its length.", + "SPDXID": "SPDXRef-Package-strum_macros-0.26.4", + "description": "Helpful macros for working with enums and strings", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bounded-vec-deque@0.1.1", + "referenceLocator": "pkg:cargo/strum_macros@0.26.4", "referenceType": "purl" } ], - "licenseConcluded": "GPL-3.0-or-later OR BSD-3-Clause", - "licenseDeclared": "GPL-3.0+ OR BSD-3-Clause", - "name": "bounded-vec-deque", - "versionInfo": "0.1.1" + "homepage": "https://github.com/Peternator7/strum", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "strum_macros", + "versionInfo": "0.26.4" }, { - "SPDXID": "SPDXRef-Package-p521-0.13.3", - "description": "Pure Rust implementation of the NIST P-521 (a.k.a. secp521r1) elliptic curve\nas defined in SP 800-186\n", + "SPDXID": "SPDXRef-Package-libc-0.2.158", + "description": "Raw FFI bindings to platform libraries like libc.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/p521@0.13.3", + "referenceLocator": "pkg:cargo/libc@0.2.158", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "p521", - "versionInfo": "0.13.3" + "homepage": "https://github.com/rust-lang/libc", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "libc", + "versionInfo": "0.2.158" }, { - "SPDXID": "SPDXRef-Package-coarsetime-0.1.34", - "description": "Time and duration crate optimized for speed", + "SPDXID": "SPDXRef-Package-parking_lot_core-0.9.10", + "description": "An advanced API for creating custom synchronization primitives.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/coarsetime@0.1.34", + "referenceLocator": "pkg:cargo/parking_lot_core@0.9.10", "referenceType": "purl" } ], - "homepage": "https://github.com/jedisct1/rust-coarsetime", - "licenseConcluded": "ISC", - "licenseDeclared": "ISC", - "name": "coarsetime", - "versionInfo": "0.1.34" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "parking_lot_core", + "versionInfo": "0.9.10" }, { - "SPDXID": "SPDXRef-Package-toml_datetime-0.6.8", - "description": "A TOML-compatible datetime type", + "SPDXID": "SPDXRef-Package-futures-io-0.3.30", + "description": "The `AsyncRead`, `AsyncWrite`, `AsyncSeek`, and `AsyncBufRead` traits for the futures-rs library.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/toml_datetime@0.6.8", + "referenceLocator": "pkg:cargo/futures-io@0.3.30", "referenceType": "purl" } ], - "homepage": "https://github.com/toml-rs/toml", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "toml_datetime", - "versionInfo": "0.6.8" - }, - { - "SPDXID": "SPDXRef-Package-tor-config-0.22.0", - "description": "Low-level configuration for the Arti Tor implementation", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-config", - "versionInfo": "0.22.0" + "name": "futures-io", + "versionInfo": "0.3.30" }, { - "SPDXID": "SPDXRef-Package-rustix-0.38.36", - "description": "Safe Rust bindings to POSIX/Unix/Linux/Winsock-like syscalls", + "SPDXID": "SPDXRef-Package-tor-bytes-0.24.0", + "description": "Helpers for encoding and decoding byte-orientted data, as used by Tor", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rustix@0.38.36", + "referenceLocator": "pkg:cargo/tor-bytes@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", - "name": "rustix", - "versionInfo": "0.38.36" - }, - { - "SPDXID": "SPDXRef-Package-arti-client-0.22.0", - "description": "Library for connecting to the Tor network as an anonymous client", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "arti-client", - "versionInfo": "0.22.0" + "name": "tor-bytes", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-windows_x86_64_gnullvm-0.48.5", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-tor-config-path-0.24.0", + "description": "Low-level file path handling for configuration of the Arti Tor implementation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_x86_64_gnullvm@0.48.5", + "referenceLocator": "pkg:cargo/tor-config-path@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_x86_64_gnullvm", - "versionInfo": "0.48.5" + "name": "tor-config-path", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-base64ct-1.6.0", - "description": "Pure Rust implementation of Base64 (RFC 4648) which avoids any usages of\ndata-dependent branches/LUTs and thereby provides portable \"best effort\"\nconstant-time operation and embedded-friendly no_std support\n", + "SPDXID": "SPDXRef-Package-tor-cert-0.24.0", + "description": "Non-standard certificate formats used by Tor", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/base64ct@1.6.0", + "referenceLocator": "pkg:cargo/tor-cert@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "base64ct", - "versionInfo": "1.6.0" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-cert", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-amplify-4.7.0", - "description": "Amplifying Rust language capabilities: multiple generic trait implementations, type wrappers, derive macros", + "SPDXID": "SPDXRef-Package-serde_json-1.0.128", + "description": "A JSON serialization file format", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/amplify@4.7.0", + "referenceLocator": "pkg:cargo/serde_json@1.0.128", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-amplify", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "amplify", - "versionInfo": "4.7.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "serde_json", + "versionInfo": "1.0.128" }, { - "SPDXID": "SPDXRef-Package-darling_macro-0.20.10", - "description": "Internal support for a proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", + "SPDXID": "SPDXRef-Package-iana-time-zone-0.1.60", + "description": "get the IANA time zone for the current system", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/darling_macro@0.20.10", + "referenceLocator": "pkg:cargo/iana-time-zone@0.1.60", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "darling_macro", - "versionInfo": "0.20.10" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "iana-time-zone", + "versionInfo": "0.1.60" }, { - "SPDXID": "SPDXRef-Package-icu_provider-1.5.0", - "description": "Trait and struct definitions for the ICU data provider", + "SPDXID": "SPDXRef-Package-rsa-0.9.6", + "description": "Pure Rust RSA implementation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_provider@1.5.0", + "referenceLocator": "pkg:cargo/rsa@0.9.6", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_provider", - "versionInfo": "1.5.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "rsa", + "versionInfo": "0.9.6" }, { - "SPDXID": "SPDXRef-Package-rand_chacha-0.3.1", - "description": "ChaCha random number generator\n", + "SPDXID": "SPDXRef-Package-thiserror-1.0.63", + "description": "derive(Error)", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rand_chacha@0.3.1", + "referenceLocator": "pkg:cargo/thiserror@1.0.63", "referenceType": "purl" } ], - "homepage": "https://rust-random.github.io/book", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "rand_chacha", - "versionInfo": "0.3.1" + "name": "thiserror", + "versionInfo": "1.0.63" }, { - "SPDXID": "SPDXRef-Package-num-traits-0.2.19", - "description": "Numeric traits for generic mathematics", + "SPDXID": "SPDXRef-Package-bitflags-1.3.2", + "description": "A macro to generate structures which behave like bitflags.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num-traits@0.2.19", + "referenceLocator": "pkg:cargo/bitflags@1.3.2", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-num/num-traits", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "num-traits", - "versionInfo": "0.2.19" - }, - { - "SPDXID": "SPDXRef-Package-tor-hsclient-0.22.0", - "description": "Arti's implementation of an onion service client", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "homepage": "https://github.com/bitflags/bitflags", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-hsclient", - "versionInfo": "0.22.0" + "licenseDeclared": "MIT/Apache-2.0", + "name": "bitflags", + "versionInfo": "1.3.2" }, { - "SPDXID": "SPDXRef-Package-asn1-rs-0.6.2", - "description": "Parser/encoder for ASN.1 BER/DER data", + "SPDXID": "SPDXRef-Package-unicode-bidi-0.3.15", + "description": "Implementation of the Unicode Bidirectional Algorithm", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/asn1-rs@0.6.2", + "referenceLocator": "pkg:cargo/unicode-bidi@0.3.15", "referenceType": "purl" } ], - "homepage": "https://github.com/rusticata/asn1-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "asn1-rs", - "versionInfo": "0.6.2" + "name": "unicode-bidi", + "versionInfo": "0.3.15" }, { - "SPDXID": "SPDXRef-Package-futures-util-0.3.30", - "description": "Common utilities and extension traits for the futures-rs library.\n", + "SPDXID": "SPDXRef-Package-sanitize-filename-0.5.0", + "description": "A simple filename sanitizer, based on Node's sanitize-filename", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-util@0.3.30", + "referenceLocator": "pkg:cargo/sanitize-filename@0.5.0", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-util", - "versionInfo": "0.3.30" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "sanitize-filename", + "versionInfo": "0.5.0" }, { - "SPDXID": "SPDXRef-Package-heck-0.4.1", - "description": "heck is a case conversion library.", + "SPDXID": "SPDXRef-Package-dirs-sys-0.4.1", + "description": "System-level helper functions for the dirs and directories crates.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/heck@0.4.1", + "referenceLocator": "pkg:cargo/dirs-sys@0.4.1", "referenceType": "purl" } ], - "homepage": "https://github.com/withoutboats/heck", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "heck", + "name": "dirs-sys", "versionInfo": "0.4.1" }, { - "SPDXID": "SPDXRef-Package-openssl-0.10.66", - "description": "OpenSSL bindings", + "SPDXID": "SPDXRef-Package-displaydoc-0.2.5", + "description": "A derive macro for implementing the display Trait via a doc comment and string interpolation\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/openssl@0.10.66", + "referenceLocator": "pkg:cargo/displaydoc@0.2.5", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0", - "licenseDeclared": "Apache-2.0", - "name": "openssl", - "versionInfo": "0.10.66" + "homepage": "https://github.com/yaahc/displaydoc", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "displaydoc", + "versionInfo": "0.2.5" }, { - "SPDXID": "SPDXRef-Package-rfc6979-0.4.0", - "description": "Pure Rust implementation of RFC6979: Deterministic Usage of the\nDigital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)\n", + "SPDXID": "SPDXRef-Package-zstd-sys-2.0.13+zstd.1.5.6", + "description": "Low-level bindings for the zstd compression library.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rfc6979@0.4.0", + "referenceLocator": "pkg:cargo/zstd-sys@2.0.13+zstd.1.5.6", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "rfc6979", - "versionInfo": "0.4.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "zstd-sys", + "versionInfo": "2.0.13+zstd.1.5.6" }, { - "SPDXID": "SPDXRef-Package-tracing-test-macro-0.2.5", - "description": "A procedural macro that allow for easier testing of crates that use `tracing`.\n\nInternal crate, should only be used through the `tracing-test` crate.\n", + "SPDXID": "SPDXRef-Package-zstd-0.13.2", + "description": "Binding for the zstd compression library.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tracing-test-macro@0.2.5", + "referenceLocator": "pkg:cargo/zstd@0.13.2", "referenceType": "purl" } ], "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "tracing-test-macro", - "versionInfo": "0.2.5" + "name": "zstd", + "versionInfo": "0.13.2" }, { - "SPDXID": "SPDXRef-Package-derive-adhoc-0.7.3", - "description": "An ergonomic way to write derive() macros", + "SPDXID": "SPDXRef-Package-spin-0.9.8", + "description": "Spin-based synchronization primitives", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive-adhoc@0.7.3", + "referenceLocator": "pkg:cargo/spin@0.9.8", "referenceType": "purl" } ], - "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-adhoc", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "derive-adhoc", - "versionInfo": "0.7.3" + "name": "spin", + "versionInfo": "0.9.8" }, { - "SPDXID": "SPDXRef-Package-icu_normalizer-1.5.0", - "description": "API for normalizing text into Unicode Normalization Forms", + "SPDXID": "SPDXRef-Package-unicode-ident-1.0.12", + "description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_normalizer@1.5.0", + "referenceLocator": "pkg:cargo/unicode-ident@1.0.12", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_normalizer", - "versionInfo": "1.5.0" + "licenseConcluded": "(MIT OR Apache-2.0) AND Unicode-DFS-2016", + "licenseDeclared": "(MIT OR Apache-2.0) AND Unicode-DFS-2016", + "name": "unicode-ident", + "versionInfo": "1.0.12" }, { - "SPDXID": "SPDXRef-Package-tracing-test-0.2.5", - "description": "Helper functions and macros that allow for easier testing of crates that use `tracing`.\n", + "SPDXID": "SPDXRef-Package-memchr-2.7.4", + "description": "Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for\n1, 2 or 3 byte search and single substring search.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tracing-test@0.2.5", + "referenceLocator": "pkg:cargo/memchr@2.7.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tracing-test", - "versionInfo": "0.2.5" + "homepage": "https://github.com/BurntSushi/memchr", + "licenseConcluded": "Unlicense OR MIT", + "licenseDeclared": "Unlicense OR MIT", + "name": "memchr", + "versionInfo": "2.7.4" }, { - "SPDXID": "SPDXRef-Package-serde-1.0.209", - "description": "A generic serialization/deserialization framework", + "SPDXID": "SPDXRef-Package-downcast-rs-1.2.1", + "description": "Trait object downcasting support using only safe Rust. It supports type\nparameters, associated types, and type constraints.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde@1.0.209", + "referenceLocator": "pkg:cargo/downcast-rs@1.2.1", "referenceType": "purl" } ], - "homepage": "https://serde.rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde", - "versionInfo": "1.0.209" - }, - { - "SPDXID": "SPDXRef-Package-tor-error-0.22.0", - "description": "Provides the unified type-erased error type returned by many (esp. high-level) Tor APIs.", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-error", - "versionInfo": "0.22.0" + "licenseDeclared": "MIT/Apache-2.0", + "name": "downcast-rs", + "versionInfo": "1.2.1" }, { - "SPDXID": "SPDXRef-Package-fiat-crypto-0.2.9", - "description": "Fiat-crypto generated Rust", + "SPDXID": "SPDXRef-Package-socket2-0.5.7", + "description": "Utilities for handling networking sockets with a maximal amount of configuration\npossible intended.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fiat-crypto@0.2.9", + "referenceLocator": "pkg:cargo/socket2@0.5.7", "referenceType": "purl" } ], - "homepage": "https://github.com/mit-plv/fiat-crypto", - "licenseConcluded": "MIT OR Apache-2.0 OR BSD-1-Clause", - "licenseDeclared": "MIT OR Apache-2.0 OR BSD-1-Clause", - "name": "fiat-crypto", - "versionInfo": "0.2.9" + "homepage": "https://github.com/rust-lang/socket2", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "socket2", + "versionInfo": "0.5.7" }, { - "SPDXID": "SPDXRef-Package-zstd-sys-2.0.13+zstd.1.5.6", - "description": "Low-level bindings for the zstd compression library.", + "SPDXID": "SPDXRef-Package-async-native-tls-0.5.0", + "description": "Native TLS using futures\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zstd-sys@2.0.13+zstd.1.5.6", + "referenceLocator": "pkg:cargo/async-native-tls@0.5.0", "referenceType": "purl" } ], + "homepage": "https://docs.rs/crate/async-native-tls/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT/Apache-2.0", - "name": "zstd-sys", - "versionInfo": "2.0.13+zstd.1.5.6" + "name": "async-native-tls", + "versionInfo": "0.5.0" }, { - "SPDXID": "SPDXRef-Package-serde_with_macros-3.9.0", - "description": "proc-macro library for serde_with", + "SPDXID": "SPDXRef-Package-tor-rtcompat-0.24.0", + "description": "Compatibility layer for asynchronous runtimes, used by Tor", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde_with_macros@3.9.0", + "referenceLocator": "pkg:cargo/tor-rtcompat@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde_with_macros", - "versionInfo": "3.9.0" + "name": "tor-rtcompat", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-proc-macro-crate-1.3.1", - "description": "Replacement for crate (macro_rules keyword) in proc-macros\n", + "SPDXID": "SPDXRef-Package-tor-hsservice-0.24.0", + "description": "Arti's implementation of an onion service provider", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/proc-macro-crate@1.3.1", + "referenceLocator": "pkg:cargo/tor-hsservice@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "proc-macro-crate", - "versionInfo": "1.3.1" + "name": "tor-hsservice", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-windows-targets-0.48.5", - "description": "Import libs for Windows", + "SPDXID": "SPDXRef-Package-hostname-validator-1.1.1", + "description": "Validate hostnames according to IETF RFC 1123", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows-targets@0.48.5", + "referenceLocator": "pkg:cargo/hostname-validator@1.1.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows-targets", - "versionInfo": "0.48.5" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "hostname-validator", + "versionInfo": "1.1.1" }, { - "SPDXID": "SPDXRef-Package-matchers-0.1.0", - "description": "Regex matching on character and byte streams.\n", + "SPDXID": "SPDXRef-Package-openssl-probe-0.1.5", + "description": "Tool for helping to find SSL certificate locations on the system for OpenSSL\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/matchers@0.1.0", + "referenceLocator": "pkg:cargo/openssl-probe@0.1.5", "referenceType": "purl" } ], - "homepage": "https://github.com/hawkw/matchers", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "matchers", - "versionInfo": "0.1.0" + "homepage": "https://github.com/alexcrichton/openssl-probe", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "openssl-probe", + "versionInfo": "0.1.5" }, { - "SPDXID": "SPDXRef-Package-hashbrown-0.12.3", - "description": "A Rust port of Google's SwissTable hash map", + "SPDXID": "SPDXRef-Package-adler2-2.0.0", + "description": "A simple clean-room implementation of the Adler-32 checksum", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hashbrown@0.12.3", + "referenceLocator": "pkg:cargo/adler2@2.0.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "hashbrown", - "versionInfo": "0.12.3" - }, - { - "SPDXID": "SPDXRef-Package-tor-units-0.22.0", - "description": "Provides macros for types which are constrained within a range, ensuring invalid values are unrepresentable.", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-units", - "versionInfo": "0.22.0" + "licenseConcluded": "0BSD OR MIT OR Apache-2.0", + "licenseDeclared": "0BSD OR MIT OR Apache-2.0", + "name": "adler2", + "versionInfo": "2.0.0" }, { - "SPDXID": "SPDXRef-Package-js-sys-0.3.70", - "description": "Bindings for all JS global objects and functions in all JS environments like\nNode.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` crate.\n", + "SPDXID": "SPDXRef-Package-curve25519-dalek-derive-0.1.1", + "description": "curve25519-dalek Derives", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/js-sys@0.3.70", + "referenceLocator": "pkg:cargo/curve25519-dalek-derive@0.1.1", "referenceType": "purl" } ], - "homepage": "https://rustwasm.github.io/wasm-bindgen/", + "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "js-sys", - "versionInfo": "0.3.70" + "licenseDeclared": "MIT/Apache-2.0", + "name": "curve25519-dalek-derive", + "versionInfo": "0.1.1" }, { - "SPDXID": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", - "description": "Rust macro to automatically implement the builder pattern for arbitrary structs.", + "SPDXID": "SPDXRef-Package-async_executors-0.7.0", + "description": "Implements Spawn, SpawnLocal and SpawnHandle for commonly used executors.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive_builder_fork_arti@0.11.2", + "referenceLocator": "pkg:cargo/async_executors@0.7.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "derive_builder_fork_arti", - "versionInfo": "0.11.2" + "licenseConcluded": "Unlicense", + "licenseDeclared": "Unlicense", + "name": "async_executors", + "versionInfo": "0.7.0" }, { - "SPDXID": "SPDXRef-Package-amplify_derive-4.0.1", - "description": "Powerful derivation macros; part of the 'amplify' library", + "SPDXID": "SPDXRef-Package-tokio-stream-0.1.16", + "description": "Utilities to work with `Stream` and `tokio`.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/amplify_derive@4.0.1", + "referenceLocator": "pkg:cargo/tokio-stream@0.1.16", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-amplify", - "licenseConcluded": "Apache-2.0", - "licenseDeclared": "Apache-2.0", - "name": "amplify_derive", - "versionInfo": "4.0.1" + "homepage": "https://tokio.rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tokio-stream", + "versionInfo": "0.1.16" }, { - "SPDXID": "SPDXRef-Package-security-framework-sys-2.11.1", - "description": "Apple `Security.framework` low-level FFI bindings", + "SPDXID": "SPDXRef-Package-android_system_properties-0.1.5", + "description": "Minimal Android system properties wrapper", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/security-framework-sys@2.11.1", + "referenceLocator": "pkg:cargo/android_system_properties@0.1.5", "referenceType": "purl" } ], - "homepage": "https://lib.rs/crates/security-framework-sys", + "homepage": "https://github.com/nical/android_system_properties", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "security-framework-sys", - "versionInfo": "2.11.1" + "licenseDeclared": "MIT/Apache-2.0", + "name": "android_system_properties", + "versionInfo": "0.1.5" }, { - "SPDXID": "SPDXRef-Package-openssl-probe-0.1.5", - "description": "Tool for helping to find SSL certificate locations on the system for OpenSSL\n", + "SPDXID": "SPDXRef-Package-arti-client-0.24.0", + "description": "Library for connecting to the Tor network as an anonymous client", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/openssl-probe@0.1.5", + "referenceLocator": "pkg:cargo/arti-client@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/alexcrichton/openssl-probe", + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "openssl-probe", - "versionInfo": "0.1.5" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "arti-client", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-ed25519-2.2.3", - "description": "Edwards Digital Signature Algorithm (EdDSA) over Curve25519 (as specified in RFC 8032)\nsupport library providing signature type definitions and PKCS#8 private key\ndecoding/encoding support\n", + "SPDXID": "SPDXRef-Package-subtle-2.6.1", + "description": "Pure-Rust traits and utilities for constant-time cryptographic implementations.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ed25519@2.2.3", + "referenceLocator": "pkg:cargo/subtle@2.6.1", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "ed25519", - "versionInfo": "2.2.3" + "homepage": "https://dalek.rs/", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "subtle", + "versionInfo": "2.6.1" }, { - "SPDXID": "SPDXRef-Package-tracing-log-0.2.0", - "description": "Provides compatibility between `tracing` and the `log` crate.\n", + "SPDXID": "SPDXRef-Package-iana-time-zone-haiku-0.1.2", + "description": "iana-time-zone support crate for Haiku OS", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tracing-log@0.2.0", + "referenceLocator": "pkg:cargo/iana-time-zone-haiku@0.1.2", "referenceType": "purl" } ], - "homepage": "https://tokio.rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tracing-log", - "versionInfo": "0.2.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "iana-time-zone-haiku", + "versionInfo": "0.1.2" }, { - "SPDXID": "SPDXRef-Package-base64-0.22.1", - "description": "encodes and decodes base64 as bytes or utf8", + "SPDXID": "SPDXRef-Package-walkdir-2.5.0", + "description": "Recursively walk a directory.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/base64@0.22.1", + "referenceLocator": "pkg:cargo/walkdir@2.5.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "base64", - "versionInfo": "0.22.1" + "homepage": "https://github.com/BurntSushi/walkdir", + "licenseConcluded": "Unlicense OR MIT", + "licenseDeclared": "Unlicense/MIT", + "name": "walkdir", + "versionInfo": "2.5.0" }, { - "SPDXID": "SPDXRef-Package-inout-0.1.3", - "description": "Custom reference types for code generic over in-place and buffer-to-buffer modes of operation.", + "SPDXID": "SPDXRef-Package-zerovec-0.10.4", + "description": "Zero-copy vector backed by a byte array", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/inout@0.1.3", + "referenceLocator": "pkg:cargo/zerovec@0.10.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "inout", - "versionInfo": "0.1.3" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "zerovec", + "versionInfo": "0.10.4" }, { - "SPDXID": "SPDXRef-Package-native-tls-0.2.12", - "description": "A wrapper over a platform's native TLS implementation", + "SPDXID": "SPDXRef-Package-sha3-0.10.8", + "description": "Pure Rust implementation of SHA-3, a family of Keccak-based hash functions\nincluding the SHAKE family of eXtendable-Output Functions (XOFs), as well as\nthe accelerated variant TurboSHAKE\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/native-tls@0.2.12", + "referenceLocator": "pkg:cargo/sha3@0.10.8", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "native-tls", - "versionInfo": "0.2.12" + "name": "sha3", + "versionInfo": "0.10.8" }, { - "SPDXID": "SPDXRef-Package-tokio-1.40.0", - "description": "An event-driven, non-blocking I/O platform for writing asynchronous I/O\nbacked applications.\n", + "SPDXID": "SPDXRef-Package-phf_shared-0.11.2", + "description": "Support code shared by PHF libraries", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tokio@1.40.0", + "referenceLocator": "pkg:cargo/phf_shared@0.11.2", "referenceType": "purl" } ], - "homepage": "https://tokio.rs", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "tokio", - "versionInfo": "1.40.0" + "name": "phf_shared", + "versionInfo": "0.11.2" }, { - "SPDXID": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2", - "description": "Rust macro to automatically implement the builder pattern for arbitrary structs.", + "SPDXID": "SPDXRef-Package-lzma-sys-0.1.20", + "description": "Raw bindings to liblzma which contains an implementation of LZMA and xz stream\nencoding/decoding.\n\nHigh level Rust bindings are available in the `xz2` crate.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive_builder_macro_fork_arti@0.11.2", + "referenceLocator": "pkg:cargo/lzma-sys@0.1.20", "referenceType": "purl" } ], + "homepage": "https://github.com/alexcrichton/xz2-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT/Apache-2.0", - "name": "derive_builder_macro_fork_arti", - "versionInfo": "0.11.2" + "name": "lzma-sys", + "versionInfo": "0.1.20" }, { - "SPDXID": "SPDXRef-Package-wyz-0.5.1", - "description": "myrrlyn’s utility collection", + "SPDXID": "SPDXRef-Package-tor-cell-0.24.0", + "description": "Encode and decode Tor cells and messages", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wyz@0.5.1", + "referenceLocator": "pkg:cargo/tor-cell@0.24.0", "referenceType": "purl" } ], - "homepage": "https://myrrlyn.net/crates/wyz", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "wyz", - "versionInfo": "0.5.1" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-cell", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-merlin-3.0.0", - "description": "Composable proof transcripts for public-coin arguments of knowledge", + "SPDXID": "SPDXRef-Package-byteorder-1.5.0", + "description": "Library for reading/writing numbers in big-endian and little-endian.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/merlin@3.0.0", + "referenceLocator": "pkg:cargo/byteorder@1.5.0", "referenceType": "purl" } ], - "homepage": "https://docs.rs/merlin", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "merlin", - "versionInfo": "3.0.0" + "homepage": "https://github.com/BurntSushi/byteorder", + "licenseConcluded": "Unlicense OR MIT", + "licenseDeclared": "Unlicense OR MIT", + "name": "byteorder", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-wasix-0.12.21", - "description": "WASIX API bindings for Rust", + "SPDXID": "SPDXRef-Package-indexmap-2.5.0", + "description": "A hash table with consistent order and fast iteration.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wasix@0.12.21", + "referenceLocator": "pkg:cargo/indexmap@2.5.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", - "name": "wasix", - "versionInfo": "0.12.21" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "indexmap", + "versionInfo": "2.5.0" }, { - "SPDXID": "SPDXRef-Package-k12-0.3.0", - "description": "Pure Rust implementation of the KangarooTwelve hash function", + "SPDXID": "SPDXRef-Package-httpdate-1.0.3", + "description": "HTTP date parsing and formatting", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/k12@0.3.0", + "referenceLocator": "pkg:cargo/httpdate@1.0.3", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "k12", - "versionInfo": "0.3.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "httpdate", + "versionInfo": "1.0.3" }, { - "SPDXID": "SPDXRef-Package-time-0.3.36", - "description": "Date and time library. Fully interoperable with the standard library. Mostly compatible with #![no_std].", + "SPDXID": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2", + "description": "Internal helper library for the derive_builder crate.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/time@0.3.36", + "referenceLocator": "pkg:cargo/derive_builder_core_fork_arti@0.11.2", "referenceType": "purl" } ], - "homepage": "https://time-rs.github.io", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "time", - "versionInfo": "0.3.36" + "licenseDeclared": "MIT/Apache-2.0", + "name": "derive_builder_core_fork_arti", + "versionInfo": "0.11.2" }, { - "SPDXID": "SPDXRef-Package-walkdir-2.5.0", - "description": "Recursively walk a directory.", + "SPDXID": "SPDXRef-Package-chrono-0.4.38", + "description": "Date and time library for Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/walkdir@2.5.0", + "referenceLocator": "pkg:cargo/chrono@0.4.38", "referenceType": "purl" } ], - "homepage": "https://github.com/BurntSushi/walkdir", - "licenseConcluded": "Unlicense OR MIT", - "licenseDeclared": "Unlicense/MIT", - "name": "walkdir", - "versionInfo": "2.5.0" + "homepage": "https://github.com/chronotope/chrono", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "chrono", + "versionInfo": "0.4.38" }, { - "SPDXID": "SPDXRef-Package-inotify-sys-0.1.5", - "description": "inotify bindings for the Rust programming language", + "SPDXID": "SPDXRef-Package-data-encoding-macro-0.1.15", + "description": "Macros for data-encoding", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/inotify-sys@0.1.5", + "referenceLocator": "pkg:cargo/data-encoding-macro@0.1.15", "referenceType": "purl" } ], - "licenseConcluded": "ISC", - "licenseDeclared": "ISC", - "name": "inotify-sys", - "versionInfo": "0.1.5" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "data-encoding-macro", + "versionInfo": "0.1.15" }, { - "SPDXID": "SPDXRef-Package-android_system_properties-0.1.5", - "description": "Minimal Android system properties wrapper", + "SPDXID": "SPDXRef-Package-data-encoding-macro-internal-0.1.13", + "description": "Internal library for data-encoding-macro", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/android_system_properties@0.1.5", + "referenceLocator": "pkg:cargo/data-encoding-macro-internal@0.1.13", "referenceType": "purl" } ], - "homepage": "https://github.com/nical/android_system_properties", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "android_system_properties", - "versionInfo": "0.1.5" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "data-encoding-macro-internal", + "versionInfo": "0.1.13" }, { - "SPDXID": "SPDXRef-Package-inotify-0.9.6", - "description": "Idiomatic wrapper for inotify", + "SPDXID": "SPDXRef-Package-regex-automata-0.4.7", + "description": "Automata construction and matching using regular expressions.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/inotify@0.9.6", + "referenceLocator": "pkg:cargo/regex-automata@0.4.7", "referenceType": "purl" } ], - "licenseConcluded": "ISC", - "licenseDeclared": "ISC", - "name": "inotify", - "versionInfo": "0.9.6" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "regex-automata", + "versionInfo": "0.4.7" }, { - "SPDXID": "SPDXRef-Package-miniz_oxide-0.7.4", - "description": "DEFLATE compression and decompression library rewritten in Rust based on miniz", + "SPDXID": "SPDXRef-Package-strum-0.25.0", + "description": "Helpful macros for working with enums and strings", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/miniz_oxide@0.7.4", + "referenceLocator": "pkg:cargo/strum@0.25.0", "referenceType": "purl" } ], - "homepage": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", - "licenseConcluded": "MIT OR Zlib OR Apache-2.0", - "licenseDeclared": "MIT OR Zlib OR Apache-2.0", - "name": "miniz_oxide", - "versionInfo": "0.7.4" - }, - { - "SPDXID": "SPDXRef-Package-tor-rtmock-0.22.0", - "description": "Testing mock support for tor-rtcomapt", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-rtmock", - "versionInfo": "0.22.0" + "homepage": "https://github.com/Peternator7/strum", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "strum", + "versionInfo": "0.25.0" }, { - "SPDXID": "SPDXRef-Package-form_urlencoded-1.2.1", - "description": "Parser and serializer for the application/x-www-form-urlencoded syntax, as used by HTML forms.", + "SPDXID": "SPDXRef-Package-domain-0.10.0", + "description": "A DNS library for Rust.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/form_urlencoded@1.2.1", + "referenceLocator": "pkg:cargo/domain@0.10.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "form_urlencoded", - "versionInfo": "1.2.1" - }, - { - "SPDXID": "SPDXRef-Package-lazy_static-1.5.0", - "description": "A macro for declaring lazily evaluated statics in Rust.", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/lazy_static@1.5.0", - "referenceType": "purl" - } - ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "lazy_static", - "versionInfo": "1.5.0" + "homepage": "https://github.com/nlnetlabs/domain/", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "domain", + "versionInfo": "0.10.0" }, { - "SPDXID": "SPDXRef-Package-primeorder-0.13.6", - "description": "Pure Rust implementation of complete addition formulas for prime order elliptic\ncurves (Renes-Costello-Batina 2015). Generic over field elements and curve\nequation coefficients\n", + "SPDXID": "SPDXRef-Package-tracing-subscriber-0.3.18", + "description": "Utilities for implementing and composing `tracing` subscribers.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/primeorder@0.13.6", + "referenceLocator": "pkg:cargo/tracing-subscriber@0.3.18", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "primeorder", - "versionInfo": "0.13.6" - }, - { - "SPDXID": "SPDXRef-Package-tor-consdiff-0.22.0", - "description": "Handle the consensus-diff format used in the Tor directory protocol", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-consdiff", - "versionInfo": "0.22.0" + "homepage": "https://tokio.rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tracing-subscriber", + "versionInfo": "0.3.18" }, { - "SPDXID": "SPDXRef-Package-base64-0.13.1", - "description": "encodes and decodes base64 as bytes or utf8", + "SPDXID": "SPDXRef-Package-xz2-0.1.7", + "description": "Rust bindings to liblzma providing Read/Write streams as well as low-level\nin-memory encoding/decoding.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/base64@0.13.1", + "referenceLocator": "pkg:cargo/xz2@0.1.7", "referenceType": "purl" } ], + "homepage": "https://github.com/alexcrichton/xz2-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT/Apache-2.0", - "name": "base64", - "versionInfo": "0.13.1" + "name": "xz2", + "versionInfo": "0.1.7" }, { - "SPDXID": "SPDXRef-Package-scopeguard-1.2.0", - "description": "A RAII scope guard that will run a given closure when it goes out of scope,\neven if the code between panics (assuming unwinding panic).\n\nDefines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as\nshorthands for guards with one of the implemented strategies.\n", + "SPDXID": "SPDXRef-Package-derive-deftly-macros-0.14.2", + "description": "Macros that implement the derive_deftly crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/scopeguard@1.2.0", + "referenceLocator": "pkg:cargo/derive-deftly-macros@0.14.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "scopeguard", - "versionInfo": "1.2.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-llcrypto-0.22.0", - "description": "Low level cryptography wrappers used by Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-llcrypto", - "versionInfo": "0.22.0" + "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-deftly", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "derive-deftly-macros", + "versionInfo": "0.14.2" }, { - "SPDXID": "SPDXRef-Package-aes-0.8.4", - "description": "Pure Rust implementation of the Advanced Encryption Standard (a.k.a. Rijndael)", + "SPDXID": "SPDXRef-Package-figment-0.10.19", + "description": "A configuration library so con-free, it's unreal.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/aes@0.8.4", + "referenceLocator": "pkg:cargo/figment@0.10.19", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "aes", - "versionInfo": "0.8.4" + "name": "figment", + "versionInfo": "0.10.19" }, { - "SPDXID": "SPDXRef-Package-xxhash-rust-0.8.12", - "description": "Implementation of xxhash", + "SPDXID": "SPDXRef-Package-aho-corasick-1.1.3", + "description": "Fast multiple substring searching.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/xxhash-rust@0.8.12", + "referenceLocator": "pkg:cargo/aho-corasick@1.1.3", "referenceType": "purl" } ], - "licenseConcluded": "BSL-1.0", - "licenseDeclared": "BSL-1.0", - "name": "xxhash-rust", - "versionInfo": "0.8.12" + "homepage": "https://github.com/BurntSushi/aho-corasick", + "licenseConcluded": "Unlicense OR MIT", + "licenseDeclared": "Unlicense OR MIT", + "name": "aho-corasick", + "versionInfo": "1.1.3" }, { - "SPDXID": "SPDXRef-Package-once_cell-1.19.0", - "description": "Single assignment cells and lazy values.", + "SPDXID": "SPDXRef-Package-deranged-0.3.11", + "description": "Ranged integers", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/once_cell@1.19.0", + "referenceLocator": "pkg:cargo/deranged@0.3.11", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "once_cell", - "versionInfo": "1.19.0" + "name": "deranged", + "versionInfo": "0.3.11" }, { - "SPDXID": "SPDXRef-Package-async-trait-0.1.82", - "description": "Type erasure for async trait methods", + "SPDXID": "SPDXRef-Package-tor-circmgr-0.24.0", + "description": "Manage a set of anonymous circuits over the Tor network", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/async-trait@0.1.82", + "referenceLocator": "pkg:cargo/tor-circmgr@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "async-trait", - "versionInfo": "0.1.82" + "name": "tor-circmgr", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-rand_core-0.6.4", - "description": "Core random number generator traits and tools for implementation.\n", + "SPDXID": "SPDXRef-Package-core-foundation-sys-0.8.7", + "description": "Bindings to Core Foundation for macOS", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rand_core@0.6.4", + "referenceLocator": "pkg:cargo/core-foundation-sys@0.8.7", "referenceType": "purl" } ], - "homepage": "https://rust-random.github.io/book", + "homepage": "https://github.com/servo/core-foundation-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "rand_core", - "versionInfo": "0.6.4" + "name": "core-foundation-sys", + "versionInfo": "0.8.7" }, { - "SPDXID": "SPDXRef-Package-icu_provider_macros-1.5.0", - "description": "Proc macros for ICU data providers", + "SPDXID": "SPDXRef-Package-heck-0.4.1", + "description": "heck is a case conversion library.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_provider_macros@1.5.0", + "referenceLocator": "pkg:cargo/heck@0.4.1", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_provider_macros", - "versionInfo": "1.5.0" + "homepage": "https://github.com/withoutboats/heck", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "heck", + "versionInfo": "0.4.1" }, { - "SPDXID": "SPDXRef-Package-libredox-0.1.3", - "description": "Redox stable ABI", + "SPDXID": "SPDXRef-Package-tor-rtmock-0.24.0", + "description": "Testing mock support for tor-rtcomapt", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/libredox@0.1.3", + "referenceLocator": "pkg:cargo/tor-rtmock@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "libredox", - "versionInfo": "0.1.3" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-rtmock", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-linux-raw-sys-0.4.14", - "description": "Generated bindings for Linux's userspace API", + "SPDXID": "SPDXRef-Package-sec1-0.7.3", + "description": "Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats\nincluding ASN.1 DER-serialized private keys as well as the\nElliptic-Curve-Point-to-Octet-String encoding\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/linux-raw-sys@0.4.14", + "referenceLocator": "pkg:cargo/sec1@0.7.3", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", - "name": "linux-raw-sys", - "versionInfo": "0.4.14" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "sec1", + "versionInfo": "0.7.3" }, { - "SPDXID": "SPDXRef-Package-strsim-0.11.1", - "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein,\nOSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice.\n", + "SPDXID": "SPDXRef-Package-hermit-abi-0.3.9", + "description": "Hermit system calls definitions.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/strsim@0.11.1", + "referenceLocator": "pkg:cargo/hermit-abi@0.3.9", "referenceType": "purl" } ], - "homepage": "https://github.com/rapidfuzz/strsim-rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "strsim", - "versionInfo": "0.11.1" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "hermit-abi", + "versionInfo": "0.3.9" }, { - "SPDXID": "SPDXRef-Package-errno-0.3.9", - "description": "Cross-platform interface to the `errno` variable.", + "SPDXID": "SPDXRef-Package-memmap2-0.9.4", + "description": "Cross-platform Rust API for memory-mapped file IO", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/errno@0.3.9", + "referenceLocator": "pkg:cargo/memmap2@0.9.4", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "errno", - "versionInfo": "0.3.9" + "name": "memmap2", + "versionInfo": "0.9.4" }, { - "SPDXID": "SPDXRef-Package-strum-0.26.3", - "description": "Helpful macros for working with enums and strings", + "SPDXID": "SPDXRef-Package-tokio-1.40.0", + "description": "An event-driven, non-blocking I/O platform for writing asynchronous I/O\nbacked applications.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/strum@0.26.3", + "referenceLocator": "pkg:cargo/tokio@1.40.0", "referenceType": "purl" } ], - "homepage": "https://github.com/Peternator7/strum", + "homepage": "https://tokio.rs", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "strum", - "versionInfo": "0.26.3" - }, - { - "SPDXID": "SPDXRef-Package-tor-basic-utils-0.22.0", - "description": "General helpers used by Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-basic-utils", - "versionInfo": "0.22.0" + "name": "tokio", + "versionInfo": "1.40.0" }, { - "SPDXID": "SPDXRef-Package-windows_i686_msvc-0.52.6", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-fslock-guard-0.2.0", + "description": "Wrapper around a lockfile with unlock-on-drop semantics", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_i686_msvc@0.52.6", + "referenceLocator": "pkg:cargo/fslock-guard@0.2.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_i686_msvc", - "versionInfo": "0.52.6" + "name": "fslock-guard", + "versionInfo": "0.2.0" }, { - "SPDXID": "SPDXRef-Package-keccak-0.1.5", - "description": "Pure Rust implementation of the Keccak sponge function including the keccak-f\nand keccak-p variants\n", + "SPDXID": "SPDXRef-Package-spki-0.7.3", + "description": "X.509 Subject Public Key Info (RFC5280) describing public keys as well as their\nassociated AlgorithmIdentifiers (i.e. OIDs)\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/keccak@0.1.5", + "referenceLocator": "pkg:cargo/spki@0.7.3", "referenceType": "purl" } ], "licenseConcluded": "Apache-2.0 OR MIT", "licenseDeclared": "Apache-2.0 OR MIT", - "name": "keccak", - "versionInfo": "0.1.5" + "name": "spki", + "versionInfo": "0.7.3" }, { - "SPDXID": "SPDXRef-Package-windows-targets-0.52.6", - "description": "Import libs for Windows", + "SPDXID": "SPDXRef-Package-mio-1.0.2", + "description": "Lightweight non-blocking I/O.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows-targets@0.52.6", + "referenceLocator": "pkg:cargo/mio@1.0.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows-targets", - "versionInfo": "0.52.6" - }, - { - "SPDXID": "SPDXRef-Package-paste-1.0.15", - "description": "Macros for all your token pasting needs", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/paste@1.0.15", - "referenceType": "purl" - } - ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "paste", - "versionInfo": "1.0.15" + "homepage": "https://github.com/tokio-rs/mio", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "mio", + "versionInfo": "1.0.2" }, { - "SPDXID": "SPDXRef-Package-slab-0.4.9", - "description": "Pre-allocated storage for a uniform data type", + "SPDXID": "SPDXRef-Package-toml_datetime-0.6.8", + "description": "A TOML-compatible datetime type", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/slab@0.4.9", + "referenceLocator": "pkg:cargo/toml_datetime@0.6.8", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "slab", - "versionInfo": "0.4.9" + "homepage": "https://github.com/toml-rs/toml", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "toml_datetime", + "versionInfo": "0.6.8" }, { - "SPDXID": "SPDXRef-Package-async-native-tls-0.5.0", - "description": "Native TLS using futures\n", + "SPDXID": "SPDXRef-Package-rand_chacha-0.3.1", + "description": "ChaCha random number generator\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/async-native-tls@0.5.0", + "referenceLocator": "pkg:cargo/rand_chacha@0.3.1", "referenceType": "purl" } ], - "homepage": "https://docs.rs/crate/async-native-tls/", + "homepage": "https://rust-random.github.io/book", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "async-native-tls", - "versionInfo": "0.5.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "rand_chacha", + "versionInfo": "0.3.1" }, { - "SPDXID": "SPDXRef-Package-indexmap-2.5.0", - "description": "A hash table with consistent order and fast iteration.", + "SPDXID": "SPDXRef-Package-itertools-0.11.0", + "description": "Extra iterator adaptors, iterator methods, free functions, and macros.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/indexmap@2.5.0", + "referenceLocator": "pkg:cargo/itertools@0.11.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "indexmap", - "versionInfo": "2.5.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "itertools", + "versionInfo": "0.11.0" }, { - "SPDXID": "SPDXRef-Package-pwd-grp-0.1.1", - "description": "Access Unix passwords and groups", + "SPDXID": "SPDXRef-Package-rand_core-0.6.4", + "description": "Core random number generator traits and tools for implementation.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pwd-grp@0.1.1", + "referenceLocator": "pkg:cargo/rand_core@0.6.4", "referenceType": "purl" } ], - "homepage": "https://gitlab.torproject.org/tpo/core/rust-pwd-grp", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "pwd-grp", - "versionInfo": "0.1.1" + "homepage": "https://rust-random.github.io/book", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "rand_core", + "versionInfo": "0.6.4" }, { - "SPDXID": "SPDXRef-Package-toml_edit-0.22.20", - "description": "Yet another format-preserving TOML parser.", + "SPDXID": "SPDXRef-Package-directories-5.0.1", + "description": "A tiny mid-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows and macOS by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/toml_edit@0.22.20", + "referenceLocator": "pkg:cargo/directories@5.0.1", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "toml_edit", - "versionInfo": "0.22.20" + "name": "directories", + "versionInfo": "5.0.1" }, { - "SPDXID": "SPDXRef-Package-idna-1.0.2", - "description": "IDNA (Internationalizing Domain Names in Applications) and Punycode.", + "SPDXID": "SPDXRef-Package-kqueue-sys-1.0.4", + "description": "Low-level kqueue interface for BSDs", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/idna@1.0.2", + "referenceLocator": "pkg:cargo/kqueue-sys@1.0.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "idna", - "versionInfo": "1.0.2" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "kqueue-sys", + "versionInfo": "1.0.4" }, { - "SPDXID": "SPDXRef-Package-thiserror-1.0.63", - "description": "derive(Error)", + "SPDXID": "SPDXRef-Package-tor-memquota-0.24.0", + "description": "Memory use tracking and quota utilities, used by Tor software", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/thiserror@1.0.63", + "referenceLocator": "pkg:cargo/tor-memquota@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "thiserror", - "versionInfo": "1.0.63" + "name": "tor-memquota", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-sec1-0.7.3", - "description": "Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats\nincluding ASN.1 DER-serialized private keys as well as the\nElliptic-Curve-Point-to-Octet-String encoding\n", + "SPDXID": "SPDXRef-Package-tokio-util-0.7.12", + "description": "Additional utilities for working with Tokio.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/sec1@0.7.3", + "referenceLocator": "pkg:cargo/tokio-util@0.7.12", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "sec1", - "versionInfo": "0.7.3" + "homepage": "https://tokio.rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tokio-util", + "versionInfo": "0.7.12" }, { - "SPDXID": "SPDXRef-Package-cpufeatures-0.2.13", - "description": "Lightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets, \nwith no_std support and support for mobile targets including Android and iOS\n", + "SPDXID": "SPDXRef-Package-tor-hscrypto-0.24.0", + "description": "Basic onion service cryptography types used by Aerti", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/cpufeatures@0.2.13", + "referenceLocator": "pkg:cargo/tor-hscrypto@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "cpufeatures", - "versionInfo": "0.2.13" + "name": "tor-hscrypto", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-fallible-streaming-iterator-0.1.9", - "description": "Fallible streaming iteration", + "SPDXID": "SPDXRef-Package-tor-protover-0.24.0", + "description": "Implementation for Tor's subprotocol versioning", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fallible-streaming-iterator@0.1.9", + "referenceLocator": "pkg:cargo/tor-protover@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "fallible-streaming-iterator", - "versionInfo": "0.1.9" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-protover", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-overload-0.1.1", - "description": "Provides a macro to simplify operator overloading.", + "SPDXID": "SPDXRef-Package-security-framework-sys-2.11.1", + "description": "Apple `Security.framework` low-level FFI bindings", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/overload@0.1.1", + "referenceLocator": "pkg:cargo/security-framework-sys@2.11.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "overload", - "versionInfo": "0.1.1" - }, - { - "SPDXID": "SPDXRef-Package-tor-key-forge-0.22.0", - "description": "Low level cryptography wrappers used by Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-key-forge", - "versionInfo": "0.22.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-hsservice-0.22.0", - "description": "Arti's implementation of an onion service provider", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "homepage": "https://lib.rs/crates/security-framework-sys", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-hsservice", - "versionInfo": "0.22.0" + "name": "security-framework-sys", + "versionInfo": "2.11.1" }, { - "SPDXID": "SPDXRef-Package-percent-encoding-2.3.1", - "description": "Percent encoding and decoding", + "SPDXID": "SPDXRef-Package-zstd-safe-7.2.1", + "description": "Safe low-level bindings for the zstd compression library.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/percent-encoding@2.3.1", + "referenceLocator": "pkg:cargo/zstd-safe@7.2.1", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "percent-encoding", - "versionInfo": "2.3.1" + "licenseDeclared": "MIT/Apache-2.0", + "name": "zstd-safe", + "versionInfo": "7.2.1" }, { - "SPDXID": "SPDXRef-Package-deranged-0.3.11", - "description": "Ranged integers", + "SPDXID": "SPDXRef-Package-toml_edit-0.19.15", + "description": "Yet another format-preserving TOML parser.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/deranged@0.3.11", + "referenceLocator": "pkg:cargo/toml_edit@0.19.15", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "deranged", - "versionInfo": "0.3.11" + "name": "toml_edit", + "versionInfo": "0.19.15" }, { - "SPDXID": "SPDXRef-Package-windows_aarch64_msvc-0.48.5", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-tor-log-ratelim-0.24.0", + "description": "Facility for rate-limiting log messages in Arti", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_aarch64_msvc@0.48.5", + "referenceLocator": "pkg:cargo/tor-log-ratelim@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_aarch64_msvc", - "versionInfo": "0.48.5" + "name": "tor-log-ratelim", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-httpdate-1.0.3", - "description": "HTTP date parsing and formatting", + "SPDXID": "SPDXRef-Package-wasm-bindgen-macro-0.2.93", + "description": "Definition of the `#[wasm_bindgen]` attribute, an internal dependency\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/httpdate@1.0.3", + "referenceLocator": "pkg:cargo/wasm-bindgen-macro@0.2.93", "referenceType": "purl" } ], + "homepage": "https://rustwasm.github.io/wasm-bindgen/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "httpdate", - "versionInfo": "1.0.3" + "name": "wasm-bindgen-macro", + "versionInfo": "0.2.93" }, { - "SPDXID": "SPDXRef-Package-parking_lot-0.12.3", - "description": "More compact and efficient implementations of the standard synchronization primitives.", + "SPDXID": "SPDXRef-Package-ecdsa-0.16.9", + "description": "Pure Rust implementation of the Elliptic Curve Digital Signature Algorithm\n(ECDSA) as specified in FIPS 186-4 (Digital Signature Standard), providing\nRFC6979 deterministic signatures as well as support for added entropy\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/parking_lot@0.12.3", + "referenceLocator": "pkg:cargo/ecdsa@0.16.9", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "parking_lot", - "versionInfo": "0.12.3" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "ecdsa", + "versionInfo": "0.16.9" }, { - "SPDXID": "SPDXRef-Package-syn-2.0.77", - "description": "Parser for Rust source code", + "SPDXID": "SPDXRef-Package-darling_core-0.14.4", + "description": "Helper crate for proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/syn@2.0.77", + "referenceLocator": "pkg:cargo/darling_core@0.14.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "syn", - "versionInfo": "2.0.77" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "darling_core", + "versionInfo": "0.14.4" }, { - "SPDXID": "SPDXRef-Package-bson-2.11.0", - "description": "Encoding and decoding support for BSON in Rust", + "SPDXID": "SPDXRef-Package-growable-bloom-filter-2.1.0", + "description": "Scalable Bloom Filters with serde support", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bson@2.11.0", + "referenceLocator": "pkg:cargo/growable-bloom-filter@2.1.0", "referenceType": "purl" } ], + "homepage": "https://github.com/dpbriggs/growable-bloom-filters", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "bson", - "versionInfo": "2.11.0" + "name": "growable-bloom-filter", + "versionInfo": "2.1.0" }, { - "SPDXID": "SPDXRef-Package-subtle-2.6.1", - "description": "Pure-Rust traits and utilities for constant-time cryptographic implementations.", + "SPDXID": "SPDXRef-Package-zerofrom-derive-0.1.4", + "description": "Custom derive for the zerofrom crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/subtle@2.6.1", + "referenceLocator": "pkg:cargo/zerofrom-derive@0.1.4", "referenceType": "purl" } ], - "homepage": "https://dalek.rs/", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "subtle", - "versionInfo": "2.6.1" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "zerofrom-derive", + "versionInfo": "0.1.4" }, { - "SPDXID": "SPDXRef-Package-ecdsa-0.16.9", - "description": "Pure Rust implementation of the Elliptic Curve Digital Signature Algorithm\n(ECDSA) as specified in FIPS 186-4 (Digital Signature Standard), providing\nRFC6979 deterministic signatures as well as support for added entropy\n", + "SPDXID": "SPDXRef-Package-elliptic-curve-0.13.8", + "description": "General purpose Elliptic Curve Cryptography (ECC) support, including types\nand traits for representing various elliptic curve forms, scalars, points,\nand public/secret keys composed thereof.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ecdsa@0.16.9", + "referenceLocator": "pkg:cargo/elliptic-curve@0.13.8", "referenceType": "purl" } ], "licenseConcluded": "Apache-2.0 OR MIT", "licenseDeclared": "Apache-2.0 OR MIT", - "name": "ecdsa", - "versionInfo": "0.16.9" + "name": "elliptic-curve", + "versionInfo": "0.13.8" }, { - "SPDXID": "SPDXRef-Package-siphasher-0.3.11", - "description": "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust", + "SPDXID": "SPDXRef-Package-futures-macro-0.3.30", + "description": "The futures-rs procedural macro implementations.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/siphasher@0.3.11", + "referenceLocator": "pkg:cargo/futures-macro@0.3.30", "referenceType": "purl" } ], - "homepage": "https://docs.rs/siphasher", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "siphasher", - "versionInfo": "0.3.11" - }, - { - "SPDXID": "SPDXRef-Package-tor-chanmgr-0.22.0", - "description": "Manage a set of connections to the Tor network", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-chanmgr", - "versionInfo": "0.22.0" + "name": "futures-macro", + "versionInfo": "0.3.30" }, { - "SPDXID": "SPDXRef-Package-nom-7.1.3", - "description": "A byte-oriented, zero-copy, parser combinators library", + "SPDXID": "SPDXRef-Package-tinyvec_macros-0.1.1", + "description": "Some macros for tiny containers", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/nom@7.1.3", + "referenceLocator": "pkg:cargo/tinyvec_macros@0.1.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "nom", - "versionInfo": "7.1.3" - }, - { - "SPDXID": "SPDXRef-Package-tor-dirclient-0.22.0", - "description": "Downloads specific Tor network directory objects over the Tor network", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-dirclient", - "versionInfo": "0.22.0" + "licenseConcluded": "MIT OR Apache-2.0 OR Zlib", + "licenseDeclared": "MIT OR Apache-2.0 OR Zlib", + "name": "tinyvec_macros", + "versionInfo": "0.1.1" }, { - "SPDXID": "SPDXRef-Package-flate2-1.0.33", - "description": "DEFLATE compression and decompression exposed as Read/BufRead/Write streams.\nSupports miniz_oxide and multiple zlib implementations. Supports zlib, gzip,\nand raw deflate streams.\n", + "SPDXID": "SPDXRef-Package-os_str_bytes-6.6.1", + "description": "Convert between byte sequences and platform-native strings\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/flate2@1.0.33", + "referenceLocator": "pkg:cargo/os_str_bytes@6.6.1", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-lang/flate2-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "flate2", - "versionInfo": "1.0.33" - }, - { - "SPDXID": "SPDXRef-Package-tor-memquota-0.22.0", - "description": "Memory use tracking and quota utilities, used by Tor software", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-memquota", - "versionInfo": "0.22.0" + "name": "os_str_bytes", + "versionInfo": "6.6.1" }, { - "SPDXID": "SPDXRef-Package-futures-executor-0.3.30", - "description": "Executors for asynchronous tasks based on the futures-rs library.\n", + "SPDXID": "SPDXRef-Package-idna-0.5.0", + "description": "IDNA (Internationalizing Domain Names in Applications) and Punycode.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-executor@0.3.30", + "referenceLocator": "pkg:cargo/idna@0.5.0", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-executor", - "versionInfo": "0.3.30" + "name": "idna", + "versionInfo": "0.5.0" }, { - "SPDXID": "SPDXRef-Package-group-0.13.0", - "description": "Elliptic curve group traits and utilities", + "SPDXID": "SPDXRef-Package-tor-async-utils-0.24.0", + "description": "Async/futures helpers for use with Tor", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/group@0.13.0", + "referenceLocator": "pkg:cargo/tor-async-utils@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/zkcrypto/group", + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "group", - "versionInfo": "0.13.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-async-utils", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-memmap2-0.9.4", - "description": "Cross-platform Rust API for memory-mapped file IO", + "SPDXID": "SPDXRef-Package-fallible-iterator-0.3.0", + "description": "Fallible iterator traits", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/memmap2@0.9.4", + "referenceLocator": "pkg:cargo/fallible-iterator@0.3.0", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "memmap2", - "versionInfo": "0.9.4" + "licenseDeclared": "MIT/Apache-2.0", + "name": "fallible-iterator", + "versionInfo": "0.3.0" }, { - "SPDXID": "SPDXRef-Package-zerovec-0.10.4", - "description": "Zero-copy vector backed by a byte array", + "SPDXID": "SPDXRef-Package-indexmap-1.9.3", + "description": "A hash table with consistent order and fast iteration.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zerovec@0.10.4", + "referenceLocator": "pkg:cargo/indexmap@1.9.3", "referenceType": "purl" } ], - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "zerovec", - "versionInfo": "0.10.4" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "indexmap", + "versionInfo": "1.9.3" }, { - "SPDXID": "SPDXRef-Package-radium-0.7.0", - "description": "Portable interfaces for maybe-atomic types", + "SPDXID": "SPDXRef-Package-windows_aarch64_gnullvm-0.48.5", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/radium@0.7.0", + "referenceLocator": "pkg:cargo/windows_aarch64_gnullvm@0.48.5", "referenceType": "purl" } ], - "homepage": "https://github.com/bitvecto-rs/radium", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "radium", - "versionInfo": "0.7.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows_aarch64_gnullvm", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-dirs-5.0.1", - "description": "A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.", + "SPDXID": "SPDXRef-Package-num-bigint-dig-0.8.4", + "description": "Big integer implementation for Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/dirs@5.0.1", + "referenceLocator": "pkg:cargo/num-bigint-dig@0.8.4", "referenceType": "purl" } ], + "homepage": "https://github.com/dignifiedquire/num-bigint", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "dirs", - "versionInfo": "5.0.1" + "licenseDeclared": "MIT/Apache-2.0", + "name": "num-bigint-dig", + "versionInfo": "0.8.4" }, { - "SPDXID": "SPDXRef-Package-domain-0.10.0", - "description": "A DNS library for Rust.", + "SPDXID": "SPDXRef-Package-tor-error-0.24.0", + "description": "Provides the unified type-erased error type returned by many (esp. high-level) Tor APIs.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/domain@0.10.0", + "referenceLocator": "pkg:cargo/tor-error@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/nlnetlabs/domain/", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "domain", - "versionInfo": "0.10.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-cert-0.22.0", - "description": "Non-standard certificate formats used by Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-cert", - "versionInfo": "0.22.0" + "name": "tor-error", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-sha1-0.10.6", - "description": "SHA-1 hash function", + "SPDXID": "SPDXRef-Package-rusticata-macros-4.1.0", + "description": "Helper macros for Rusticata", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/sha1@0.10.6", + "referenceLocator": "pkg:cargo/rusticata-macros@4.1.0", "referenceType": "purl" } ], + "homepage": "https://github.com/rusticata/rusticata-macros", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "sha1", - "versionInfo": "0.10.6" + "licenseDeclared": "MIT/Apache-2.0", + "name": "rusticata-macros", + "versionInfo": "4.1.0" }, { - "SPDXID": "SPDXRef-Package-void-1.0.2", - "description": "The uninhabited void type for use in statically impossible cases.", + "SPDXID": "SPDXRef-Package-p521-0.13.3", + "description": "Pure Rust implementation of the NIST P-521 (a.k.a. secp521r1) elliptic curve\nas defined in SP 800-186\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/void@1.0.2", + "referenceLocator": "pkg:cargo/p521@0.13.3", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "void", - "versionInfo": "1.0.2" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "p521", + "versionInfo": "0.13.3" }, { - "SPDXID": "SPDXRef-Package-num-bigint-dig-0.8.4", - "description": "Big integer implementation for Rust", + "SPDXID": "SPDXRef-Package-cipher-0.4.4", + "description": "Traits for describing block ciphers and stream ciphers", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num-bigint-dig@0.8.4", + "referenceLocator": "pkg:cargo/cipher@0.4.4", "referenceType": "purl" } ], - "homepage": "https://github.com/dignifiedquire/num-bigint", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "num-bigint-dig", - "versionInfo": "0.8.4" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "cipher", + "versionInfo": "0.4.4" }, { - "SPDXID": "SPDXRef-Package-zerocopy-0.7.35", - "description": "Utilities for zero-copy parsing and serialization", + "SPDXID": "SPDXRef-Package-pin-utils-0.1.0", + "description": "Utilities for pinning\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zerocopy@0.7.35", + "referenceLocator": "pkg:cargo/pin-utils@0.1.0", "referenceType": "purl" } ], - "licenseConcluded": "BSD-2-Clause OR Apache-2.0 OR MIT", - "licenseDeclared": "BSD-2-Clause OR Apache-2.0 OR MIT", - "name": "zerocopy", - "versionInfo": "0.7.35" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "pin-utils", + "versionInfo": "0.1.0" }, { - "SPDXID": "SPDXRef-Package-itoa-1.0.11", - "description": "Fast integer primitive to string conversion", + "SPDXID": "SPDXRef-Package-sha2-0.10.8", + "description": "Pure Rust implementation of the SHA-2 hash function family\nincluding SHA-224, SHA-256, SHA-384, and SHA-512.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/itoa@1.0.11", + "referenceLocator": "pkg:cargo/sha2@0.10.8", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "itoa", - "versionInfo": "1.0.11" + "name": "sha2", + "versionInfo": "0.10.8" }, { - "SPDXID": "SPDXRef-Package-zstd-safe-7.2.1", - "description": "Safe low-level bindings for the zstd compression library.", + "SPDXID": "SPDXRef-Package-proc-macro-crate-1.3.1", + "description": "Replacement for crate (macro_rules keyword) in proc-macros\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zstd-safe@7.2.1", + "referenceLocator": "pkg:cargo/proc-macro-crate@1.3.1", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "zstd-safe", - "versionInfo": "7.2.1" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "proc-macro-crate", + "versionInfo": "1.3.1" }, { - "SPDXID": "SPDXRef-Package-windows_x86_64_gnu-0.48.5", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-tracing-attributes-0.1.27", + "description": "Procedural macro attributes for automatically instrumenting functions.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_x86_64_gnu@0.48.5", + "referenceLocator": "pkg:cargo/tracing-attributes@0.1.27", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_x86_64_gnu", - "versionInfo": "0.48.5" + "homepage": "https://tokio.rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tracing-attributes", + "versionInfo": "0.1.27" }, { - "SPDXID": "SPDXRef-Package-futures-core-0.3.30", - "description": "The core traits and types in for the `futures` library.\n", + "SPDXID": "SPDXRef-Package-const-oid-0.9.6", + "description": "Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard\nas defined in ITU X.660, with support for BER/DER encoding/decoding as well as\nheapless no_std (i.e. embedded) support\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-core@0.3.30", + "referenceLocator": "pkg:cargo/const-oid@0.9.6", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-core", - "versionInfo": "0.3.30" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "const-oid", + "versionInfo": "0.9.6" }, { - "SPDXID": "SPDXRef-Package-tor-socksproto-0.22.0", - "description": "Encode and decode the SOCKS protocol, as extended in Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "SPDXID": "SPDXRef-Package-windows_i686_msvc-0.52.6", + "description": "Import lib for Windows", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/windows_i686_msvc@0.52.6", + "referenceType": "purl" + } + ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-socksproto", - "versionInfo": "0.22.0" + "name": "windows_i686_msvc", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-tokio-util-0.7.12", - "description": "Additional utilities for working with Tokio.\n", + "SPDXID": "SPDXRef-Package-hex-0.4.3", + "description": "Encoding and decoding data into/from hexadecimal representation.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tokio-util@0.7.12", + "referenceLocator": "pkg:cargo/hex@0.4.3", "referenceType": "purl" } ], - "homepage": "https://tokio.rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tokio-util", - "versionInfo": "0.7.12" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "hex", + "versionInfo": "0.4.3" }, { - "SPDXID": "SPDXRef-Package-nu-ansi-term-0.46.0", - "description": "Library for ANSI terminal colors and styles (bold, underline)", + "SPDXID": "SPDXRef-Package-crossbeam-queue-0.3.11", + "description": "Concurrent queues", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/nu-ansi-term@0.46.0", + "referenceLocator": "pkg:cargo/crossbeam-queue@0.3.11", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "nu-ansi-term", - "versionInfo": "0.46.0" + "homepage": "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-queue", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "crossbeam-queue", + "versionInfo": "0.3.11" }, { - "SPDXID": "SPDXRef-Package-regex-syntax-0.8.4", - "description": "A regular expression parser.", + "SPDXID": "SPDXRef-Package-derive_more-impl-1.0.0", + "description": "Internal implementation of `derive_more` crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/regex-syntax@0.8.4", + "referenceLocator": "pkg:cargo/derive_more-impl@1.0.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "regex-syntax", - "versionInfo": "0.8.4" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "derive_more-impl", + "versionInfo": "1.0.0" }, { - "SPDXID": "SPDXRef-Package-ssh-cipher-0.2.0", - "description": "Pure Rust implementation of SSH symmetric encryption including support for the\nmodern aes128-gcm@openssh.com/aes256-gcm@openssh.com and\nchacha20-poly1305@openssh.com algorithms as well as legacy support for older\nciphers. Built on the pure Rust cryptography implementations maintained by the\nRustCrypto organization.\n", + "SPDXID": "SPDXRef-Package-synstructure-0.13.1", + "description": "Helper methods and macros for custom derives", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ssh-cipher@0.2.0", + "referenceLocator": "pkg:cargo/synstructure@0.13.1", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "ssh-cipher", - "versionInfo": "0.2.0" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "synstructure", + "versionInfo": "0.13.1" }, { - "SPDXID": "SPDXRef-Package-itertools-0.11.0", + "SPDXID": "SPDXRef-Package-itertools-0.13.0", "description": "Extra iterator adaptors, iterator methods, free functions, and macros.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/itertools@0.11.0", + "referenceLocator": "pkg:cargo/itertools@0.13.0", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", "name": "itertools", - "versionInfo": "0.11.0" + "versionInfo": "0.13.0" }, { - "SPDXID": "SPDXRef-Package-windows_x86_64_msvc-0.48.5", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-fluid-let-1.0.0", + "description": "Dynamically scoped variables", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_x86_64_msvc@0.48.5", + "referenceLocator": "pkg:cargo/fluid-let@1.0.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_x86_64_msvc", - "versionInfo": "0.48.5" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "fluid-let", + "versionInfo": "1.0.0" }, { - "SPDXID": "SPDXRef-Package-p256-0.13.2", - "description": "Pure Rust implementation of the NIST P-256 (a.k.a. secp256r1, prime256v1)\nelliptic curve as defined in SP 800-186, with support for ECDH, ECDSA\nsigning/verification, and general purpose curve arithmetic\n", + "SPDXID": "SPDXRef-Package-num-traits-0.2.19", + "description": "Numeric traits for generic mathematics", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/p256@0.13.2", + "referenceLocator": "pkg:cargo/num-traits@0.2.19", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "p256", - "versionInfo": "0.13.2" + "homepage": "https://github.com/rust-num/num-traits", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "num-traits", + "versionInfo": "0.2.19" }, { - "SPDXID": "SPDXRef-Package-uuid-1.10.0", - "description": "A library to generate and parse UUIDs.", + "SPDXID": "SPDXRef-Package-pin-project-1.1.5", + "description": "A crate for safe and ergonomic pin-projection.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/uuid@1.10.0", + "referenceLocator": "pkg:cargo/pin-project@1.1.5", "referenceType": "purl" } ], - "homepage": "https://github.com/uuid-rs/uuid", "licenseConcluded": "Apache-2.0 OR MIT", "licenseDeclared": "Apache-2.0 OR MIT", - "name": "uuid", - "versionInfo": "1.10.0" + "name": "pin-project", + "versionInfo": "1.1.5" }, { - "SPDXID": "SPDXRef-Package-signature-2.2.0", - "description": "Traits for cryptographic signature algorithms (e.g. ECDSA, Ed25519)", + "SPDXID": "SPDXRef-Package-merlin-3.0.0", + "description": "Composable proof transcripts for public-coin arguments of knowledge", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/signature@2.2.0", + "referenceLocator": "pkg:cargo/merlin@3.0.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "signature", - "versionInfo": "2.2.0" + "homepage": "https://docs.rs/merlin", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "merlin", + "versionInfo": "3.0.0" }, { - "SPDXID": "SPDXRef-Package-visibility-0.1.1", - "description": "Attribute to override the visibility of items (useful in conjunction with cfg_attr)", + "SPDXID": "SPDXRef-Package-serde_with_macros-3.9.0", + "description": "proc-macro library for serde_with", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/visibility@0.1.1", + "referenceLocator": "pkg:cargo/serde_with_macros@3.9.0", "referenceType": "purl" } ], - "homepage": "https://crates.io/crates/visibility", - "licenseConcluded": "Zlib OR MIT OR Apache-2.0", - "licenseDeclared": "Zlib OR MIT OR Apache-2.0", - "name": "visibility", - "versionInfo": "0.1.1" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "serde_with_macros", + "versionInfo": "3.9.0" }, { - "SPDXID": "SPDXRef-Package-glob-match-0.2.1", - "description": "An extremely fast glob matcher", + "SPDXID": "SPDXRef-Package-minimal-lexical-0.2.1", + "description": "Fast float parsing conversion routines.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/glob-match@0.2.1", + "referenceLocator": "pkg:cargo/minimal-lexical@0.2.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "glob-match", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "minimal-lexical", "versionInfo": "0.2.1" }, { - "SPDXID": "SPDXRef-Package-icu_locid-1.5.0", - "description": "API for managing Unicode Language and Locale Identifiers", + "SPDXID": "SPDXRef-Package-percent-encoding-2.3.1", + "description": "Percent encoding and decoding", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_locid@1.5.0", + "referenceLocator": "pkg:cargo/percent-encoding@2.3.1", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_locid", - "versionInfo": "1.5.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "percent-encoding", + "versionInfo": "2.3.1" }, { - "SPDXID": "SPDXRef-Package-ed25519-dalek-2.1.1", - "description": "Fast and efficient ed25519 EdDSA key generations, signing, and verification in pure Rust.", + "SPDXID": "SPDXRef-Package-asn1-rs-derive-0.5.1", + "description": "Derive macros for the `asn1-rs` crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ed25519-dalek@2.1.1", + "referenceLocator": "pkg:cargo/asn1-rs-derive@0.5.1", "referenceType": "purl" } ], - "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "ed25519-dalek", - "versionInfo": "2.1.1" + "homepage": "https://github.com/rusticata/asn1-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "asn1-rs-derive", + "versionInfo": "0.5.1" }, { - "SPDXID": "SPDXRef-Package-redox_users-0.4.6", - "description": "A Rust library to access Redox users and groups functionality", + "SPDXID": "SPDXRef-Package-hkdf-0.12.4", + "description": "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/redox_users@0.4.6", + "referenceLocator": "pkg:cargo/hkdf@0.12.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "redox_users", - "versionInfo": "0.4.6" + "homepage": "https://github.com/RustCrypto/KDFs/", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "hkdf", + "versionInfo": "0.12.4" }, { - "SPDXID": "SPDXRef-Package-icu_normalizer_data-1.5.0", - "description": "Data for the icu_normalizer crate", + "SPDXID": "SPDXRef-Package-xxhash-rust-0.8.12", + "description": "Implementation of xxhash", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_normalizer_data@1.5.0", + "referenceLocator": "pkg:cargo/xxhash-rust@0.8.12", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_normalizer_data", - "versionInfo": "1.5.0" + "licenseConcluded": "BSL-1.0", + "licenseDeclared": "BSL-1.0", + "name": "xxhash-rust", + "versionInfo": "0.8.12" }, { - "SPDXID": "SPDXRef-Package-android-tzdata-0.1.1", - "description": "Parser for the Android-specific tzdata file", + "SPDXID": "SPDXRef-Package-inventory-0.3.15", + "description": "Typed distributed plugin registration", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/android-tzdata@0.1.1", + "referenceLocator": "pkg:cargo/inventory@0.3.15", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "android-tzdata", - "versionInfo": "0.1.1" + "name": "inventory", + "versionInfo": "0.3.15" }, { - "SPDXID": "SPDXRef-Package-block-buffer-0.10.4", - "description": "Buffer type for block processing of data", + "SPDXID": "SPDXRef-Package-wasm-bindgen-backend-0.2.93", + "description": "Backend code generation of the wasm-bindgen tool\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/block-buffer@0.10.4", + "referenceLocator": "pkg:cargo/wasm-bindgen-backend@0.2.93", "referenceType": "purl" } ], + "homepage": "https://rustwasm.github.io/wasm-bindgen/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "block-buffer", - "versionInfo": "0.10.4" + "name": "wasm-bindgen-backend", + "versionInfo": "0.2.93" }, { - "SPDXID": "SPDXRef-Package-pkcs1-0.7.5", - "description": "Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:\nRSA Cryptography Specifications Version 2.2 (RFC 8017)\n", + "SPDXID": "SPDXRef-Package-educe-0.4.23", + "description": "This crate provides procedural macros to help you implement Rust-built-in traits quickly.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pkcs1@0.7.5", + "referenceLocator": "pkg:cargo/educe@0.4.23", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "pkcs1", - "versionInfo": "0.7.5" + "homepage": "https://magiclen.org/educe", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "educe", + "versionInfo": "0.4.23" }, { - "SPDXID": "SPDXRef-Package-cookie-factory-0.3.3", - "description": "nom inspired serialization library", + "SPDXID": "SPDXRef-Package-thiserror-impl-1.0.63", + "description": "Implementation detail of the `thiserror` crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/cookie-factory@0.3.3", + "referenceLocator": "pkg:cargo/thiserror-impl@1.0.63", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "cookie-factory", - "versionInfo": "0.3.3" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "thiserror-impl", + "versionInfo": "1.0.63" }, { - "SPDXID": "SPDXRef-Package-zerofrom-0.1.4", - "description": "ZeroFrom trait for constructing", + "SPDXID": "SPDXRef-Package-form_urlencoded-1.2.1", + "description": "Parser and serializer for the application/x-www-form-urlencoded syntax, as used by HTML forms.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zerofrom@0.1.4", + "referenceLocator": "pkg:cargo/form_urlencoded@1.2.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "form_urlencoded", + "versionInfo": "1.2.1" + }, + { + "SPDXID": "SPDXRef-Package-icu_normalizer_data-1.5.0", + "description": "Data for the icu_normalizer crate", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/icu_normalizer_data@1.5.0", "referenceType": "purl" } ], + "homepage": "https://icu4x.unicode.org", "licenseConcluded": "Unicode-3.0", "licenseDeclared": "Unicode-3.0", - "name": "zerofrom", - "versionInfo": "0.1.4" + "name": "icu_normalizer_data", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93", - "description": "The part of the implementation of the `#[wasm_bindgen]` attribute that is not in the shared backend crate\n", + "SPDXID": "SPDXRef-Package-equivalent-1.0.1", + "description": "Traits for key comparison in maps.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wasm-bindgen-macro-support@0.2.93", + "referenceLocator": "pkg:cargo/equivalent@1.0.1", "referenceType": "purl" } ], - "homepage": "https://rustwasm.github.io/wasm-bindgen/", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "wasm-bindgen-macro-support", - "versionInfo": "0.2.93" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "equivalent", + "versionInfo": "1.0.1" }, { - "SPDXID": "SPDXRef-Package-unicode-segmentation-1.12.0", - "description": "This crate provides Grapheme Cluster, Word and Sentence boundaries\naccording to Unicode Standard Annex #29 rules.\n", + "SPDXID": "SPDXRef-Package-time-macros-0.2.18", + "description": " Procedural macros for the time crate.\n This crate is an implementation detail and should not be relied upon directly.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/unicode-segmentation@1.12.0", + "referenceLocator": "pkg:cargo/time-macros@0.2.18", "referenceType": "purl" } ], - "homepage": "https://github.com/unicode-rs/unicode-segmentation", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "unicode-segmentation", - "versionInfo": "1.12.0" + "name": "time-macros", + "versionInfo": "0.2.18" }, { - "SPDXID": "SPDXRef-Package-humantime-serde-1.1.1", - "description": "Serde support for the `humantime` crate", + "SPDXID": "SPDXRef-Package-schannel-0.1.23", + "description": "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/humantime-serde@1.1.1", + "referenceLocator": "pkg:cargo/schannel@0.1.23", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "humantime-serde", - "versionInfo": "1.1.1" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "schannel", + "versionInfo": "0.1.23" }, { - "SPDXID": "SPDXRef-Package-anyhow-1.0.86", - "description": "Flexible concrete Error type built on std::error::Error", + "SPDXID": "SPDXRef-Package-asynchronous-codec-0.7.0", + "description": "Utilities for encoding and decoding frames using `async/await`", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/anyhow@1.0.86", + "referenceLocator": "pkg:cargo/asynchronous-codec@0.7.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "anyhow", - "versionInfo": "1.0.86" + "homepage": "https://github.com/mxinden/asynchronous-codec", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "asynchronous-codec", + "versionInfo": "0.7.0" }, { - "SPDXID": "SPDXRef-Package-data-encoding-macro-internal-0.1.13", - "description": "Internal library for data-encoding-macro", + "SPDXID": "SPDXRef-Package-tracing-0.1.40", + "description": "Application-level tracing for Rust.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/data-encoding-macro-internal@0.1.13", + "referenceLocator": "pkg:cargo/tracing@0.1.40", "referenceType": "purl" } ], + "homepage": "https://tokio.rs", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "data-encoding-macro-internal", - "versionInfo": "0.1.13" + "name": "tracing", + "versionInfo": "0.1.40" }, { - "SPDXID": "SPDXRef-Package-bitflags-1.3.2", - "description": "A macro to generate structures which behave like bitflags.\n", + "SPDXID": "SPDXRef-Package-visibility-0.1.1", + "description": "Attribute to override the visibility of items (useful in conjunction with cfg_attr)", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bitflags@1.3.2", + "referenceLocator": "pkg:cargo/visibility@0.1.1", "referenceType": "purl" } ], - "homepage": "https://github.com/bitflags/bitflags", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "bitflags", - "versionInfo": "1.3.2" + "homepage": "https://crates.io/crates/visibility", + "licenseConcluded": "Zlib OR MIT OR Apache-2.0", + "licenseDeclared": "Zlib OR MIT OR Apache-2.0", + "name": "visibility", + "versionInfo": "0.1.1" }, { - "SPDXID": "SPDXRef-Package-rand-0.8.5", - "description": "Random number generators and other randomness functionality.\n", + "SPDXID": "SPDXRef-Package-gimli-0.29.0", + "description": "A library for reading and writing the DWARF debugging format.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rand@0.8.5", + "referenceLocator": "pkg:cargo/gimli@0.29.0", "referenceType": "purl" } ], - "homepage": "https://rust-random.github.io/book", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "rand", - "versionInfo": "0.8.5" + "name": "gimli", + "versionInfo": "0.29.0" }, { - "SPDXID": "SPDXRef-Package-phf_generator-0.11.2", - "description": "PHF generation logic", + "SPDXID": "SPDXRef-Package-num-bigint-0.4.6", + "description": "Big integer implementation for Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/phf_generator@0.11.2", + "referenceLocator": "pkg:cargo/num-bigint@0.4.6", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "phf_generator", - "versionInfo": "0.11.2" - }, - { - "SPDXID": "SPDXRef-Package-tor-cell-0.22.0", - "description": "Encode and decode Tor cells and messages", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "homepage": "https://github.com/rust-num/num-bigint", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-cell", - "versionInfo": "0.22.0" + "name": "num-bigint", + "versionInfo": "0.4.6" }, { - "SPDXID": "SPDXRef-Package-tracing-0.1.40", - "description": "Application-level tracing for Rust.\n", + "SPDXID": "SPDXRef-Package-wasm-bindgen-shared-0.2.93", + "description": "Shared support between wasm-bindgen and wasm-bindgen cli, an internal\ndependency.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tracing@0.1.40", + "referenceLocator": "pkg:cargo/wasm-bindgen-shared@0.2.93", "referenceType": "purl" } ], - "homepage": "https://tokio.rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tracing", - "versionInfo": "0.1.40" + "homepage": "https://rustwasm.github.io/wasm-bindgen/", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "wasm-bindgen-shared", + "versionInfo": "0.2.93" }, { - "SPDXID": "SPDXRef-Package-parking-2.2.0", - "description": "Thread parking and unparking", + "SPDXID": "SPDXRef-Package-hashbrown-0.12.3", + "description": "A Rust port of Google's SwissTable hash map", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/parking@2.2.0", + "referenceLocator": "pkg:cargo/hashbrown@0.12.3", "referenceType": "purl" } ], - "homepage": "https://github.com/smol-rs/parking", - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "parking", - "versionInfo": "2.2.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "hashbrown", + "versionInfo": "0.12.3" }, { - "SPDXID": "SPDXRef-Package-signature-1.6.4", - "description": "Traits for cryptographic signature algorithms (e.g. ECDSA, Ed25519)", + "SPDXID": "SPDXRef-Package-openssl-macros-0.1.1", + "description": "Internal macros used by the openssl crate.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/signature@1.6.4", + "referenceLocator": "pkg:cargo/openssl-macros@0.1.1", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "signature", - "versionInfo": "1.6.4" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "openssl-macros", + "versionInfo": "0.1.1" }, { - "SPDXID": "SPDXRef-Package-which-4.4.2", - "description": "A Rust equivalent of Unix command \"which\". Locate installed executable in cross platforms.", + "SPDXID": "SPDXRef-Package-derive_more-1.0.0", + "description": "Adds #[derive(x)] macros for more traits", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/which@4.4.2", + "referenceLocator": "pkg:cargo/derive_more@1.0.0", "referenceType": "purl" } ], "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "which", - "versionInfo": "4.4.2" + "name": "derive_more", + "versionInfo": "1.0.0" }, { - "SPDXID": "SPDXRef-Package-der-parser-9.0.0", - "description": "Parser/encoder for ASN.1 BER/DER data", + "SPDXID": "SPDXRef-Package-retry-error-0.6.0", + "description": "An error type for an operation that can fail more than once", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/der-parser@9.0.0", + "referenceLocator": "pkg:cargo/retry-error@0.6.0", "referenceType": "purl" } ], - "homepage": "https://github.com/rusticata/der-parser", + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "der-parser", - "versionInfo": "9.0.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "retry-error", + "versionInfo": "0.6.0" }, { - "SPDXID": "SPDXRef-Package-zerofrom-derive-0.1.4", - "description": "Custom derive for the zerofrom crate", + "SPDXID": "SPDXRef-Package-lazy_static-1.5.0", + "description": "A macro for declaring lazily evaluated statics in Rust.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zerofrom-derive@0.1.4", + "referenceLocator": "pkg:cargo/lazy_static@1.5.0", "referenceType": "purl" } ], - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "zerofrom-derive", - "versionInfo": "0.1.4" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "lazy_static", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-winapi-util-0.1.9", - "description": "A dumping ground for high level safe wrappers over windows-sys.", + "SPDXID": "SPDXRef-Package-idna-1.0.2", + "description": "IDNA (Internationalizing Domain Names in Applications) and Punycode.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/winapi-util@0.1.9", + "referenceLocator": "pkg:cargo/idna@1.0.2", "referenceType": "purl" } ], - "homepage": "https://github.com/BurntSushi/winapi-util", - "licenseConcluded": "Unlicense OR MIT", - "licenseDeclared": "Unlicense OR MIT", - "name": "winapi-util", - "versionInfo": "0.1.9" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "idna", + "versionInfo": "1.0.2" }, { - "SPDXID": "SPDXRef-Package-proc-macro2-1.0.86", - "description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.", + "SPDXID": "SPDXRef-Package-ascii-1.1.0", + "description": "ASCII-only equivalents to `char`, `str` and `String`.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/proc-macro2@1.0.86", + "referenceLocator": "pkg:cargo/ascii@1.1.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "proc-macro2", - "versionInfo": "1.0.86" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "ascii", + "versionInfo": "1.1.0" }, { - "SPDXID": "SPDXRef-Package-chrono-0.4.38", - "description": "Date and time library for Rust", + "SPDXID": "SPDXRef-Package-tor-netdir-0.24.0", + "description": "Types to represent and use a Tor network directory", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/chrono@0.4.38", + "referenceLocator": "pkg:cargo/tor-netdir@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/chronotope/chrono", + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "chrono", - "versionInfo": "0.4.38" + "name": "tor-netdir", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-darling-0.20.10", - "description": "A proc-macro library for reading attributes into structs when\nimplementing custom derives.\n", + "SPDXID": "SPDXRef-Package-serde_ignored-0.1.10", + "description": "Find out about keys that are ignored when deserializing data", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/darling@0.20.10", + "referenceLocator": "pkg:cargo/serde_ignored@0.1.10", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "darling", - "versionInfo": "0.20.10" - }, - { - "SPDXID": "SPDXRef-Package-tor-circmgr-0.22.0", - "description": "Manage a set of anonymous circuits over the Tor network", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-circmgr", - "versionInfo": "0.22.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-guardmgr-0.22.0", - "description": "Manage a set of guard relays for Tor network", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-guardmgr", - "versionInfo": "0.22.0" + "name": "serde_ignored", + "versionInfo": "0.1.10" }, { - "SPDXID": "SPDXRef-Package-bitvec-1.0.1", - "description": "Addresses memory by bits, for packed collections and bitfields", + "SPDXID": "SPDXRef-Package-tor-persist-0.24.0", + "description": "Persistent state for the Arti Tor implementation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bitvec@1.0.1", + "referenceLocator": "pkg:cargo/tor-persist@0.24.0", "referenceType": "purl" } ], - "homepage": "https://bitvecto-rs.github.io/bitvec", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "bitvec", - "versionInfo": "1.0.1" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-persist", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-icu_properties-1.5.1", - "description": "Definitions for Unicode properties", + "SPDXID": "SPDXRef-Package-windows-core-0.52.0", + "description": "Rust for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_properties@1.5.1", + "referenceLocator": "pkg:cargo/windows-core@0.52.0", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_properties", - "versionInfo": "1.5.1" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows-core", + "versionInfo": "0.52.0" }, { - "SPDXID": "SPDXRef-Package-miniz_oxide-0.8.0", - "description": "DEFLATE compression and decompression library rewritten in Rust based on miniz", + "SPDXID": "SPDXRef-Package-quote-1.0.37", + "description": "Quasi-quoting macro quote!(...)", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/miniz_oxide@0.8.0", + "referenceLocator": "pkg:cargo/quote@1.0.37", "referenceType": "purl" } ], - "homepage": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", - "licenseConcluded": "MIT OR Zlib OR Apache-2.0", - "licenseDeclared": "MIT OR Zlib OR Apache-2.0", - "name": "miniz_oxide", - "versionInfo": "0.8.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "quote", + "versionInfo": "1.0.37" }, { - "SPDXID": "SPDXRef-Package-foreign-types-0.3.2", - "description": "A framework for Rust wrappers over C APIs", + "SPDXID": "SPDXRef-Package-sharded-slab-0.1.7", + "description": "A lock-free concurrent slab.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/foreign-types@0.3.2", + "referenceLocator": "pkg:cargo/sharded-slab@0.1.7", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "foreign-types", - "versionInfo": "0.3.2" + "homepage": "https://github.com/hawkw/sharded-slab", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "sharded-slab", + "versionInfo": "0.1.7" }, { - "SPDXID": "SPDXRef-Package-aho-corasick-1.1.3", - "description": "Fast multiple substring searching.", + "SPDXID": "SPDXRef-Package-tor-llcrypto-0.24.0", + "description": "Low level cryptography wrappers used by Tor", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/aho-corasick@1.1.3", + "referenceLocator": "pkg:cargo/tor-llcrypto@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/BurntSushi/aho-corasick", - "licenseConcluded": "Unlicense OR MIT", - "licenseDeclared": "Unlicense OR MIT", - "name": "aho-corasick", - "versionInfo": "1.1.3" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-llcrypto", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-windows-sys-0.52.0", - "description": "Rust for Windows", + "SPDXID": "SPDXRef-Package-crypto-common-0.1.6", + "description": "Common cryptographic traits", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows-sys@0.52.0", + "referenceLocator": "pkg:cargo/crypto-common@0.1.6", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows-sys", - "versionInfo": "0.52.0" + "name": "crypto-common", + "versionInfo": "0.1.6" }, { - "SPDXID": "SPDXRef-Package-windows_x86_64_msvc-0.52.6", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-dirs-5.0.1", + "description": "A tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_x86_64_msvc@0.52.6", + "referenceLocator": "pkg:cargo/dirs@5.0.1", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_x86_64_msvc", - "versionInfo": "0.52.6" + "name": "dirs", + "versionInfo": "5.0.1" }, { - "SPDXID": "SPDXRef-Package-tracing-attributes-0.1.27", - "description": "Procedural macro attributes for automatically instrumenting functions.\n", + "SPDXID": "SPDXRef-Package-gosling-0.3.0", + "description": "A library for developing fully anonymous, peer-to-peer, metadata-resistant applications using tor onion services", + "downloadLocation": "NONE", + "homepage": "https://blueprint-freespeech.github.io/gosling/index.xhtml", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "gosling", + "versionInfo": "0.3.0" + }, + { + "SPDXID": "SPDXRef-Package-strum_macros-0.25.3", + "description": "Helpful macros for working with enums and strings", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tracing-attributes@0.1.27", + "referenceLocator": "pkg:cargo/strum_macros@0.25.3", "referenceType": "purl" } ], - "homepage": "https://tokio.rs", + "homepage": "https://github.com/Peternator7/strum", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "tracing-attributes", - "versionInfo": "0.1.27" + "name": "strum_macros", + "versionInfo": "0.25.3" }, { - "SPDXID": "SPDXRef-Package-regex-1.10.6", - "description": "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n", + "SPDXID": "SPDXRef-Package-url-2.5.2", + "description": "URL library for Rust, based on the WHATWG URL Standard", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/regex@1.10.6", + "referenceLocator": "pkg:cargo/url@2.5.2", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-lang/regex", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "regex", - "versionInfo": "1.10.6" + "name": "url", + "versionInfo": "2.5.2" }, { - "SPDXID": "SPDXRef-Package-regex-syntax-0.6.29", - "description": "A regular expression parser.", + "SPDXID": "SPDXRef-Package-tor-netdoc-0.24.0", + "description": "Network document formats used with the Tor protocols.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/regex-syntax@0.6.29", + "referenceLocator": "pkg:cargo/tor-netdoc@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-lang/regex", + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "regex-syntax", - "versionInfo": "0.6.29" - }, - { - "SPDXID": "SPDXRef-Package-tor-interface-0.4.0", - "description": "A library providing a Rust interface to interact with the legacy tor daemon", - "downloadLocation": "NONE", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "tor-interface", - "versionInfo": "0.4.0" + "name": "tor-netdoc", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-num_enum-0.7.3", - "description": "Procedural macros to make inter-operation between primitives and enums easier.", + "SPDXID": "SPDXRef-Package-amplify_num-0.5.3", + "description": "Amplifying numeric types: big-sized and bit-sized integers", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num_enum@0.7.3", + "referenceLocator": "pkg:cargo/amplify_num@0.5.3", "referenceType": "purl" } ], - "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", - "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", - "name": "num_enum", - "versionInfo": "0.7.3" + "homepage": "https://github.com/rust-amplify", + "licenseConcluded": "Apache-2.0", + "licenseDeclared": "Apache-2.0", + "name": "amplify_num", + "versionInfo": "0.5.3" }, { - "SPDXID": "SPDXRef-Package-socks-0.3.4", - "description": "SOCKS proxy clients", + "SPDXID": "SPDXRef-Package-utf8_iter-1.0.4", + "description": "Iterator by char over potentially-invalid UTF-8 in &[u8]", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/socks@0.3.4", + "referenceLocator": "pkg:cargo/utf8_iter@1.0.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "socks", - "versionInfo": "0.3.4" + "homepage": "https://docs.rs/utf8_iter/", + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "utf8_iter", + "versionInfo": "1.0.4" }, { - "SPDXID": "SPDXRef-Package-icu_collections-1.5.0", - "description": "Collection of API for use in ICU libraries.", + "SPDXID": "SPDXRef-Package-curve25519-dalek-4.1.3", + "description": "A pure-Rust implementation of group operations on ristretto255 and Curve25519", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_collections@1.5.0", + "referenceLocator": "pkg:cargo/curve25519-dalek@4.1.3", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_collections", - "versionInfo": "1.5.0" + "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "curve25519-dalek", + "versionInfo": "4.1.3" }, { - "SPDXID": "SPDXRef-Package-redox_syscall-0.5.3", - "description": "A Rust library to access raw Redox system calls", + "SPDXID": "SPDXRef-Package-pkcs8-0.10.2", + "description": "Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:\nPrivate-Key Information Syntax Specification (RFC 5208), with additional\nsupport for PKCS#8v2 asymmetric key packages (RFC 5958)\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/redox_syscall@0.5.3", + "referenceLocator": "pkg:cargo/pkcs8@0.10.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "redox_syscall", - "versionInfo": "0.5.3" - }, - { - "SPDXID": "SPDXRef-Package-tor-linkspec-0.22.0", - "description": "Parts of the Tor protocol that indicate specific relays on the network", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-linkspec", - "versionInfo": "0.22.0" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "pkcs8", + "versionInfo": "0.10.2" }, { - "SPDXID": "SPDXRef-Package-sharded-slab-0.1.7", - "description": "A lock-free concurrent slab.\n", + "SPDXID": "SPDXRef-Package-filetime-0.2.25", + "description": "Platform-agnostic accessors of timestamps in File metadata\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/sharded-slab@0.1.7", + "referenceLocator": "pkg:cargo/filetime@0.2.25", "referenceType": "purl" } ], - "homepage": "https://github.com/hawkw/sharded-slab", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "sharded-slab", - "versionInfo": "0.1.7" + "homepage": "https://github.com/alexcrichton/filetime", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "filetime", + "versionInfo": "0.2.25" }, { - "SPDXID": "SPDXRef-Package-elliptic-curve-0.13.8", - "description": "General purpose Elliptic Curve Cryptography (ECC) support, including types\nand traits for representing various elliptic curve forms, scalars, points,\nand public/secret keys composed thereof.\n", + "SPDXID": "SPDXRef-Package-strum-0.26.3", + "description": "Helpful macros for working with enums and strings", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/elliptic-curve@0.13.8", + "referenceLocator": "pkg:cargo/strum@0.26.3", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "elliptic-curve", - "versionInfo": "0.13.8" + "homepage": "https://github.com/Peternator7/strum", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "strum", + "versionInfo": "0.26.3" }, { - "SPDXID": "SPDXRef-Package-windows_x86_64_gnullvm-0.52.6", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-time-0.3.36", + "description": "Date and time library. Fully interoperable with the standard library. Mostly compatible with #![no_std].", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_x86_64_gnullvm@0.52.6", + "referenceLocator": "pkg:cargo/time@0.3.36", "referenceType": "purl" } ], + "homepage": "https://time-rs.github.io", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_x86_64_gnullvm", - "versionInfo": "0.52.6" + "name": "time", + "versionInfo": "0.3.36" }, { - "SPDXID": "SPDXRef-Package-strsim-0.10.0", - "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein,\nOSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice.\n", + "SPDXID": "SPDXRef-Package-weak-table-0.3.2", + "description": "Weak hash maps and sets", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/strsim@0.10.0", + "referenceLocator": "pkg:cargo/weak-table@0.3.2", "referenceType": "purl" } ], - "homepage": "https://github.com/dguo/strsim-rs", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "strsim", - "versionInfo": "0.10.0" + "name": "weak-table", + "versionInfo": "0.3.2" }, { - "SPDXID": "SPDXRef-Package-heck-0.5.0", - "description": "heck is a case conversion library.", + "SPDXID": "SPDXRef-Package-tor-keymgr-0.24.0", + "description": "Key management for the Arti Tor implementation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/heck@0.5.0", + "referenceLocator": "pkg:cargo/tor-keymgr@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "heck", - "versionInfo": "0.5.0" + "name": "tor-keymgr", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-tinyvec_macros-0.1.1", - "description": "Some macros for tiny containers", + "SPDXID": "SPDXRef-Package-icu_collections-1.5.0", + "description": "Collection of API for use in ICU libraries.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tinyvec_macros@0.1.1", + "referenceLocator": "pkg:cargo/icu_collections@1.5.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0 OR Zlib", - "licenseDeclared": "MIT OR Apache-2.0 OR Zlib", - "name": "tinyvec_macros", - "versionInfo": "0.1.1" + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_collections", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-adler-1.0.2", - "description": "A simple clean-room implementation of the Adler-32 checksum", + "SPDXID": "SPDXRef-Package-heck-0.5.0", + "description": "heck is a case conversion library.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/adler@1.0.2", + "referenceLocator": "pkg:cargo/heck@0.5.0", "referenceType": "purl" } ], - "licenseConcluded": "0BSD OR MIT OR Apache-2.0", - "licenseDeclared": "0BSD OR MIT OR Apache-2.0", - "name": "adler", - "versionInfo": "1.0.2" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "heck", + "versionInfo": "0.5.0" }, { - "SPDXID": "SPDXRef-Package-zerovec-derive-0.10.3", - "description": "Custom derive for the zerovec crate", + "SPDXID": "SPDXRef-Package-windows_x86_64_gnu-0.48.5", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zerovec-derive@0.10.3", + "referenceLocator": "pkg:cargo/windows_x86_64_gnu@0.48.5", "referenceType": "purl" } ], - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "zerovec-derive", - "versionInfo": "0.10.3" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows_x86_64_gnu", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-data-encoding-macro-0.1.15", - "description": "Macros for data-encoding", + "SPDXID": "SPDXRef-Package-http-1.1.0", + "description": "A set of types for representing HTTP requests and responses.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/data-encoding-macro@0.1.15", + "referenceLocator": "pkg:cargo/http@1.1.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "data-encoding-macro", - "versionInfo": "0.1.15" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "http", + "versionInfo": "1.1.0" }, { - "SPDXID": "SPDXRef-Package-schannel-0.1.23", - "description": "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl", + "SPDXID": "SPDXRef-Package-async-trait-0.1.82", + "description": "Type erasure for async trait methods", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/schannel@0.1.23", + "referenceLocator": "pkg:cargo/async-trait@0.1.82", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "schannel", - "versionInfo": "0.1.23" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "async-trait", + "versionInfo": "0.1.82" }, { - "SPDXID": "SPDXRef-Package-addr2line-0.22.0", - "description": "A cross-platform symbolication library written in Rust, using `gimli`", + "SPDXID": "SPDXRef-Package-toml_edit-0.22.20", + "description": "Yet another format-preserving TOML parser.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/addr2line@0.22.0", + "referenceLocator": "pkg:cargo/toml_edit@0.22.20", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "addr2line", - "versionInfo": "0.22.0" - }, - { - "SPDXID": "SPDXRef-Package-caret-0.4.7", - "description": "Macros for declaring non-exhaustive C-style enumerations, with named members", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "caret", - "versionInfo": "0.4.7" + "name": "toml_edit", + "versionInfo": "0.22.20" }, { - "SPDXID": "SPDXRef-Package-num-bigint-0.4.6", - "description": "Big integer implementation for Rust", + "SPDXID": "SPDXRef-Package-tor-config-0.24.0", + "description": "Low-level configuration for the Arti Tor implementation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num-bigint@0.4.6", + "referenceLocator": "pkg:cargo/tor-config@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-num/num-bigint", + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "num-bigint", - "versionInfo": "0.4.6" + "name": "tor-config", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-kqueue-sys-1.0.4", - "description": "Low-level kqueue interface for BSDs", + "SPDXID": "SPDXRef-Package-rfc6979-0.4.0", + "description": "Pure Rust implementation of RFC6979: Deterministic Usage of the\nDigital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/kqueue-sys@1.0.4", + "referenceLocator": "pkg:cargo/rfc6979@0.4.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "kqueue-sys", - "versionInfo": "1.0.4" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "rfc6979", + "versionInfo": "0.4.0" }, { - "SPDXID": "SPDXRef-Package-ahash-0.8.11", - "description": "A non-cryptographic hash function using AES-NI for high performance", + "SPDXID": "SPDXRef-Package-pkcs1-0.7.5", + "description": "Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:\nRSA Cryptography Specifications Version 2.2 (RFC 8017)\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ahash@0.8.11", + "referenceLocator": "pkg:cargo/pkcs1@0.7.5", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "ahash", - "versionInfo": "0.8.11" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "pkcs1", + "versionInfo": "0.7.5" }, { - "SPDXID": "SPDXRef-Package-directories-5.0.1", - "description": "A tiny mid-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows and macOS by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.", + "SPDXID": "SPDXRef-Package-unicode-xid-0.2.6", + "description": "Determine whether characters have the XID_Start\nor XID_Continue properties according to\nUnicode Standard Annex #31.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/directories@5.0.1", + "referenceLocator": "pkg:cargo/unicode-xid@0.2.6", "referenceType": "purl" } ], + "homepage": "https://github.com/unicode-rs/unicode-xid", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "directories", - "versionInfo": "5.0.1" + "name": "unicode-xid", + "versionInfo": "0.2.6" }, { - "SPDXID": "SPDXRef-Package-octseq-0.5.1", - "description": "Abstractions for types representing octet sequences.", + "SPDXID": "SPDXRef-Package-pwd-grp-0.1.1", + "description": "Access Unix passwords and groups", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/octseq@0.5.1", + "referenceLocator": "pkg:cargo/pwd-grp@0.1.1", "referenceType": "purl" } ], - "homepage": "https://github.com/NLnetLabs/octets/", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "octseq", - "versionInfo": "0.5.1" + "homepage": "https://gitlab.torproject.org/tpo/core/rust-pwd-grp", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "pwd-grp", + "versionInfo": "0.1.1" }, { - "SPDXID": "SPDXRef-Package-core-foundation-sys-0.8.7", - "description": "Bindings to Core Foundation for macOS", + "SPDXID": "SPDXRef-Package-same-file-1.0.6", + "description": "A simple crate for determining whether two file paths point to the same file.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/core-foundation-sys@0.8.7", + "referenceLocator": "pkg:cargo/same-file@1.0.6", "referenceType": "purl" } ], - "homepage": "https://github.com/servo/core-foundation-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "core-foundation-sys", - "versionInfo": "0.8.7" + "homepage": "https://github.com/BurntSushi/same-file", + "licenseConcluded": "Unlicense OR MIT", + "licenseDeclared": "Unlicense/MIT", + "name": "same-file", + "versionInfo": "1.0.6" }, { - "SPDXID": "SPDXRef-Package-iana-time-zone-0.1.60", - "description": "get the IANA time zone for the current system", + "SPDXID": "SPDXRef-Package-bytemuck-1.18.0", + "description": "A crate for mucking around with piles of bytes.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/iana-time-zone@0.1.60", + "referenceLocator": "pkg:cargo/bytemuck@1.18.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "iana-time-zone", - "versionInfo": "0.1.60" - }, - { - "SPDXID": "SPDXRef-Package-derive-deftly-0.14.2", - "description": "An ergonomic way to write derive() macros", + "licenseConcluded": "Zlib OR Apache-2.0 OR MIT", + "licenseDeclared": "Zlib OR Apache-2.0 OR MIT", + "name": "bytemuck", + "versionInfo": "1.18.0" + }, + { + "SPDXID": "SPDXRef-Package-ssh-encoding-0.2.0", + "description": "Pure Rust implementation of SSH data type decoders/encoders as described\nin RFC4251\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive-deftly@0.14.2", + "referenceLocator": "pkg:cargo/ssh-encoding@0.2.0", "referenceType": "purl" } ], - "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-deftly", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "derive-deftly", - "versionInfo": "0.14.2" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "ssh-encoding", + "versionInfo": "0.2.0" }, { - "SPDXID": "SPDXRef-Package-windows-sys-0.59.0", - "description": "Rust for Windows", + "SPDXID": "SPDXRef-Package-notify-types-1.0.0", + "description": "Types used by the notify crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows-sys@0.59.0", + "referenceLocator": "pkg:cargo/notify-types@1.0.0", "referenceType": "purl" } ], + "homepage": "https://github.com/notify-rs/notify", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows-sys", - "versionInfo": "0.59.0" - }, - { - "SPDXID": "SPDXRef-Package-gosling-0.3.0", - "description": "A library for developing fully anonymous, peer-to-peer, metadata-resistant applications using tor onion services", - "downloadLocation": "NONE", - "homepage": "https://blueprint-freespeech.github.io/gosling/index.xhtml", - "licenseConcluded": "BSD-3-Clause", - "licenseDeclared": "BSD-3-Clause", - "name": "gosling", - "versionInfo": "0.3.0" + "name": "notify-types", + "versionInfo": "1.0.0" }, { - "SPDXID": "SPDXRef-Package-ppv-lite86-0.2.20", - "description": "Implementation of the crypto-simd API for x86", + "SPDXID": "SPDXRef-Package-security-framework-2.11.1", + "description": "Security.framework bindings for macOS and iOS", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ppv-lite86@0.2.20", + "referenceLocator": "pkg:cargo/security-framework@2.11.1", "referenceType": "purl" } ], + "homepage": "https://lib.rs/crates/security_framework", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "ppv-lite86", - "versionInfo": "0.2.20" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "security-framework", + "versionInfo": "2.11.1" }, { - "SPDXID": "SPDXRef-Package-by_address-1.2.1", - "description": "Wrapper for comparing and hashing pointers by address", + "SPDXID": "SPDXRef-Package-priority-queue-2.1.0", + "description": "A Priority Queue implemented as a heap with a function to efficiently change the priority of an item.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/by_address@1.2.1", + "referenceLocator": "pkg:cargo/priority-queue@2.1.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "by_address", - "versionInfo": "1.2.1" + "licenseConcluded": "LGPL-3.0-or-later OR MPL-2.0", + "licenseDeclared": "LGPL-3.0-or-later OR MPL-2.0", + "name": "priority-queue", + "versionInfo": "2.1.0" }, { - "SPDXID": "SPDXRef-Package-hermit-abi-0.3.9", - "description": "Hermit system calls definitions.", + "SPDXID": "SPDXRef-Package-valuable-0.1.0", + "description": "Object-safe value inspection, used to pass un-typed structured data across trait-object boundaries.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hermit-abi@0.3.9", + "referenceLocator": "pkg:cargo/valuable@0.1.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "hermit-abi", - "versionInfo": "0.3.9" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "valuable", + "versionInfo": "0.1.0" }, { - "SPDXID": "SPDXRef-Package-serde_ignored-0.1.10", - "description": "Find out about keys that are ignored when deserializing data", + "SPDXID": "SPDXRef-Package-ahash-0.8.11", + "description": "A non-cryptographic hash function using AES-NI for high performance", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde_ignored@0.1.10", + "referenceLocator": "pkg:cargo/ahash@0.8.11", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde_ignored", - "versionInfo": "0.1.10" + "name": "ahash", + "versionInfo": "0.8.11" }, { - "SPDXID": "SPDXRef-Package-notify-6.1.1", - "description": "Cross-platform filesystem notification library", + "SPDXID": "SPDXRef-Package-bounded-vec-deque-0.1.1", + "description": "A double-ended queue|ringbuffer with an upper bound on its length.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/notify@6.1.1", + "referenceLocator": "pkg:cargo/bounded-vec-deque@0.1.1", "referenceType": "purl" } ], - "homepage": "https://github.com/notify-rs/notify", - "licenseConcluded": "CC0-1.0", - "licenseDeclared": "CC0-1.0", - "name": "notify", - "versionInfo": "6.1.1" + "licenseConcluded": "GPL-3.0-or-later OR BSD-3-Clause", + "licenseDeclared": "GPL-3.0+ OR BSD-3-Clause", + "name": "bounded-vec-deque", + "versionInfo": "0.1.1" }, { - "SPDXID": "SPDXRef-Package-phf-0.11.2", - "description": "Runtime support for perfect hash function data structures", + "SPDXID": "SPDXRef-Package-syn-2.0.77", + "description": "Parser for Rust source code", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/phf@0.11.2", + "referenceLocator": "pkg:cargo/syn@2.0.77", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "phf", - "versionInfo": "0.11.2" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "syn", + "versionInfo": "2.0.77" }, { - "SPDXID": "SPDXRef-Package-asynchronous-codec-0.7.0", - "description": "Utilities for encoding and decoding frames using `async/await`", + "SPDXID": "SPDXRef-Package-num-conv-0.1.0", + "description": "`num_conv` is a crate to convert between integer types without using `as` casts. This provides\nbetter certainty when refactoring, makes the exact behavior of code more explicit, and allows using\nturbofish syntax.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/asynchronous-codec@0.7.0", + "referenceLocator": "pkg:cargo/num-conv@0.1.0", "referenceType": "purl" } ], - "homepage": "https://github.com/mxinden/asynchronous-codec", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "asynchronous-codec", - "versionInfo": "0.7.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "num-conv", + "versionInfo": "0.1.0" }, { - "SPDXID": "SPDXRef-Package-derive_more-impl-1.0.0", - "description": "Internal implementation of `derive_more` crate", + "SPDXID": "SPDXRef-Package-by_address-1.2.1", + "description": "Wrapper for comparing and hashing pointers by address", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive_more-impl@1.0.0", + "referenceLocator": "pkg:cargo/by_address@1.2.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "derive_more-impl", - "versionInfo": "1.0.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "by_address", + "versionInfo": "1.2.1" }, { - "SPDXID": "SPDXRef-Package-const-oid-0.9.6", - "description": "Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard\nas defined in ITU X.660, with support for BER/DER encoding/decoding as well as\nheapless no_std (i.e. embedded) support\n", + "SPDXID": "SPDXRef-Package-glob-match-0.2.1", + "description": "An extremely fast glob matcher", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/const-oid@0.9.6", + "referenceLocator": "pkg:cargo/glob-match@0.2.1", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "const-oid", - "versionInfo": "0.9.6" - }, - { - "SPDXID": "SPDXRef-Package-tor-log-ratelim-0.22.0", - "description": "Facility for rate-limiting log messages in Arti", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-log-ratelim", - "versionInfo": "0.22.0" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "glob-match", + "versionInfo": "0.2.1" }, { - "SPDXID": "SPDXRef-Package-minimal-lexical-0.2.1", - "description": "Fast float parsing conversion routines.", + "SPDXID": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "description": "Rust macro to automatically implement the builder pattern for arbitrary structs.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/minimal-lexical@0.2.1", + "referenceLocator": "pkg:cargo/derive_builder_fork_arti@0.11.2", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT/Apache-2.0", - "name": "minimal-lexical", - "versionInfo": "0.2.1" + "name": "derive_builder_fork_arti", + "versionInfo": "0.11.2" }, { - "SPDXID": "SPDXRef-Package-wasm-bindgen-macro-0.2.93", - "description": "Definition of the `#[wasm_bindgen]` attribute, an internal dependency\n", + "SPDXID": "SPDXRef-Package-amplify_syn-2.0.1", + "description": "Amplifying syn capabilities: helper functions for creating proc macro libraries", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wasm-bindgen-macro@0.2.93", + "referenceLocator": "pkg:cargo/amplify_syn@2.0.1", "referenceType": "purl" } ], - "homepage": "https://rustwasm.github.io/wasm-bindgen/", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "wasm-bindgen-macro", - "versionInfo": "0.2.93" + "homepage": "https://github.com/rust-amplify", + "licenseConcluded": "Apache-2.0", + "licenseDeclared": "Apache-2.0", + "name": "amplify_syn", + "versionInfo": "2.0.1" }, { - "SPDXID": "SPDXRef-Package-rustversion-1.0.17", - "description": "Conditional compilation according to rustc compiler version", + "SPDXID": "SPDXRef-Package-futures-util-0.3.30", + "description": "Common utilities and extension traits for the futures-rs library.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rustversion@1.0.17", + "referenceLocator": "pkg:cargo/futures-util@0.3.30", "referenceType": "purl" } ], + "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "rustversion", - "versionInfo": "1.0.17" + "name": "futures-util", + "versionInfo": "0.3.30" }, { - "SPDXID": "SPDXRef-Package-kqueue-1.0.8", - "description": "kqueue interface for BSDs", + "SPDXID": "SPDXRef-Package-tinyvec-1.8.0", + "description": "`tinyvec` provides 100% safe vec-like data structures.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/kqueue@1.0.8", + "referenceLocator": "pkg:cargo/tinyvec@1.8.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "kqueue", - "versionInfo": "1.0.8" + "licenseConcluded": "Zlib OR Apache-2.0 OR MIT", + "licenseDeclared": "Zlib OR Apache-2.0 OR MIT", + "name": "tinyvec", + "versionInfo": "1.8.0" }, { - "SPDXID": "SPDXRef-Package-base16ct-0.2.0", - "description": "Pure Rust implementation of Base16 a.k.a hexadecimal (RFC 4648) which avoids\nany usages of data-dependent branches/LUTs and thereby provides portable\n\"best effort\" constant-time operation and embedded-friendly no_std support\n", + "SPDXID": "SPDXRef-Package-crc32fast-1.4.2", + "description": "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/base16ct@0.2.0", + "referenceLocator": "pkg:cargo/crc32fast@1.4.2", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "base16ct", - "versionInfo": "0.2.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "crc32fast", + "versionInfo": "1.4.2" }, { - "SPDXID": "SPDXRef-Package-url-2.5.2", - "description": "URL library for Rust, based on the WHATWG URL Standard", + "SPDXID": "SPDXRef-Package-tempfile-3.12.0", + "description": "A library for managing temporary files and directories.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/url@2.5.2", + "referenceLocator": "pkg:cargo/tempfile@3.12.0", "referenceType": "purl" } ], + "homepage": "https://stebalien.com/projects/tempfile-rs/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "url", - "versionInfo": "2.5.2" + "name": "tempfile", + "versionInfo": "3.12.0" }, { - "SPDXID": "SPDXRef-Package-fastrand-2.1.1", - "description": "A simple and fast random number generator", + "SPDXID": "SPDXRef-Package-windows_i686_msvc-0.48.5", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fastrand@2.1.1", + "referenceLocator": "pkg:cargo/windows_i686_msvc@0.48.5", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "fastrand", - "versionInfo": "2.1.1" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows_i686_msvc", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-time-core-0.1.2", - "description": "This crate is an implementation detail and should not be relied upon directly.", + "SPDXID": "SPDXRef-Package-rusqlite-0.32.1", + "description": "Ergonomic wrapper for SQLite", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/time-core@0.1.2", + "referenceLocator": "pkg:cargo/rusqlite@0.32.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "time-core", - "versionInfo": "0.1.2" - }, - { - "SPDXID": "SPDXRef-Package-tor-checkable-0.22.0", - "description": "Types to ensure that signed or time-bound data is validated before use", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-checkable", - "versionInfo": "0.22.0" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "rusqlite", + "versionInfo": "0.32.1" }, { - "SPDXID": "SPDXRef-Package-weak-table-0.3.2", - "description": "Weak hash maps and sets", + "SPDXID": "SPDXRef-Package-adler-1.0.2", + "description": "A simple clean-room implementation of the Adler-32 checksum", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/weak-table@0.3.2", + "referenceLocator": "pkg:cargo/adler@1.0.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "weak-table", - "versionInfo": "0.3.2" + "licenseConcluded": "0BSD OR MIT OR Apache-2.0", + "licenseDeclared": "0BSD OR MIT OR Apache-2.0", + "name": "adler", + "versionInfo": "1.0.2" }, { - "SPDXID": "SPDXRef-Package-cfg-if-1.0.0", - "description": "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n", + "SPDXID": "SPDXRef-Package-tor-relay-selection-0.24.0", + "description": "Logic to select Tor relays for specific purposes", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/cfg-if@1.0.0", + "referenceLocator": "pkg:cargo/tor-relay-selection@0.24.0", "referenceType": "purl" } ], - "homepage": "https://github.com/alexcrichton/cfg-if", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "cfg-if", - "versionInfo": "1.0.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-netdoc-0.22.0", - "description": "Network document formats used with the Tor protocols.", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-netdoc", - "versionInfo": "0.22.0" + "name": "tor-relay-selection", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-security-framework-2.11.1", - "description": "Security.framework bindings for macOS and iOS", + "SPDXID": "SPDXRef-Package-k12-0.3.0", + "description": "Pure Rust implementation of the KangarooTwelve hash function", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/security-framework@2.11.1", + "referenceLocator": "pkg:cargo/k12@0.3.0", "referenceType": "purl" } ], - "homepage": "https://lib.rs/crates/security_framework", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "security-framework", - "versionInfo": "2.11.1" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "k12", + "versionInfo": "0.3.0" }, { - "SPDXID": "SPDXRef-Package-gimli-0.29.0", - "description": "A library for reading and writing the DWARF debugging format.", + "SPDXID": "SPDXRef-Package-windows_i686_gnu-0.48.5", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/gimli@0.29.0", + "referenceLocator": "pkg:cargo/windows_i686_gnu@0.48.5", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "gimli", - "versionInfo": "0.29.0" + "name": "windows_i686_gnu", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-rustc-demangle-0.1.24", - "description": "Rust compiler symbol demangling.\n", + "SPDXID": "SPDXRef-Package-utf16_iter-1.0.5", + "description": "Iterator by char over potentially-invalid UTF-16 in &[u16]", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rustc-demangle@0.1.24", + "referenceLocator": "pkg:cargo/utf16_iter@1.0.5", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-lang/rustc-demangle", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "rustc-demangle", - "versionInfo": "0.1.24" + "homepage": "https://docs.rs/utf16_iter/", + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "utf16_iter", + "versionInfo": "1.0.5" }, { - "SPDXID": "SPDXRef-Package-option-ext-0.2.0", - "description": "Extends `Option` with additional operations", + "SPDXID": "SPDXRef-Package-windows_i686_gnullvm-0.52.6", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/option-ext@0.2.0", + "referenceLocator": "pkg:cargo/windows_i686_gnullvm@0.52.6", "referenceType": "purl" } ], - "homepage": "https://github.com/soc/option-ext", - "licenseConcluded": "MPL-2.0", - "licenseDeclared": "MPL-2.0", - "name": "option-ext", - "versionInfo": "0.2.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows_i686_gnullvm", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-backtrace-0.3.73", - "description": "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n", + "SPDXID": "SPDXRef-Package-zerocopy-0.7.35", + "description": "Utilities for zero-copy parsing and serialization", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/backtrace@0.3.73", + "referenceLocator": "pkg:cargo/zerocopy@0.7.35", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-lang/backtrace-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "backtrace", - "versionInfo": "0.3.73" + "licenseConcluded": "BSD-2-Clause OR Apache-2.0 OR MIT", + "licenseDeclared": "BSD-2-Clause OR Apache-2.0 OR MIT", + "name": "zerocopy", + "versionInfo": "0.7.35" }, { - "SPDXID": "SPDXRef-Package-crc32fast-1.4.2", - "description": "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation", + "SPDXID": "SPDXRef-Package-zerovec-derive-0.10.3", + "description": "Custom derive for the zerovec crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/crc32fast@1.4.2", + "referenceLocator": "pkg:cargo/zerovec-derive@0.10.3", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "crc32fast", - "versionInfo": "1.4.2" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "zerovec-derive", + "versionInfo": "0.10.3" }, { - "SPDXID": "SPDXRef-Package-windows-core-0.52.0", - "description": "Rust for Windows", + "SPDXID": "SPDXRef-Package-tor-dirclient-0.24.0", + "description": "Downloads specific Tor network directory objects over the Tor network", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows-core@0.52.0", + "referenceLocator": "pkg:cargo/tor-dirclient@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows-core", - "versionInfo": "0.52.0" + "name": "tor-dirclient", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-bumpalo-3.16.0", - "description": "A fast bump allocation arena for Rust.", + "SPDXID": "SPDXRef-Package-flate2-1.0.33", + "description": "DEFLATE compression and decompression exposed as Read/BufRead/Write streams.\nSupports miniz_oxide and multiple zlib implementations. Supports zlib, gzip,\nand raw deflate streams.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bumpalo@3.16.0", + "referenceLocator": "pkg:cargo/flate2@1.0.33", "referenceType": "purl" } ], + "homepage": "https://github.com/rust-lang/flate2-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "bumpalo", - "versionInfo": "3.16.0" + "name": "flate2", + "versionInfo": "1.0.33" }, { - "SPDXID": "SPDXRef-Package-static_assertions-1.1.0", - "description": "Compile-time assertions to ensure that invariants are met.", + "SPDXID": "SPDXRef-Package-icu_properties_data-1.5.0", + "description": "Data for the icu_properties crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/static_assertions@1.1.0", + "referenceLocator": "pkg:cargo/icu_properties_data@1.5.0", "referenceType": "purl" } ], - "homepage": "https://github.com/nvzqz/static-assertions-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "static_assertions", - "versionInfo": "1.1.0" + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_properties_data", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-unicode-normalization-0.1.23", - "description": "This crate provides functions for normalization of\nUnicode strings, including Canonical and Compatible\nDecomposition and Recomposition, as described in\nUnicode Standard Annex #15.\n", + "SPDXID": "SPDXRef-Package-phf_generator-0.11.2", + "description": "PHF generation logic", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/unicode-normalization@0.1.23", + "referenceLocator": "pkg:cargo/phf_generator@0.11.2", "referenceType": "purl" } ], - "homepage": "https://github.com/unicode-rs/unicode-normalization", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "unicode-normalization", - "versionInfo": "0.1.23" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "phf_generator", + "versionInfo": "0.11.2" }, { - "SPDXID": "SPDXRef-Package-arrayvec-0.7.6", - "description": "A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.", + "SPDXID": "SPDXRef-Package-tracing-test-macro-0.2.5", + "description": "A procedural macro that allow for easier testing of crates that use `tracing`.\n\nInternal crate, should only be used through the `tracing-test` crate.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/arrayvec@0.7.6", + "referenceLocator": "pkg:cargo/tracing-test-macro@0.2.5", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "arrayvec", - "versionInfo": "0.7.6" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tracing-test-macro", + "versionInfo": "0.2.5" }, { - "SPDXID": "SPDXRef-Package-tor-persist-0.22.0", - "description": "Persistent state for the Arti Tor implementation", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "SPDXID": "SPDXRef-Package-uncased-0.9.10", + "description": "Case-preserving, ASCII case-insensitive, no_std string types.", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/uncased@0.9.10", + "referenceType": "purl" + } + ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-persist", - "versionInfo": "0.22.0" + "name": "uncased", + "versionInfo": "0.9.10" }, { - "SPDXID": "SPDXRef-Package-atomic-0.6.0", - "description": "Generic Atomic wrapper type", + "SPDXID": "SPDXRef-Package-blanket-0.3.0", + "description": "A simple macro to derive blanket implementations for your traits.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/atomic@0.6.0", + "referenceLocator": "pkg:cargo/blanket@0.3.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0/MIT", - "name": "atomic", - "versionInfo": "0.6.0" + "homepage": "https://github.com/althonos/blanket", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "blanket", + "versionInfo": "0.3.0" }, { - "SPDXID": "SPDXRef-Package-spin-0.9.8", - "description": "Spin-based synchronization primitives", + "SPDXID": "SPDXRef-Package-enum-ordinalize-3.1.15", + "description": "This crates provides a procedural macro to let enums not only get its variants' ordinal but also be constructed from an ordinal.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/spin@0.9.8", + "referenceLocator": "pkg:cargo/enum-ordinalize@3.1.15", "referenceType": "purl" } ], + "homepage": "https://magiclen.org/enum-ordinalize", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "spin", - "versionInfo": "0.9.8" + "name": "enum-ordinalize", + "versionInfo": "3.1.15" }, { - "SPDXID": "SPDXRef-Package-windows_aarch64_gnullvm-0.52.6", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", + "description": "Fused wrapper for futures::channel::oneshot", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_aarch64_gnullvm@0.52.6", + "referenceLocator": "pkg:cargo/oneshot-fused-workaround@0.2.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_aarch64_gnullvm", - "versionInfo": "0.52.6" + "name": "oneshot-fused-workaround", + "versionInfo": "0.2.0" }, { - "SPDXID": "SPDXRef-Package-phf_macros-0.11.2", - "description": "Macros to generate types in the phf crate", + "SPDXID": "SPDXRef-Package-wyz-0.5.1", + "description": "myrrlyn’s utility collection", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/phf_macros@0.11.2", + "referenceLocator": "pkg:cargo/wyz@0.5.1", "referenceType": "purl" } ], + "homepage": "https://myrrlyn.net/crates/wyz", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "phf_macros", - "versionInfo": "0.11.2" + "name": "wyz", + "versionInfo": "0.5.1" }, { - "SPDXID": "SPDXRef-Package-num-integer-0.1.46", - "description": "Integer traits and functions", + "SPDXID": "SPDXRef-Package-parking_lot-0.12.3", + "description": "More compact and efficient implementations of the standard synchronization primitives.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num-integer@0.1.46", + "referenceLocator": "pkg:cargo/parking_lot@0.12.3", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-num/num-integer", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "num-integer", - "versionInfo": "0.1.46" + "name": "parking_lot", + "versionInfo": "0.12.3" }, { - "SPDXID": "SPDXRef-Package-displaydoc-0.2.5", - "description": "A derive macro for implementing the display Trait via a doc comment and string interpolation\n", + "SPDXID": "SPDXRef-Package-bstr-1.10.0", + "description": "A string type that is not required to be valid UTF-8.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/displaydoc@0.2.5", + "referenceLocator": "pkg:cargo/bstr@1.10.0", "referenceType": "purl" } ], - "homepage": "https://github.com/yaahc/displaydoc", + "homepage": "https://github.com/BurntSushi/bstr", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "displaydoc", - "versionInfo": "0.2.5" + "name": "bstr", + "versionInfo": "1.10.0" }, { - "SPDXID": "SPDXRef-Package-futures-sink-0.3.30", - "description": "The asynchronous `Sink` trait for the futures-rs library.\n", + "SPDXID": "SPDXRef-Package-tinystr-0.7.6", + "description": "A small ASCII-only bounded length string representation.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-sink@0.3.30", + "referenceLocator": "pkg:cargo/tinystr@0.7.6", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-sink", - "versionInfo": "0.3.30" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "tinystr", + "versionInfo": "0.7.6" }, { - "SPDXID": "SPDXRef-Package-tracing-core-0.1.32", - "description": "Core primitives for application-level tracing.\n", + "SPDXID": "SPDXRef-Package-ctr-0.9.2", + "description": "CTR block modes of operation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tracing-core@0.1.32", + "referenceLocator": "pkg:cargo/ctr@0.9.2", "referenceType": "purl" } ], - "homepage": "https://tokio.rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tracing-core", - "versionInfo": "0.1.32" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "ctr", + "versionInfo": "0.9.2" }, { - "SPDXID": "SPDXRef-Package-mio-1.0.2", - "description": "Lightweight non-blocking I/O.", + "SPDXID": "SPDXRef-Package-once_cell-1.19.0", + "description": "Single assignment cells and lazy values.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/mio@1.0.2", + "referenceLocator": "pkg:cargo/once_cell@1.19.0", "referenceType": "purl" } ], - "homepage": "https://github.com/tokio-rs/mio", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "mio", - "versionInfo": "1.0.2" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "once_cell", + "versionInfo": "1.19.0" }, { - "SPDXID": "SPDXRef-Package-xz2-0.1.7", - "description": "Rust bindings to liblzma providing Read/Write streams as well as low-level\nin-memory encoding/decoding.\n", + "SPDXID": "SPDXRef-Package-icu_provider-1.5.0", + "description": "Trait and struct definitions for the ICU data provider", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/xz2@0.1.7", + "referenceLocator": "pkg:cargo/icu_provider@1.5.0", "referenceType": "purl" } ], - "homepage": "https://github.com/alexcrichton/xz2-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "xz2", - "versionInfo": "0.1.7" + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_provider", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-futures-channel-0.3.30", - "description": "Channels for asynchronous communication using futures-rs.\n", + "SPDXID": "SPDXRef-Package-futures-task-0.3.30", + "description": "Tools for working with tasks.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-channel@0.3.30", + "referenceLocator": "pkg:cargo/futures-task@0.3.30", "referenceType": "purl" } ], "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-channel", + "name": "futures-task", "versionInfo": "0.3.30" }, { - "SPDXID": "SPDXRef-Package-strum_macros-0.25.3", - "description": "Helpful macros for working with enums and strings", + "SPDXID": "SPDXRef-Package-tap-1.0.1", + "description": "Generic extensions for tapping values in Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/strum_macros@0.25.3", + "referenceLocator": "pkg:cargo/tap@1.0.1", "referenceType": "purl" } ], - "homepage": "https://github.com/Peternator7/strum", + "homepage": "https://github.com/myrrlyn/tap", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "strum_macros", - "versionInfo": "0.25.3" + "name": "tap", + "versionInfo": "1.0.1" }, { - "SPDXID": "SPDXRef-Package-httparse-1.9.4", - "description": "A tiny, safe, speedy, zero-copy HTTP/1.x parser.", + "SPDXID": "SPDXRef-Package-tracing-core-0.1.32", + "description": "Core primitives for application-level tracing.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/httparse@1.9.4", + "referenceLocator": "pkg:cargo/tracing-core@0.1.32", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "httparse", - "versionInfo": "1.9.4" - }, - { - "SPDXID": "SPDXRef-Package-tor-keymgr-0.22.0", - "description": "Key management for the Arti Tor implementation", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-keymgr", - "versionInfo": "0.22.0" + "homepage": "https://tokio.rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tracing-core", + "versionInfo": "0.1.32" }, { - "SPDXID": "SPDXRef-Package-hkdf-0.12.4", - "description": "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)", + "SPDXID": "SPDXRef-Package-toml-0.8.19", + "description": "A native Rust encoder and decoder of TOML-formatted files and streams. Provides\nimplementations of the standard Serialize/Deserialize traits for TOML data to\nfacilitate deserializing and serializing Rust structures.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hkdf@0.12.4", + "referenceLocator": "pkg:cargo/toml@0.8.19", "referenceType": "purl" } ], - "homepage": "https://github.com/RustCrypto/KDFs/", + "homepage": "https://github.com/toml-rs/toml", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "hkdf", - "versionInfo": "0.12.4" + "name": "toml", + "versionInfo": "0.8.19" }, { - "SPDXID": "SPDXRef-Package-libc-0.2.158", - "description": "Raw FFI bindings to platform libraries like libc.\n", + "SPDXID": "SPDXRef-Package-windows_aarch64_msvc-0.52.6", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/libc@0.2.158", + "referenceLocator": "pkg:cargo/windows_aarch64_msvc@0.52.6", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-lang/libc", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "libc", - "versionInfo": "0.2.158" - }, - { - "SPDXID": "SPDXRef-Package-cgosling-proc-macros-0.0.0", - "downloadLocation": "NONE", - "licenseConcluded": "NOASSERTION", - "name": "cgosling-proc-macros", - "versionInfo": "0.0.0" + "name": "windows_aarch64_msvc", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-generic-array-0.14.7", - "description": "Generic types implementing functionality of arrays", + "SPDXID": "SPDXRef-Package-typenum-1.17.0", + "description": "Typenum is a Rust library for type-level numbers evaluated at\n compile time. It currently supports bits, unsigned integers, and signed\n integers. It also provides a type-level array of type-level numbers, but its\n implementation is incomplete.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/generic-array@0.14.7", + "referenceLocator": "pkg:cargo/typenum@1.17.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "generic-array", - "versionInfo": "0.14.7" - }, - { - "SPDXID": "SPDXRef-Package-safelog-0.3.8", - "description": "Conditionally suppress confidential information from logs", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "safelog", - "versionInfo": "0.3.8" + "name": "typenum", + "versionInfo": "1.17.0" }, { - "SPDXID": "SPDXRef-Package-indexmap-1.9.3", - "description": "A hash table with consistent order and fast iteration.", + "SPDXID": "SPDXRef-Package-ff-0.13.0", + "description": "Library for building and interfacing with finite fields", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/indexmap@1.9.3", + "referenceLocator": "pkg:cargo/ff@0.13.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "indexmap", - "versionInfo": "1.9.3" + "homepage": "https://github.com/zkcrypto/ff", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "ff", + "versionInfo": "0.13.0" }, { - "SPDXID": "SPDXRef-Package-winapi-x86_64-pc-windows-gnu-0.4.0", - "description": "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.", + "SPDXID": "SPDXRef-Package-serde_spanned-0.6.7", + "description": "Serde-compatible spanned Value", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/winapi-x86_64-pc-windows-gnu@0.4.0", + "referenceLocator": "pkg:cargo/serde_spanned@0.6.7", "referenceType": "purl" } ], + "homepage": "https://github.com/toml-rs/toml", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "winapi-x86_64-pc-windows-gnu", - "versionInfo": "0.4.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "serde_spanned", + "versionInfo": "0.6.7" }, { - "SPDXID": "SPDXRef-Package-strum_macros-0.26.4", - "description": "Helpful macros for working with enums and strings", + "SPDXID": "SPDXRef-Package-miniz_oxide-0.8.0", + "description": "DEFLATE compression and decompression library rewritten in Rust based on miniz", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/strum_macros@0.26.4", + "referenceLocator": "pkg:cargo/miniz_oxide@0.8.0", "referenceType": "purl" } ], - "homepage": "https://github.com/Peternator7/strum", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "strum_macros", - "versionInfo": "0.26.4" + "homepage": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", + "licenseConcluded": "MIT OR Zlib OR Apache-2.0", + "licenseDeclared": "MIT OR Zlib OR Apache-2.0", + "name": "miniz_oxide", + "versionInfo": "0.8.0" }, { - "SPDXID": "SPDXRef-Package-write16-1.0.0", - "description": "A UTF-16 analog of the Write trait", + "SPDXID": "SPDXRef-Package-static_assertions-1.1.0", + "description": "Compile-time assertions to ensure that invariants are met.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/write16@1.0.0", + "referenceLocator": "pkg:cargo/static_assertions@1.1.0", "referenceType": "purl" } ], - "homepage": "https://docs.rs/write16/", - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "write16", - "versionInfo": "1.0.0" + "homepage": "https://github.com/nvzqz/static-assertions-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "static_assertions", + "versionInfo": "1.1.0" }, { - "SPDXID": "SPDXRef-Package-amplify_num-0.5.3", - "description": "Amplifying numeric types: big-sized and bit-sized integers", + "SPDXID": "SPDXRef-Package-group-0.13.0", + "description": "Elliptic curve group traits and utilities", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/amplify_num@0.5.3", + "referenceLocator": "pkg:cargo/group@0.13.0", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-amplify", - "licenseConcluded": "Apache-2.0", - "licenseDeclared": "Apache-2.0", - "name": "amplify_num", - "versionInfo": "0.5.3" + "homepage": "https://github.com/zkcrypto/group", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "group", + "versionInfo": "0.13.0" }, { - "SPDXID": "SPDXRef-Package-num_enum_derive-0.6.1", - "description": "Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)", + "SPDXID": "SPDXRef-Package-windows-sys-0.52.0", + "description": "Rust for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num_enum_derive@0.6.1", + "referenceLocator": "pkg:cargo/windows-sys@0.52.0", "referenceType": "purl" } ], - "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", - "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", - "name": "num_enum_derive", - "versionInfo": "0.6.1" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows-sys", + "versionInfo": "0.52.0" }, { - "SPDXID": "SPDXRef-Package-zstd-0.13.2", - "description": "Binding for the zstd compression library.", + "SPDXID": "SPDXRef-Package-tor-linkspec-0.24.0", + "description": "Parts of the Tor protocol that indicate specific relays on the network", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zstd@0.13.2", + "referenceLocator": "pkg:cargo/tor-linkspec@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "zstd", - "versionInfo": "0.13.2" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-linkspec", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-ssh-encoding-0.2.0", - "description": "Pure Rust implementation of SSH data type decoders/encoders as described\nin RFC4251\n", + "SPDXID": "SPDXRef-Package-winapi-util-0.1.9", + "description": "A dumping ground for high level safe wrappers over windows-sys.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ssh-encoding@0.2.0", + "referenceLocator": "pkg:cargo/winapi-util@0.1.9", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "ssh-encoding", - "versionInfo": "0.2.0" + "homepage": "https://github.com/BurntSushi/winapi-util", + "licenseConcluded": "Unlicense OR MIT", + "licenseDeclared": "Unlicense OR MIT", + "name": "winapi-util", + "versionInfo": "0.1.9" }, { - "SPDXID": "SPDXRef-Package-num_enum_derive-0.7.3", - "description": "Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)", + "SPDXID": "SPDXRef-Package-fslock-arti-fork-0.2.0", + "description": "A library to use files as locks, forked for use in Arti.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num_enum_derive@0.7.3", + "referenceLocator": "pkg:cargo/fslock-arti-fork@0.2.0", "referenceType": "purl" } ], - "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", - "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", - "name": "num_enum_derive", - "versionInfo": "0.7.3" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "fslock-arti-fork", + "versionInfo": "0.2.0" }, { - "SPDXID": "SPDXRef-Package-ff-0.13.0", - "description": "Library for building and interfacing with finite fields", + "SPDXID": "SPDXRef-Package-bitflags-2.6.0", + "description": "A macro to generate structures which behave like bitflags.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ff@0.13.0", + "referenceLocator": "pkg:cargo/bitflags@2.6.0", "referenceType": "purl" } ], - "homepage": "https://github.com/zkcrypto/ff", + "homepage": "https://github.com/bitflags/bitflags", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "ff", - "versionInfo": "0.13.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "bitflags", + "versionInfo": "2.6.0" }, { - "SPDXID": "SPDXRef-Package-tap-1.0.1", - "description": "Generic extensions for tapping values in Rust", + "SPDXID": "SPDXRef-Package-num_enum-0.6.1", + "description": "Procedural macros to make inter-operation between primitives and enums easier.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tap@1.0.1", + "referenceLocator": "pkg:cargo/num_enum@0.6.1", "referenceType": "purl" } ], - "homepage": "https://github.com/myrrlyn/tap", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tap", - "versionInfo": "1.0.1" + "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", + "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", + "name": "num_enum", + "versionInfo": "0.6.1" }, { - "SPDXID": "SPDXRef-Package-num-iter-0.1.45", - "description": "External iterators for generic mathematics", + "SPDXID": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2", + "description": "Rust macro to automatically implement the builder pattern for arbitrary structs.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num-iter@0.1.45", + "referenceLocator": "pkg:cargo/derive_builder_macro_fork_arti@0.11.2", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-num/num-iter", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "num-iter", - "versionInfo": "0.1.45" - }, - { - "SPDXID": "SPDXRef-Package-tor-rtcompat-0.22.0", - "description": "Compatibility layer for asynchronous runtimes, used by Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-rtcompat", - "versionInfo": "0.22.0" + "licenseDeclared": "MIT/Apache-2.0", + "name": "derive_builder_macro_fork_arti", + "versionInfo": "0.11.2" }, { - "SPDXID": "SPDXRef-Package-darling_macro-0.14.4", - "description": "Internal support for a proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", + "SPDXID": "SPDXRef-Package-openssl-0.10.66", + "description": "OpenSSL bindings", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/darling_macro@0.14.4", + "referenceLocator": "pkg:cargo/openssl@0.10.66", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "darling_macro", - "versionInfo": "0.14.4" + "licenseConcluded": "Apache-2.0", + "licenseDeclared": "Apache-2.0", + "name": "openssl", + "versionInfo": "0.10.66" }, { - "SPDXID": "SPDXRef-Package-core-foundation-0.9.4", - "description": "Bindings to Core Foundation for macOS", + "SPDXID": "SPDXRef-Package-funty-2.0.0", + "description": "Trait generalization over the primitive types", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/core-foundation@0.9.4", + "referenceLocator": "pkg:cargo/funty@2.0.0", "referenceType": "purl" } ], - "homepage": "https://github.com/servo/core-foundation-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "core-foundation", - "versionInfo": "0.9.4" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "funty", + "versionInfo": "2.0.0" }, { - "SPDXID": "SPDXRef-Package-futures-task-0.3.30", - "description": "Tools for working with tasks.\n", + "SPDXID": "SPDXRef-Package-icu_normalizer-1.5.0", + "description": "API for normalizing text into Unicode Normalization Forms", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-task@0.3.30", + "referenceLocator": "pkg:cargo/icu_normalizer@1.5.0", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-task", - "versionInfo": "0.3.30" + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_normalizer", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-phf_shared-0.11.2", - "description": "Support code shared by PHF libraries", + "SPDXID": "SPDXRef-Package-yoke-0.7.4", + "description": "Abstraction allowing borrowed data to be carried along with the backing data it borrows from", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/phf_shared@0.11.2", + "referenceLocator": "pkg:cargo/yoke@0.7.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "phf_shared", - "versionInfo": "0.11.2" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "yoke", + "versionInfo": "0.7.4" }, { - "SPDXID": "SPDXRef-Package-futures-0.3.30", - "description": "An implementation of futures and streams featuring zero allocations,\ncomposability, and iterator-like interfaces.\n", + "SPDXID": "SPDXRef-Package-p256-0.13.2", + "description": "Pure Rust implementation of the NIST P-256 (a.k.a. secp256r1, prime256v1)\nelliptic curve as defined in SP 800-186, with support for ECDH, ECDSA\nsigning/verification, and general purpose curve arithmetic\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures@0.3.30", + "referenceLocator": "pkg:cargo/p256@0.13.2", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures", - "versionInfo": "0.3.30" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "p256", + "versionInfo": "0.13.2" }, { - "SPDXID": "SPDXRef-Package-libsqlite3-sys-0.30.1", - "description": "Native bindings to the libsqlite3 library", + "SPDXID": "SPDXRef-Package-signature-1.6.4", + "description": "Traits for cryptographic signature algorithms (e.g. ECDSA, Ed25519)", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/libsqlite3-sys@0.30.1", + "referenceLocator": "pkg:cargo/signature@1.6.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "libsqlite3-sys", - "versionInfo": "0.30.1" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "signature", + "versionInfo": "1.6.4" }, { - "SPDXID": "SPDXRef-Package-windows-sys-0.48.0", - "description": "Rust for Windows", + "SPDXID": "SPDXRef-Package-zeroize_derive-1.4.2", + "description": "Custom derive support for zeroize", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows-sys@0.48.0", + "referenceLocator": "pkg:cargo/zeroize_derive@1.4.2", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows-sys", - "versionInfo": "0.48.0" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "zeroize_derive", + "versionInfo": "1.4.2" }, { - "SPDXID": "SPDXRef-Package-wasm-bindgen-backend-0.2.93", - "description": "Backend code generation of the wasm-bindgen tool\n", + "SPDXID": "SPDXRef-Package-syn-1.0.109", + "description": "Parser for Rust source code", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wasm-bindgen-backend@0.2.93", + "referenceLocator": "pkg:cargo/syn@1.0.109", "referenceType": "purl" } ], - "homepage": "https://rustwasm.github.io/wasm-bindgen/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "wasm-bindgen-backend", - "versionInfo": "0.2.93" + "name": "syn", + "versionInfo": "1.0.109" }, { - "SPDXID": "SPDXRef-Package-powerfmt-0.2.0", - "description": " `powerfmt` is a library that provides utilities for formatting values. This crate makes it\n significantly easier to support filling to a minimum width with alignment, avoid heap\n allocation, and avoid repetitive calculations.\n", + "SPDXID": "SPDXRef-Package-linux-raw-sys-0.4.14", + "description": "Generated bindings for Linux's userspace API", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/powerfmt@0.2.0", + "referenceLocator": "pkg:cargo/linux-raw-sys@0.4.14", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "powerfmt", - "versionInfo": "0.2.0" + "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "name": "linux-raw-sys", + "versionInfo": "0.4.14" }, { - "SPDXID": "SPDXRef-Package-rusticata-macros-4.1.0", - "description": "Helper macros for Rusticata", + "SPDXID": "SPDXRef-Package-anyhow-1.0.86", + "description": "Flexible concrete Error type built on std::error::Error", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rusticata-macros@4.1.0", + "referenceLocator": "pkg:cargo/anyhow@1.0.86", "referenceType": "purl" } ], - "homepage": "https://github.com/rusticata/rusticata-macros", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "rusticata-macros", - "versionInfo": "4.1.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "anyhow", + "versionInfo": "1.0.86" }, { - "SPDXID": "SPDXRef-Package-rusqlite-0.32.1", - "description": "Ergonomic wrapper for SQLite", + "SPDXID": "SPDXRef-Package-instant-0.1.13", + "description": "Unmaintained, consider using web-time instead - A partial replacement for std::time::Instant that works on WASM to.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/rusqlite@0.32.1", + "referenceLocator": "pkg:cargo/instant@0.1.13", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "rusqlite", - "versionInfo": "0.32.1" + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "instant", + "versionInfo": "0.1.13" }, { - "SPDXID": "SPDXRef-Package-stable_deref_trait-1.2.0", - "description": "An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.\n", + "SPDXID": "SPDXRef-Package-android-tzdata-0.1.1", + "description": "Parser for the Android-specific tzdata file", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/stable_deref_trait@1.2.0", + "referenceLocator": "pkg:cargo/android-tzdata@0.1.1", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "stable_deref_trait", - "versionInfo": "1.2.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-proto-0.22.0", - "description": "Asynchronous client-side implementation of the central Tor network protocols", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-proto", - "versionInfo": "0.22.0" + "name": "android-tzdata", + "versionInfo": "0.1.1" }, { - "SPDXID": "SPDXRef-Package-thiserror-impl-1.0.63", - "description": "Implementation detail of the `thiserror` crate", + "SPDXID": "SPDXRef-Package-typed-index-collections-3.1.0", + "description": "Typed index version of Rust slice and Vec containers", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/thiserror-impl@1.0.63", + "referenceLocator": "pkg:cargo/typed-index-collections@3.1.0", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "thiserror-impl", - "versionInfo": "1.0.63" + "name": "typed-index-collections", + "versionInfo": "3.1.0" }, { - "SPDXID": "SPDXRef-Package-windows_aarch64_gnullvm-0.48.5", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-tor-units-0.24.0", + "description": "Provides macros for types which are constrained within a range, ensuring invalid values are unrepresentable.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_aarch64_gnullvm@0.48.5", + "referenceLocator": "pkg:cargo/tor-units@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_aarch64_gnullvm", - "versionInfo": "0.48.5" + "name": "tor-units", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-proc-macro-crate-3.2.0", - "description": "Replacement for crate (macro_rules keyword) in proc-macros\n", + "SPDXID": "SPDXRef-Package-windows-targets-0.52.6", + "description": "Import libs for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/proc-macro-crate@3.2.0", + "referenceLocator": "pkg:cargo/windows-targets@0.52.6", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "proc-macro-crate", - "versionInfo": "3.2.0" + "name": "windows-targets", + "versionInfo": "0.52.6" }, { - "SPDXID": "SPDXRef-Package-ssh-key-0.6.6", - "description": "Pure Rust implementation of SSH key file format decoders/encoders as described\nin RFC4251/RFC4253 and OpenSSH key formats, as well as \"sshsig\" signatures and\ncertificates (including certificate validation and certificate authority support),\nwith further support for the `authorized_keys` and `known_hosts` file formats.\n", + "SPDXID": "SPDXRef-Package-nom-7.1.3", + "description": "A byte-oriented, zero-copy, parser combinators library", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ssh-key@0.6.6", + "referenceLocator": "pkg:cargo/nom@7.1.3", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "ssh-key", - "versionInfo": "0.6.6" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "nom", + "versionInfo": "7.1.3" }, { - "SPDXID": "SPDXRef-Package-smallvec-1.13.2", - "description": "'Small vector' optimization: store up to a small number of items on the stack", + "SPDXID": "SPDXRef-Package-serde-value-0.7.0", + "description": "Serialization value trees", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/smallvec@1.13.2", + "referenceLocator": "pkg:cargo/serde-value@0.7.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "smallvec", - "versionInfo": "1.13.2" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "serde-value", + "versionInfo": "0.7.0" }, { - "SPDXID": "SPDXRef-Package-serde_spanned-0.6.7", - "description": "Serde-compatible spanned Value", + "SPDXID": "SPDXRef-Package-home-0.5.9", + "description": "Shared definitions of home directories.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde_spanned@0.6.7", + "referenceLocator": "pkg:cargo/home@0.5.9", "referenceType": "purl" } ], - "homepage": "https://github.com/toml-rs/toml", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde_spanned", - "versionInfo": "0.6.7" + "name": "home", + "versionInfo": "0.5.9" }, { - "SPDXID": "SPDXRef-Package-num_enum-0.6.1", - "description": "Procedural macros to make inter-operation between primitives and enums easier.", + "SPDXID": "SPDXRef-Package-tor-checkable-0.24.0", + "description": "Types to ensure that signed or time-bound data is validated before use", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num_enum@0.6.1", + "referenceLocator": "pkg:cargo/tor-checkable@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", - "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", - "name": "num_enum", - "versionInfo": "0.6.1" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-checkable", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-litemap-0.7.3", - "description": "A key-value Map implementation based on a flat, sorted Vec.", + "SPDXID": "SPDXRef-Package-block-buffer-0.10.4", + "description": "Buffer type for block processing of data", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/litemap@0.7.3", + "referenceLocator": "pkg:cargo/block-buffer@0.10.4", "referenceType": "purl" } ], - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "litemap", - "versionInfo": "0.7.3" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "block-buffer", + "versionInfo": "0.10.4" }, { - "SPDXID": "SPDXRef-Package-zeroize-1.8.1", - "description": "Securely clear secrets from memory with a simple trait built on\nstable Rust primitives which guarantee memory is zeroed using an\noperation will not be 'optimized away' by the compiler.\nUses a portable pure Rust implementation that works everywhere,\neven WASM!\n", + "SPDXID": "SPDXRef-Package-phf_macros-0.11.2", + "description": "Macros to generate types in the phf crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zeroize@1.8.1", + "referenceLocator": "pkg:cargo/phf_macros@0.11.2", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "zeroize", - "versionInfo": "1.8.1" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "phf_macros", + "versionInfo": "0.11.2" }, { - "SPDXID": "SPDXRef-Package-downcast-rs-1.2.1", - "description": "Trait object downcasting support using only safe Rust. It supports type\nparameters, associated types, and type constraints.\n", + "SPDXID": "SPDXRef-Package-num_enum-0.7.3", + "description": "Procedural macros to make inter-operation between primitives and enums easier.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/downcast-rs@1.2.1", + "referenceLocator": "pkg:cargo/num_enum@0.7.3", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "downcast-rs", - "versionInfo": "1.2.1" + "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", + "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", + "name": "num_enum", + "versionInfo": "0.7.3" }, { - "SPDXID": "SPDXRef-Package-log-0.4.22", - "description": "A lightweight logging facade for Rust\n", + "SPDXID": "SPDXRef-Package-windows_x86_64_gnullvm-0.48.5", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/log@0.4.22", + "referenceLocator": "pkg:cargo/windows_x86_64_gnullvm@0.48.5", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "log", - "versionInfo": "0.4.22" - }, - { - "SPDXID": "SPDXRef-Package-crypto-bigint-0.5.5", - "description": "Pure Rust implementation of a big integer library which has been designed from\nthe ground-up for use in cryptographic applications. Provides constant-time,\nno_std-friendly implementations of modern formulas using const generics.\n", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/crypto-bigint@0.5.5", - "referenceType": "purl" - } - ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "crypto-bigint", - "versionInfo": "0.5.5" + "name": "windows_x86_64_gnullvm", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-uncased-0.9.10", - "description": "Case-preserving, ASCII case-insensitive, no_std string types.", + "SPDXID": "SPDXRef-Package-serde_with-3.9.0", + "description": "Custom de/serialization functions for Rust's serde", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/uncased@0.9.10", + "referenceLocator": "pkg:cargo/serde_with@3.9.0", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "uncased", - "versionInfo": "0.9.10" + "name": "serde_with", + "versionInfo": "3.9.0" }, { - "SPDXID": "SPDXRef-Package-memchr-2.7.4", - "description": "Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for\n1, 2 or 3 byte search and single substring search.\n", + "SPDXID": "SPDXRef-Package-redox_users-0.4.6", + "description": "A Rust library to access Redox users and groups functionality", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/memchr@2.7.4", + "referenceLocator": "pkg:cargo/redox_users@0.4.6", "referenceType": "purl" } ], - "homepage": "https://github.com/BurntSushi/memchr", - "licenseConcluded": "Unlicense OR MIT", - "licenseDeclared": "Unlicense OR MIT", - "name": "memchr", - "versionInfo": "2.7.4" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "redox_users", + "versionInfo": "0.4.6" }, { - "SPDXID": "SPDXRef-Package-crypto-common-0.1.6", - "description": "Common cryptographic traits", + "SPDXID": "SPDXRef-Package-ryu-1.0.18", + "description": "Fast floating point to string conversion", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/crypto-common@0.1.6", + "referenceLocator": "pkg:cargo/ryu@1.0.18", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "crypto-common", - "versionInfo": "0.1.6" + "licenseConcluded": "Apache-2.0 OR BSL-1.0", + "licenseDeclared": "Apache-2.0 OR BSL-1.0", + "name": "ryu", + "versionInfo": "1.0.18" }, { - "SPDXID": "SPDXRef-Package-educe-0.4.23", - "description": "This crate provides procedural macros to help you implement Rust-built-in traits quickly.", + "SPDXID": "SPDXRef-Package-darling_macro-0.14.4", + "description": "Internal support for a proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/educe@0.4.23", + "referenceLocator": "pkg:cargo/darling_macro@0.14.4", "referenceType": "purl" } ], - "homepage": "https://magiclen.org/educe", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "educe", - "versionInfo": "0.4.23" + "name": "darling_macro", + "versionInfo": "0.14.4" }, { - "SPDXID": "SPDXRef-Package-toml-0.8.19", - "description": "A native Rust encoder and decoder of TOML-formatted files and streams. Provides\nimplementations of the standard Serialize/Deserialize traits for TOML data to\nfacilitate deserializing and serializing Rust structures.\n", + "SPDXID": "SPDXRef-Package-bumpalo-3.16.0", + "description": "A fast bump allocation arena for Rust.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/toml@0.8.19", + "referenceLocator": "pkg:cargo/bumpalo@3.16.0", "referenceType": "purl" } ], - "homepage": "https://github.com/toml-rs/toml", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "toml", - "versionInfo": "0.8.19" + "name": "bumpalo", + "versionInfo": "3.16.0" }, { - "SPDXID": "SPDXRef-Package-priority-queue-2.1.0", - "description": "A Priority Queue implemented as a heap with a function to efficiently change the priority of an item.", + "SPDXID": "SPDXRef-Package-fastrand-2.1.1", + "description": "A simple and fast random number generator", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/priority-queue@2.1.0", + "referenceLocator": "pkg:cargo/fastrand@2.1.1", "referenceType": "purl" } ], - "licenseConcluded": "LGPL-3.0-or-later OR MPL-2.0", - "licenseDeclared": "LGPL-3.0-or-later OR MPL-2.0", - "name": "priority-queue", - "versionInfo": "2.1.0" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "fastrand", + "versionInfo": "2.1.1" }, { - "SPDXID": "SPDXRef-Package-dyn-clone-1.0.17", - "description": "Clone trait that is object-safe", + "SPDXID": "SPDXRef-Package-ed25519-dalek-2.1.1", + "description": "Fast and efficient ed25519 EdDSA key generations, signing, and verification in pure Rust.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/dyn-clone@1.0.17", + "referenceLocator": "pkg:cargo/ed25519-dalek@2.1.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "dyn-clone", - "versionInfo": "1.0.17" + "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "ed25519-dalek", + "versionInfo": "2.1.1" }, { - "SPDXID": "SPDXRef-Package-getrandom-0.2.15", - "description": "A small cross-platform library for retrieving random data from system source", + "SPDXID": "SPDXRef-Package-serde_bytes-0.11.15", + "description": "Optimized handling of `&[u8]` and `Vec` for Serde", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/getrandom@0.2.15", + "referenceLocator": "pkg:cargo/serde_bytes@0.11.15", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "getrandom", - "versionInfo": "0.2.15" - }, - { - "SPDXID": "SPDXRef-Package-tor-relay-selection-0.22.0", - "description": "Logic to select Tor relays for specific purposes", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-relay-selection", - "versionInfo": "0.22.0" + "name": "serde_bytes", + "versionInfo": "0.11.15" }, { - "SPDXID": "SPDXRef-Package-inventory-0.3.15", - "description": "Typed distributed plugin registration", + "SPDXID": "SPDXRef-Package-regex-syntax-0.8.4", + "description": "A regular expression parser.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/inventory@0.3.15", + "referenceLocator": "pkg:cargo/regex-syntax@0.8.4", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "inventory", - "versionInfo": "0.3.15" + "name": "regex-syntax", + "versionInfo": "0.8.4" }, { - "SPDXID": "SPDXRef-Package-windows_x86_64_gnu-0.52.6", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-rustix-0.38.36", + "description": "Safe Rust bindings to POSIX/Unix/Linux/Winsock-like syscalls", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_x86_64_gnu@0.52.6", + "referenceLocator": "pkg:cargo/rustix@0.38.36", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_x86_64_gnu", - "versionInfo": "0.52.6" - }, - { - "SPDXID": "SPDXRef-Package-tor-dirmgr-0.22.0", - "description": "Bootstrap and update an accurate Tor network directory", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-dirmgr", - "versionInfo": "0.22.0" + "licenseConcluded": "Apache-2.0 OR Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "name": "rustix", + "versionInfo": "0.38.36" }, { - "SPDXID": "SPDXRef-Package-darling_core-0.20.10", - "description": "Helper crate for proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", + "SPDXID": "SPDXRef-Package-base64ct-1.6.0", + "description": "Pure Rust implementation of Base64 (RFC 4648) which avoids any usages of\ndata-dependent branches/LUTs and thereby provides portable \"best effort\"\nconstant-time operation and embedded-friendly no_std support\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/darling_core@0.20.10", + "referenceLocator": "pkg:cargo/base64ct@1.6.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "darling_core", - "versionInfo": "0.20.10" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "base64ct", + "versionInfo": "1.6.0" }, { - "SPDXID": "SPDXRef-Package-digest-0.10.7", - "description": "Traits for cryptographic hash functions and message authentication codes", + "SPDXID": "SPDXRef-Package-num-iter-0.1.45", + "description": "External iterators for generic mathematics", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/digest@0.10.7", + "referenceLocator": "pkg:cargo/num-iter@0.1.45", "referenceType": "purl" } ], + "homepage": "https://github.com/rust-num/num-iter", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "digest", - "versionInfo": "0.10.7" + "name": "num-iter", + "versionInfo": "0.1.45" }, { - "SPDXID": "SPDXRef-Package-fnv-1.0.7", - "description": "Fowler–Noll–Vo hash function", + "SPDXID": "SPDXRef-Package-scopeguard-1.2.0", + "description": "A RAII scope guard that will run a given closure when it goes out of scope,\neven if the code between panics (assuming unwinding panic).\n\nDefines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as\nshorthands for guards with one of the implemented strategies.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fnv@1.0.7", + "referenceLocator": "pkg:cargo/scopeguard@1.2.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 / MIT", - "name": "fnv", - "versionInfo": "1.0.7" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "scopeguard", + "versionInfo": "1.2.0" }, { - "SPDXID": "SPDXRef-Package-lock_api-0.4.12", - "description": "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.", + "SPDXID": "SPDXRef-Package-foreign-types-0.3.2", + "description": "A framework for Rust wrappers over C APIs", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/lock_api@0.4.12", + "referenceLocator": "pkg:cargo/foreign-types@0.3.2", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "lock_api", - "versionInfo": "0.4.12" + "licenseDeclared": "MIT/Apache-2.0", + "name": "foreign-types", + "versionInfo": "0.3.2" }, { - "SPDXID": "SPDXRef-Package-ascii-1.1.0", - "description": "ASCII-only equivalents to `char`, `str` and `String`.", + "SPDXID": "SPDXRef-Package-tor-socksproto-0.24.0", + "description": "Encode and decode the SOCKS protocol, as extended in Tor", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ascii@1.1.0", + "referenceLocator": "pkg:cargo/tor-socksproto@0.24.0", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "ascii", - "versionInfo": "1.1.0" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-socksproto", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-equivalent-1.0.1", - "description": "Traits for key comparison in maps.", + "SPDXID": "SPDXRef-Package-crypto-bigint-0.5.5", + "description": "Pure Rust implementation of a big integer library which has been designed from\nthe ground-up for use in cryptographic applications. Provides constant-time,\nno_std-friendly implementations of modern formulas using const generics.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/equivalent@1.0.1", + "referenceLocator": "pkg:cargo/crypto-bigint@0.5.5", "referenceType": "purl" } ], "licenseConcluded": "Apache-2.0 OR MIT", "licenseDeclared": "Apache-2.0 OR MIT", - "name": "equivalent", - "versionInfo": "1.0.1" + "name": "crypto-bigint", + "versionInfo": "0.5.5" }, { - "SPDXID": "SPDXRef-Package-ident_case-1.0.1", - "description": "Utility for applying case rules to Rust identifiers.", + "SPDXID": "SPDXRef-Package-matchers-0.1.0", + "description": "Regex matching on character and byte streams.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/ident_case@1.0.1", + "referenceLocator": "pkg:cargo/matchers@0.1.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "ident_case", - "versionInfo": "1.0.1" + "homepage": "https://github.com/hawkw/matchers", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "matchers", + "versionInfo": "0.1.0" }, { - "SPDXID": "SPDXRef-Package-windows_i686_gnu-0.52.6", + "SPDXID": "SPDXRef-Package-windows_aarch64_msvc-0.48.5", "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_i686_gnu@0.52.6", + "referenceLocator": "pkg:cargo/windows_aarch64_msvc@0.48.5", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_i686_gnu", - "versionInfo": "0.52.6" + "name": "windows_aarch64_msvc", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-strum-0.25.0", - "description": "Helpful macros for working with enums and strings", + "SPDXID": "SPDXRef-Package-addr2line-0.22.0", + "description": "A cross-platform symbolication library written in Rust, using `gimli`", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/strum@0.25.0", + "referenceLocator": "pkg:cargo/addr2line@0.22.0", "referenceType": "purl" } ], - "homepage": "https://github.com/Peternator7/strum", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "strum", - "versionInfo": "0.25.0" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "addr2line", + "versionInfo": "0.22.0" }, { - "SPDXID": "SPDXRef-Package-parking_lot_core-0.9.10", - "description": "An advanced API for creating custom synchronization primitives.", + "SPDXID": "SPDXRef-Package-native-tls-0.2.12", + "description": "A wrapper over a platform's native TLS implementation", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/parking_lot_core@0.9.10", + "referenceLocator": "pkg:cargo/native-tls@0.2.12", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "parking_lot_core", - "versionInfo": "0.9.10" + "name": "native-tls", + "versionInfo": "0.2.12" }, { - "SPDXID": "SPDXRef-Package-num-conv-0.1.0", - "description": "`num_conv` is a crate to convert between integer types without using `as` casts. This provides\nbetter certainty when refactoring, makes the exact behavior of code more explicit, and allows using\nturbofish syntax.\n", + "SPDXID": "SPDXRef-Package-regex-syntax-0.6.29", + "description": "A regular expression parser.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/num-conv@0.1.0", + "referenceLocator": "pkg:cargo/regex-syntax@0.6.29", "referenceType": "purl" } ], + "homepage": "https://github.com/rust-lang/regex", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "num-conv", - "versionInfo": "0.1.0" + "name": "regex-syntax", + "versionInfo": "0.6.29" }, { - "SPDXID": "SPDXRef-Package-postage-0.5.0", - "description": "An async channel library", + "SPDXID": "SPDXRef-Package-asn1-rs-0.6.2", + "description": "Parser/encoder for ASN.1 BER/DER data", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/postage@0.5.0", + "referenceLocator": "pkg:cargo/asn1-rs@0.6.2", "referenceType": "purl" } ], - "homepage": "https://github.com/austinjones/postage-rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "postage", - "versionInfo": "0.5.0" + "homepage": "https://github.com/rusticata/asn1-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "asn1-rs", + "versionInfo": "0.6.2" }, { - "SPDXID": "SPDXRef-Package-futures-io-0.3.30", - "description": "The `AsyncRead`, `AsyncWrite`, `AsyncSeek`, and `AsyncBufRead` traits for the futures-rs library.\n", + "SPDXID": "SPDXRef-Package-signal-hook-registry-1.4.2", + "description": "Backend crate for signal-hook", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/futures-io@0.3.30", + "referenceLocator": "pkg:cargo/signal-hook-registry@1.4.2", "referenceType": "purl" } ], - "homepage": "https://rust-lang.github.io/futures-rs", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "futures-io", - "versionInfo": "0.3.30" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0/MIT", + "name": "signal-hook-registry", + "versionInfo": "1.4.2" }, { - "SPDXID": "SPDXRef-Package-valuable-0.1.0", - "description": "Object-safe value inspection, used to pass un-typed structured data across trait-object boundaries.\n", + "SPDXID": "SPDXRef-Package-icu_provider_macros-1.5.0", + "description": "Proc macros for ICU data providers", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/valuable@0.1.0", + "referenceLocator": "pkg:cargo/icu_provider_macros@1.5.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "valuable", - "versionInfo": "0.1.0" + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_provider_macros", + "versionInfo": "1.5.0" }, { - "SPDXID": "SPDXRef-Package-serde_bytes-0.11.15", - "description": "Optimized handling of `&[u8]` and `Vec` for Serde", + "SPDXID": "SPDXRef-Package-base64-0.22.1", + "description": "encodes and decodes base64 as bytes or utf8", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/serde_bytes@0.11.15", + "referenceLocator": "pkg:cargo/base64@0.22.1", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "serde_bytes", - "versionInfo": "0.11.15" + "name": "base64", + "versionInfo": "0.22.1" }, { - "SPDXID": "SPDXRef-Package-openssl-sys-0.9.103", - "description": "FFI bindings to OpenSSL", + "SPDXID": "SPDXRef-Package-miniz_oxide-0.7.4", + "description": "DEFLATE compression and decompression library rewritten in Rust based on miniz", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/openssl-sys@0.9.103", + "referenceLocator": "pkg:cargo/miniz_oxide@0.7.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "openssl-sys", - "versionInfo": "0.9.103" + "homepage": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", + "licenseConcluded": "MIT OR Zlib OR Apache-2.0", + "licenseDeclared": "MIT OR Zlib OR Apache-2.0", + "name": "miniz_oxide", + "versionInfo": "0.7.4" }, { - "SPDXID": "SPDXRef-Package-hashbrown-0.14.5", - "description": "A Rust port of Google's SwissTable hash map", + "SPDXID": "SPDXRef-Package-tor-dirmgr-0.24.0", + "description": "Bootstrap and update an accurate Tor network directory", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hashbrown@0.14.5", + "referenceLocator": "pkg:cargo/tor-dirmgr@0.24.0", "referenceType": "purl" } ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "hashbrown", - "versionInfo": "0.14.5" + "name": "tor-dirmgr", + "versionInfo": "0.24.0" }, { - "SPDXID": "SPDXRef-Package-socket2-0.5.7", - "description": "Utilities for handling networking sockets with a maximal amount of configuration\npossible intended.\n", + "SPDXID": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93", + "description": "The part of the implementation of the `#[wasm_bindgen]` attribute that is not in the shared backend crate\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/socket2@0.5.7", + "referenceLocator": "pkg:cargo/wasm-bindgen-macro-support@0.2.93", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-lang/socket2", + "homepage": "https://rustwasm.github.io/wasm-bindgen/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "socket2", - "versionInfo": "0.5.7" + "name": "wasm-bindgen-macro-support", + "versionInfo": "0.2.93" }, { - "SPDXID": "SPDXRef-Package-derive-adhoc-macros-0.7.3", - "description": "Macros that implement the derive_adhoc crate", + "SPDXID": "SPDXRef-Package-winnow-0.5.40", + "description": "A byte-oriented, zero-copy, parser combinators library", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive-adhoc-macros@0.7.3", + "referenceLocator": "pkg:cargo/winnow@0.5.40", "referenceType": "purl" } ], - "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-adhoc", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "derive-adhoc-macros", - "versionInfo": "0.7.3" + "name": "winnow", + "versionInfo": "0.5.40" }, { - "SPDXID": "SPDXRef-Package-hex-0.4.3", - "description": "Encoding and decoding data into/from hexadecimal representation.", + "SPDXID": "SPDXRef-Package-humantime-2.1.0", + "description": " A parser and formatter for std::time::{Duration, SystemTime}\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/hex@0.4.3", + "referenceLocator": "pkg:cargo/humantime@2.1.0", "referenceType": "purl" } ], + "homepage": "https://github.com/tailhook/humantime", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "hex", - "versionInfo": "0.4.3" + "licenseDeclared": "MIT/Apache-2.0", + "name": "humantime", + "versionInfo": "2.1.0" }, { - "SPDXID": "SPDXRef-Package-pin-project-1.1.5", - "description": "A crate for safe and ergonomic pin-projection.\n", + "SPDXID": "SPDXRef-Package-fiat-crypto-0.2.9", + "description": "Fiat-crypto generated Rust", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pin-project@1.1.5", + "referenceLocator": "pkg:cargo/fiat-crypto@0.2.9", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "pin-project", - "versionInfo": "1.1.5" + "homepage": "https://github.com/mit-plv/fiat-crypto", + "licenseConcluded": "MIT OR Apache-2.0 OR BSD-1-Clause", + "licenseDeclared": "MIT OR Apache-2.0 OR BSD-1-Clause", + "name": "fiat-crypto", + "versionInfo": "0.2.9" }, { - "SPDXID": "SPDXRef-Package-wasm-bindgen-shared-0.2.93", - "description": "Shared support between wasm-bindgen and wasm-bindgen cli, an internal\ndependency.\n", + "SPDXID": "SPDXRef-Package-zerofrom-0.1.4", + "description": "ZeroFrom trait for constructing", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wasm-bindgen-shared@0.2.93", + "referenceLocator": "pkg:cargo/zerofrom@0.1.4", "referenceType": "purl" } ], - "homepage": "https://rustwasm.github.io/wasm-bindgen/", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "wasm-bindgen-shared", - "versionInfo": "0.2.93" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "zerofrom", + "versionInfo": "0.1.4" }, { - "SPDXID": "SPDXRef-Package-either-1.13.0", - "description": "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.\n", + "SPDXID": "SPDXRef-Package-object-0.36.4", + "description": "A unified interface for reading and writing object file formats.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/either@1.13.0", + "referenceLocator": "pkg:cargo/object@0.36.4", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "either", - "versionInfo": "1.13.0" + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "object", + "versionInfo": "0.36.4" }, { - "SPDXID": "SPDXRef-Package-windows_i686_gnu-0.48.5", - "description": "Import lib for Windows", + "SPDXID": "SPDXRef-Package-litemap-0.7.3", + "description": "A key-value Map implementation based on a flat, sorted Vec.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_i686_gnu@0.48.5", + "referenceLocator": "pkg:cargo/litemap@0.7.3", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_i686_gnu", - "versionInfo": "0.48.5" + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "litemap", + "versionInfo": "0.7.3" }, { - "SPDXID": "SPDXRef-Package-humantime-2.1.0", - "description": " A parser and formatter for std::time::{Duration, SystemTime}\n", + "SPDXID": "SPDXRef-Package-thread_local-1.1.8", + "description": "Per-object thread-local storage", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/humantime@2.1.0", + "referenceLocator": "pkg:cargo/thread_local@1.1.8", "referenceType": "purl" } ], - "homepage": "https://github.com/tailhook/humantime", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "humantime", - "versionInfo": "2.1.0" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "thread_local", + "versionInfo": "1.1.8" }, { - "SPDXID": "SPDXRef-Package-enum-ordinalize-3.1.15", - "description": "This crates provides a procedural macro to let enums not only get its variants' ordinal but also be constructed from an ordinal.", + "SPDXID": "SPDXRef-Package-caret-0.5.0", + "description": "Macros for declaring non-exhaustive C-style enumerations, with named members", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/enum-ordinalize@3.1.15", + "referenceLocator": "pkg:cargo/caret@0.5.0", "referenceType": "purl" } ], - "homepage": "https://magiclen.org/enum-ordinalize", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "enum-ordinalize", - "versionInfo": "3.1.15" + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "caret", + "versionInfo": "0.5.0" }, { - "SPDXID": "SPDXRef-Package-typenum-1.17.0", - "description": "Typenum is a Rust library for type-level numbers evaluated at\n compile time. It currently supports bits, unsigned integers, and signed\n integers. It also provides a type-level array of type-level numbers, but its\n implementation is incomplete.", + "SPDXID": "SPDXRef-Package-serde_derive-1.0.209", + "description": "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/typenum@1.17.0", + "referenceLocator": "pkg:cargo/serde_derive@1.0.209", "referenceType": "purl" } ], + "homepage": "https://serde.rs", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "typenum", - "versionInfo": "1.17.0" - }, - { - "SPDXID": "SPDXRef-Package-tor-netdir-0.22.0", - "description": "Types to represent and use a Tor network directory", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-netdir", - "versionInfo": "0.22.0" + "name": "serde_derive", + "versionInfo": "1.0.209" }, { - "SPDXID": "SPDXRef-Package-bytes-1.7.1", - "description": "Types and traits for working with bytes", + "SPDXID": "SPDXRef-Package-js-sys-0.3.70", + "description": "Bindings for all JS global objects and functions in all JS environments like\nNode.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` crate.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bytes@1.7.1", + "referenceLocator": "pkg:cargo/js-sys@0.3.70", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "bytes", - "versionInfo": "1.7.1" - }, - { - "SPDXID": "SPDXRef-Package-tor-async-utils-0.22.0", - "description": "Async/futures helpers for use with Tor", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "homepage": "https://rustwasm.github.io/wasm-bindgen/", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-async-utils", - "versionInfo": "0.22.0" + "name": "js-sys", + "versionInfo": "0.3.70" }, { - "SPDXID": "SPDXRef-Package-darling_core-0.14.4", - "description": "Helper crate for proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", + "SPDXID": "SPDXRef-Package-dyn-clone-1.0.17", + "description": "Clone trait that is object-safe", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/darling_core@0.14.4", + "referenceLocator": "pkg:cargo/dyn-clone@1.0.17", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "darling_core", - "versionInfo": "0.14.4" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "dyn-clone", + "versionInfo": "1.0.17" }, { - "SPDXID": "SPDXRef-Package-signal-hook-registry-1.4.2", - "description": "Backend crate for signal-hook", + "SPDXID": "SPDXRef-Package-redox_syscall-0.5.3", + "description": "A Rust library to access raw Redox system calls", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/signal-hook-registry@1.4.2", + "referenceLocator": "pkg:cargo/redox_syscall@0.5.3", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0/MIT", - "name": "signal-hook-registry", - "versionInfo": "1.4.2" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "redox_syscall", + "versionInfo": "0.5.3" }, { - "SPDXID": "SPDXRef-Package-derive_more-1.0.0", - "description": "Adds #[derive(x)] macros for more traits", + "SPDXID": "SPDXRef-Package-winnow-0.6.18", + "description": "A byte-oriented, zero-copy, parser combinators library", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive_more@1.0.0", + "referenceLocator": "pkg:cargo/winnow@0.6.18", "referenceType": "purl" } ], "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "derive_more", - "versionInfo": "1.0.0" + "name": "winnow", + "versionInfo": "0.6.18" }, { - "SPDXID": "SPDXRef-Package-darling-0.14.4", - "description": "A proc-macro library for reading attributes into structs when\nimplementing custom derives.\n", + "SPDXID": "SPDXRef-Package-base64-0.13.1", + "description": "encodes and decodes base64 as bytes or utf8", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/darling@0.14.4", + "referenceLocator": "pkg:cargo/base64@0.13.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "darling", - "versionInfo": "0.14.4" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "base64", + "versionInfo": "0.13.1" }, { - "SPDXID": "SPDXRef-Package-growable-bloom-filter-2.1.0", - "description": "Scalable Bloom Filters with serde support", + "SPDXID": "SPDXRef-Package-x25519-dalek-2.0.1", + "description": "X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/growable-bloom-filter@2.1.0", + "referenceLocator": "pkg:cargo/x25519-dalek@2.0.1", "referenceType": "purl" } ], - "homepage": "https://github.com/dpbriggs/growable-bloom-filters", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "growable-bloom-filter", - "versionInfo": "2.1.0" + "homepage": "https://github.com/dalek-cryptography/curve25519-dalek", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "x25519-dalek", + "versionInfo": "2.0.1" }, { - "SPDXID": "SPDXRef-Package-amplify_syn-2.0.1", - "description": "Amplifying syn capabilities: helper functions for creating proc macro libraries", + "SPDXID": "SPDXRef-Package-ordered-float-2.10.1", + "description": "Wrappers for total ordering on floats", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/amplify_syn@2.0.1", + "referenceLocator": "pkg:cargo/ordered-float@2.10.1", "referenceType": "purl" } ], - "homepage": "https://github.com/rust-amplify", - "licenseConcluded": "Apache-2.0", - "licenseDeclared": "Apache-2.0", - "name": "amplify_syn", - "versionInfo": "2.0.1" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "ordered-float", + "versionInfo": "2.10.1" }, { - "SPDXID": "SPDXRef-Package-icu_locid_transform-1.5.0", - "description": "API for Unicode Language and Locale Identifiers canonicalization", + "SPDXID": "SPDXRef-Package-honk-rpc-0.3.0", + "description": "A library implementing an asynchrynous, bi-directional, dynamic, and BSON-based remote procedure call system", + "downloadLocation": "NONE", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "honk-rpc", + "versionInfo": "0.3.0" + }, + { + "SPDXID": "SPDXRef-Package-coarsetime-0.1.34", + "description": "Time and duration crate optimized for speed", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_locid_transform@1.5.0", + "referenceLocator": "pkg:cargo/coarsetime@0.1.34", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_locid_transform", - "versionInfo": "1.5.0" + "homepage": "https://github.com/jedisct1/rust-coarsetime", + "licenseConcluded": "ISC", + "licenseDeclared": "ISC", + "name": "coarsetime", + "versionInfo": "0.1.34" }, { - "SPDXID": "SPDXRef-Package-blanket-0.3.0", - "description": "A simple macro to derive blanket implementations for your traits.", + "SPDXID": "SPDXRef-Package-windows_x86_64_msvc-0.48.5", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/blanket@0.3.0", + "referenceLocator": "pkg:cargo/windows_x86_64_msvc@0.48.5", "referenceType": "purl" } ], - "homepage": "https://github.com/althonos/blanket", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "blanket", - "versionInfo": "0.3.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows_x86_64_msvc", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-data-encoding-2.6.0", - "description": "Efficient and customizable data-encoding functions like base64, base32, and hex", + "SPDXID": "SPDXRef-Package-humantime-serde-1.1.1", + "description": "Serde support for the `humantime` crate", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/data-encoding@2.6.0", + "referenceLocator": "pkg:cargo/humantime-serde@1.1.1", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "data-encoding", - "versionInfo": "2.6.0" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "humantime-serde", + "versionInfo": "1.1.1" }, { - "SPDXID": "SPDXRef-Package-wasm-bindgen-0.2.93", - "description": "Easy support for interacting between JS and Rust.\n", + "SPDXID": "SPDXRef-Package-cookie-factory-0.3.3", + "description": "nom inspired serialization library", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/wasm-bindgen@0.2.93", + "referenceLocator": "pkg:cargo/cookie-factory@0.3.3", "referenceType": "purl" } ], - "homepage": "https://rustwasm.github.io/", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "wasm-bindgen", - "versionInfo": "0.2.93" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "cookie-factory", + "versionInfo": "0.3.3" }, { - "SPDXID": "SPDXRef-Package-zeroize_derive-1.4.2", - "description": "Custom derive support for zeroize", + "SPDXID": "SPDXRef-Package-atomic-0.6.0", + "description": "Generic Atomic wrapper type", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/zeroize_derive@1.4.2", + "referenceLocator": "pkg:cargo/atomic@0.6.0", "referenceType": "purl" } ], "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "zeroize_derive", - "versionInfo": "1.4.2" + "licenseDeclared": "Apache-2.0/MIT", + "name": "atomic", + "versionInfo": "0.6.0" }, { - "SPDXID": "SPDXRef-Package-fslock-0.2.1", - "description": "A library to use files as locks", + "SPDXID": "SPDXRef-Package-uuid-1.10.0", + "description": "A library to generate and parse UUIDs.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/fslock@0.2.1", + "referenceLocator": "pkg:cargo/uuid@1.10.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "fslock", - "versionInfo": "0.2.1" + "homepage": "https://github.com/uuid-rs/uuid", + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "uuid", + "versionInfo": "1.10.0" }, { - "SPDXID": "SPDXRef-Package-dirs-sys-0.4.1", - "description": "System-level helper functions for the dirs and directories crates.", + "SPDXID": "SPDXRef-Package-strsim-0.10.0", + "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein,\nOSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/dirs-sys@0.4.1", + "referenceLocator": "pkg:cargo/strsim@0.10.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "dirs-sys", - "versionInfo": "0.4.1" + "homepage": "https://github.com/dguo/strsim-rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "strsim", + "versionInfo": "0.10.0" }, { - "SPDXID": "SPDXRef-Package-crossbeam-utils-0.8.20", - "description": "Utilities for concurrent programming", + "SPDXID": "SPDXRef-Package-libredox-0.1.3", + "description": "Redox stable ABI", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/crossbeam-utils@0.8.20", + "referenceLocator": "pkg:cargo/libredox@0.1.3", "referenceType": "purl" } ], - "homepage": "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "crossbeam-utils", - "versionInfo": "0.8.20" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "libredox", + "versionInfo": "0.1.3" }, { - "SPDXID": "SPDXRef-Package-der-0.7.9", - "description": "Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules\n(DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with\nfull support for heapless no_std targets\n", + "SPDXID": "SPDXRef-Package-winapi-0.3.9", + "description": "Raw FFI bindings for all of Windows API.", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/der@0.7.9", + "referenceLocator": "pkg:cargo/winapi@0.3.9", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "der", - "versionInfo": "0.7.9" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "winapi", + "versionInfo": "0.3.9" }, { - "SPDXID": "SPDXRef-Package-icu_locid_transform_data-1.5.0", - "description": "Data for the icu_locid_transform crate", + "SPDXID": "SPDXRef-Package-unicode-normalization-0.1.23", + "description": "This crate provides functions for normalization of\nUnicode strings, including Canonical and Compatible\nDecomposition and Recomposition, as described in\nUnicode Standard Annex #15.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/icu_locid_transform_data@1.5.0", + "referenceLocator": "pkg:cargo/unicode-normalization@0.1.23", "referenceType": "purl" } ], - "homepage": "https://icu4x.unicode.org", - "licenseConcluded": "Unicode-3.0", - "licenseDeclared": "Unicode-3.0", - "name": "icu_locid_transform_data", - "versionInfo": "1.5.0" + "homepage": "https://github.com/unicode-rs/unicode-normalization", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "unicode-normalization", + "versionInfo": "0.1.23" }, { - "SPDXID": "SPDXRef-Package-winnow-0.5.40", - "description": "A byte-oriented, zero-copy, parser combinators library", + "SPDXID": "SPDXRef-Package-tor-interface-0.4.0", + "description": "A library providing a Rust interface to interact with the legacy tor daemon", + "downloadLocation": "NONE", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "tor-interface", + "versionInfo": "0.4.0" + }, + { + "SPDXID": "SPDXRef-Package-proc-macro-crate-3.2.0", + "description": "Replacement for crate (macro_rules keyword) in proc-macros\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/winnow@0.5.40", + "referenceLocator": "pkg:cargo/proc-macro-crate@3.2.0", "referenceType": "purl" } ], - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "winnow", - "versionInfo": "0.5.40" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "proc-macro-crate", + "versionInfo": "3.2.0" }, { - "SPDXID": "SPDXRef-Package-atomic-0.5.3", - "description": "Generic Atomic wrapper type", + "SPDXID": "SPDXRef-Package-itoa-1.0.11", + "description": "Fast integer primitive to string conversion", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/atomic@0.5.3", + "referenceLocator": "pkg:cargo/itoa@1.0.11", "referenceType": "purl" } ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0/MIT", - "name": "atomic", - "versionInfo": "0.5.3" + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "itoa", + "versionInfo": "1.0.11" }, { - "SPDXID": "SPDXRef-Package-unicode-xid-0.2.6", - "description": "Determine whether characters have the XID_Start\nor XID_Continue properties according to\nUnicode Standard Annex #31.\n", + "SPDXID": "SPDXRef-Package-cpufeatures-0.2.13", + "description": "Lightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets, \nwith no_std support and support for mobile targets including Android and iOS\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/unicode-xid@0.2.6", + "referenceLocator": "pkg:cargo/cpufeatures@0.2.13", "referenceType": "purl" } ], - "homepage": "https://github.com/unicode-rs/unicode-xid", "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "unicode-xid", - "versionInfo": "0.2.6" + "name": "cpufeatures", + "versionInfo": "0.2.13" }, { - "SPDXID": "SPDXRef-Package-unicode-bidi-0.3.15", - "description": "Implementation of the Unicode Bidirectional Algorithm", + "SPDXID": "SPDXRef-Package-openssl-sys-0.9.103", + "description": "FFI bindings to OpenSSL", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/unicode-bidi@0.3.15", + "referenceLocator": "pkg:cargo/openssl-sys@0.9.103", "referenceType": "purl" } ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "unicode-bidi", - "versionInfo": "0.3.15" + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "openssl-sys", + "versionInfo": "0.9.103" }, { - "SPDXID": "SPDXRef-Package-tracing-subscriber-0.3.18", - "description": "Utilities for implementing and composing `tracing` subscribers.\n", + "SPDXID": "SPDXRef-Package-tokio-macros-2.4.0", + "description": "Tokio's proc macros.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tracing-subscriber@0.3.18", + "referenceLocator": "pkg:cargo/tokio-macros@2.4.0", "referenceType": "purl" } ], "homepage": "https://tokio.rs", "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "tracing-subscriber", - "versionInfo": "0.3.18" + "name": "tokio-macros", + "versionInfo": "2.4.0" }, { - "SPDXID": "SPDXRef-Package-lzma-sys-0.1.20", - "description": "Raw bindings to liblzma which contains an implementation of LZMA and xz stream\nencoding/decoding.\n\nHigh level Rust bindings are available in the `xz2` crate.\n", + "SPDXID": "SPDXRef-Package-futures-0.3.30", + "description": "An implementation of futures and streams featuring zero allocations,\ncomposability, and iterator-like interfaces.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/lzma-sys@0.1.20", + "referenceLocator": "pkg:cargo/futures@0.3.30", "referenceType": "purl" } ], - "homepage": "https://github.com/alexcrichton/xz2-rs", + "homepage": "https://rust-lang.github.io/futures-rs", "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "lzma-sys", - "versionInfo": "0.1.20" + "licenseDeclared": "MIT OR Apache-2.0", + "name": "futures", + "versionInfo": "0.3.30" }, { - "SPDXID": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2", - "description": "Internal helper library for the derive_builder crate.", + "SPDXID": "SPDXRef-Package-windows-targets-0.48.5", + "description": "Import libs for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/derive_builder_core_fork_arti@0.11.2", + "referenceLocator": "pkg:cargo/windows-targets@0.48.5", "referenceType": "purl" } ], "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT/Apache-2.0", - "name": "derive_builder_core_fork_arti", - "versionInfo": "0.11.2" - }, - { - "SPDXID": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", - "description": "Fused wrapper for futures::channel::oneshot", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", "licenseDeclared": "MIT OR Apache-2.0", - "name": "oneshot-fused-workaround", - "versionInfo": "0.1.0" + "name": "windows-targets", + "versionInfo": "0.48.5" }, { - "SPDXID": "SPDXRef-Package-synstructure-0.13.1", - "description": "Helper methods and macros for custom derives", + "SPDXID": "SPDXRef-Package-darling_macro-0.20.10", + "description": "Internal support for a proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/synstructure@0.13.1", + "referenceLocator": "pkg:cargo/darling_macro@0.20.10", "referenceType": "purl" } ], "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "name": "synstructure", - "versionInfo": "0.13.1" + "name": "darling_macro", + "versionInfo": "0.20.10" }, { - "SPDXID": "SPDXRef-Package-yoke-derive-0.7.4", - "description": "Custom derive for the yoke crate", + "SPDXID": "SPDXRef-Package-windows_aarch64_gnullvm-0.52.6", + "description": "Import lib for Windows", "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/yoke-derive@0.7.4", + "referenceLocator": "pkg:cargo/windows_aarch64_gnullvm@0.52.6", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "windows_aarch64_gnullvm", + "versionInfo": "0.52.6" + }, + { + "SPDXID": "SPDXRef-Package-slab-0.4.9", + "description": "Pre-allocated storage for a uniform data type", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/slab@0.4.9", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "slab", + "versionInfo": "0.4.9" + }, + { + "SPDXID": "SPDXRef-Package-concurrent-queue-2.5.0", + "description": "Concurrent multi-producer multi-consumer queue", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/concurrent-queue@2.5.0", + "referenceType": "purl" + } + ], + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "concurrent-queue", + "versionInfo": "2.5.0" + }, + { + "SPDXID": "SPDXRef-Package-icu_locid-1.5.0", + "description": "API for managing Unicode Language and Locale Identifiers", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/icu_locid@1.5.0", "referenceType": "purl" } ], + "homepage": "https://icu4x.unicode.org", "licenseConcluded": "Unicode-3.0", "licenseDeclared": "Unicode-3.0", - "name": "yoke-derive", - "versionInfo": "0.7.4" + "name": "icu_locid", + "versionInfo": "1.5.0" + }, + { + "SPDXID": "SPDXRef-Package-num_enum_derive-0.7.3", + "description": "Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/num_enum_derive@0.7.3", + "referenceType": "purl" + } + ], + "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", + "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", + "name": "num_enum_derive", + "versionInfo": "0.7.3" + }, + { + "SPDXID": "SPDXRef-Package-tor-consdiff-0.24.0", + "description": "Handle the consensus-diff format used in the Tor directory protocol", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/tor-consdiff@0.24.0", + "referenceType": "purl" + } + ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-consdiff", + "versionInfo": "0.24.0" + }, + { + "SPDXID": "SPDXRef-Package-derive-deftly-0.14.2", + "description": "An ergonomic way to write derive() macros", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/derive-deftly@0.14.2", + "referenceType": "purl" + } + ], + "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-deftly", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "derive-deftly", + "versionInfo": "0.14.2" + }, + { + "SPDXID": "SPDXRef-Package-icu_locid_transform-1.5.0", + "description": "API for Unicode Language and Locale Identifiers canonicalization", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/icu_locid_transform@1.5.0", + "referenceType": "purl" + } + ], + "homepage": "https://icu4x.unicode.org", + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "icu_locid_transform", + "versionInfo": "1.5.0" + }, + { + "SPDXID": "SPDXRef-Package-write16-1.0.0", + "description": "A UTF-16 analog of the Write trait", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/write16@1.0.0", + "referenceType": "purl" + } + ], + "homepage": "https://docs.rs/write16/", + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "write16", + "versionInfo": "1.0.0" + }, + { + "SPDXID": "SPDXRef-Package-derive-adhoc-0.7.3", + "description": "An ergonomic way to write derive() macros", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/derive-adhoc@0.7.3", + "referenceType": "purl" + } + ], + "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-adhoc", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "derive-adhoc", + "versionInfo": "0.7.3" + }, + { + "SPDXID": "SPDXRef-Package-derive-adhoc-macros-0.7.3", + "description": "Macros that implement the derive_adhoc crate", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/derive-adhoc-macros@0.7.3", + "referenceType": "purl" + } + ], + "homepage": "https://gitlab.torproject.org/Diziet/rust-derive-adhoc", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "derive-adhoc-macros", + "versionInfo": "0.7.3" + }, + { + "SPDXID": "SPDXRef-Package-der-parser-9.0.0", + "description": "Parser/encoder for ASN.1 BER/DER data", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/der-parser@9.0.0", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/rusticata/der-parser", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "der-parser", + "versionInfo": "9.0.0" + }, + { + "SPDXID": "SPDXRef-Package-siphasher-0.3.11", + "description": "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/siphasher@0.3.11", + "referenceType": "purl" + } + ], + "homepage": "https://docs.rs/siphasher", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "siphasher", + "versionInfo": "0.3.11" + }, + { + "SPDXID": "SPDXRef-Package-writeable-0.5.5", + "description": "A more efficient alternative to fmt::Display", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/writeable@0.5.5", + "referenceType": "purl" + } + ], + "licenseConcluded": "Unicode-3.0", + "licenseDeclared": "Unicode-3.0", + "name": "writeable", + "versionInfo": "0.5.5" + }, + { + "SPDXID": "SPDXRef-Package-fslock-0.2.1", + "description": "A library to use files as locks", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/fslock@0.2.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "fslock", + "versionInfo": "0.2.1" + }, + { + "SPDXID": "SPDXRef-Package-tor-general-addr-0.24.0", + "description": "Generalized socket address type used by Tor", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/tor-general-addr@0.24.0", + "referenceType": "purl" + } + ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-general-addr", + "versionInfo": "0.24.0" + }, + { + "SPDXID": "SPDXRef-Package-hmac-0.12.1", + "description": "Generic implementation of Hash-based Message Authentication Code (HMAC)", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/hmac@0.12.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "hmac", + "versionInfo": "0.12.1" + }, + { + "SPDXID": "SPDXRef-Package-bitvec-1.0.1", + "description": "Addresses memory by bits, for packed collections and bitfields", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/bitvec@1.0.1", + "referenceType": "purl" + } + ], + "homepage": "https://bitvecto-rs.github.io/bitvec", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "bitvec", + "versionInfo": "1.0.1" + }, + { + "SPDXID": "SPDXRef-Package-getrandom-0.2.15", + "description": "A small cross-platform library for retrieving random data from system source", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/getrandom@0.2.15", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "getrandom", + "versionInfo": "0.2.15" + }, + { + "SPDXID": "SPDXRef-Package-notify-7.0.0", + "description": "Cross-platform filesystem notification library", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/notify@7.0.0", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/notify-rs/notify", + "licenseConcluded": "CC0-1.0", + "licenseDeclared": "CC0-1.0", + "name": "notify", + "versionInfo": "7.0.0" + }, + { + "SPDXID": "SPDXRef-Package-num_enum_derive-0.6.1", + "description": "Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/num_enum_derive@0.6.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "BSD-3-Clause OR MIT OR Apache-2.0", + "licenseDeclared": "BSD-3-Clause OR MIT OR Apache-2.0", + "name": "num_enum_derive", + "versionInfo": "0.6.1" + }, + { + "SPDXID": "SPDXRef-Package-regex-1.10.6", + "description": "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/regex@1.10.6", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/rust-lang/regex", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "regex", + "versionInfo": "1.10.6" + }, + { + "SPDXID": "SPDXRef-Package-core-foundation-0.9.4", + "description": "Bindings to Core Foundation for macOS", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/core-foundation@0.9.4", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/servo/core-foundation-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "core-foundation", + "versionInfo": "0.9.4" + }, + { + "SPDXID": "SPDXRef-Package-event-listener-5.3.1", + "description": "Notify async tasks or threads", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/event-listener@5.3.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "event-listener", + "versionInfo": "5.3.1" + }, + { + "SPDXID": "SPDXRef-Package-backtrace-0.3.73", + "description": "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/backtrace@0.3.73", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/rust-lang/backtrace-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "backtrace", + "versionInfo": "0.3.73" + }, + { + "SPDXID": "SPDXRef-Package-foreign-types-shared-0.1.1", + "description": "An internal crate used by foreign-types", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/foreign-types-shared@0.1.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "foreign-types-shared", + "versionInfo": "0.1.1" + }, + { + "SPDXID": "SPDXRef-Package-safelog-0.4.1", + "description": "Conditionally suppress confidential information from logs", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/safelog@0.4.1", + "referenceType": "purl" + } + ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "safelog", + "versionInfo": "0.4.1" + }, + { + "SPDXID": "SPDXRef-Package-strsim-0.11.1", + "description": "Implementations of string similarity metrics. Includes Hamming, Levenshtein,\nOSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/strsim@0.11.1", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/rapidfuzz/strsim-rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "strsim", + "versionInfo": "0.11.1" + }, + { + "SPDXID": "SPDXRef-Package-powerfmt-0.2.0", + "description": " `powerfmt` is a library that provides utilities for formatting values. This crate makes it\n significantly easier to support filling to a minimum width with alignment, avoid heap\n allocation, and avoid repetitive calculations.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/powerfmt@0.2.0", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "powerfmt", + "versionInfo": "0.2.0" + }, + { + "SPDXID": "SPDXRef-Package-bson-2.11.0", + "description": "Encoding and decoding support for BSON in Rust", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/bson@2.11.0", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "bson", + "versionInfo": "2.11.0" + }, + { + "SPDXID": "SPDXRef-Package-shellexpand-3.1.0", + "description": "Shell-like expansions in strings", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/shellexpand@3.1.0", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "shellexpand", + "versionInfo": "3.1.0" + }, + { + "SPDXID": "SPDXRef-Package-overload-0.1.1", + "description": "Provides a macro to simplify operator overloading.", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/overload@0.1.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "overload", + "versionInfo": "0.1.1" + }, + { + "SPDXID": "SPDXRef-Package-fallible-streaming-iterator-0.1.9", + "description": "Fallible streaming iteration", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/fallible-streaming-iterator@0.1.9", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "fallible-streaming-iterator", + "versionInfo": "0.1.9" + }, + { + "SPDXID": "SPDXRef-Package-aes-0.8.4", + "description": "Pure Rust implementation of the Advanced Encryption Standard (a.k.a. Rijndael)", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/aes@0.8.4", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "aes", + "versionInfo": "0.8.4" + }, + { + "SPDXID": "SPDXRef-Package-pem-rfc7468-0.7.0", + "description": "PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS Structures, implementing a\nstrict subset of the original Privacy-Enhanced Mail encoding intended\nspecifically for use with cryptographic keys, certificates, and other messages.\nProvides a no_std-friendly, constant-time implementation suitable for use with\ncryptographic private keys.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/pem-rfc7468@0.7.0", + "referenceType": "purl" + } + ], + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "pem-rfc7468", + "versionInfo": "0.7.0" + }, + { + "SPDXID": "SPDXRef-Package-wasm-bindgen-0.2.93", + "description": "Easy support for interacting between JS and Rust.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/wasm-bindgen@0.2.93", + "referenceType": "purl" + } + ], + "homepage": "https://rustwasm.github.io/", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "wasm-bindgen", + "versionInfo": "0.2.93" + }, + { + "SPDXID": "SPDXRef-Package-time-core-0.1.2", + "description": "This crate is an implementation detail and should not be relied upon directly.", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/time-core@0.1.2", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "time-core", + "versionInfo": "0.1.2" + }, + { + "SPDXID": "SPDXRef-Package-unicode-segmentation-1.12.0", + "description": "This crate provides Grapheme Cluster, Word and Sentence boundaries\naccording to Unicode Standard Annex #29 rules.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/unicode-segmentation@1.12.0", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/unicode-rs/unicode-segmentation", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "unicode-segmentation", + "versionInfo": "1.12.0" + }, + { + "SPDXID": "SPDXRef-Package-darling_core-0.20.10", + "description": "Helper crate for proc-macro library for reading attributes into structs when\nimplementing custom derives. Use https://crates.io/crates/darling in your code.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/darling_core@0.20.10", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "darling_core", + "versionInfo": "0.20.10" + }, + { + "SPDXID": "SPDXRef-Package-phf-0.11.2", + "description": "Runtime support for perfect hash function data structures", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/phf@0.11.2", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "phf", + "versionInfo": "0.11.2" + }, + { + "SPDXID": "SPDXRef-Package-keccak-0.1.5", + "description": "Pure Rust implementation of the Keccak sponge function including the keccak-f\nand keccak-p variants\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/keccak@0.1.5", + "referenceType": "purl" + } + ], + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "keccak", + "versionInfo": "0.1.5" + }, + { + "SPDXID": "SPDXRef-Package-amplify_derive-4.0.1", + "description": "Powerful derivation macros; part of the 'amplify' library", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/amplify_derive@4.0.1", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/rust-amplify", + "licenseConcluded": "Apache-2.0", + "licenseDeclared": "Apache-2.0", + "name": "amplify_derive", + "versionInfo": "4.0.1" + }, + { + "SPDXID": "SPDXRef-Package-option-ext-0.2.0", + "description": "Extends `Option` with additional operations", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/option-ext@0.2.0", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/soc/option-ext", + "licenseConcluded": "MPL-2.0", + "licenseDeclared": "MPL-2.0", + "name": "option-ext", + "versionInfo": "0.2.0" + }, + { + "SPDXID": "SPDXRef-Package-futures-executor-0.3.30", + "description": "Executors for asynchronous tasks based on the futures-rs library.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/futures-executor@0.3.30", + "referenceType": "purl" + } + ], + "homepage": "https://rust-lang.github.io/futures-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "futures-executor", + "versionInfo": "0.3.30" + }, + { + "SPDXID": "SPDXRef-Package-stable_deref_trait-1.2.0", + "description": "An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/stable_deref_trait@1.2.0", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT/Apache-2.0", + "name": "stable_deref_trait", + "versionInfo": "1.2.0" + }, + { + "SPDXID": "SPDXRef-Package-hashlink-0.9.1", + "description": "HashMap-like containers that hold their key-value pairs in a user controllable order", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/hashlink@0.9.1", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "hashlink", + "versionInfo": "0.9.1" + }, + { + "SPDXID": "SPDXRef-Package-futures-core-0.3.30", + "description": "The core traits and types in for the `futures` library.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/futures-core@0.3.30", + "referenceType": "purl" + } + ], + "homepage": "https://rust-lang.github.io/futures-rs", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "futures-core", + "versionInfo": "0.3.30" + }, + { + "SPDXID": "SPDXRef-Package-primeorder-0.13.6", + "description": "Pure Rust implementation of complete addition formulas for prime order elliptic\ncurves (Renes-Costello-Batina 2015). Generic over field elements and curve\nequation coefficients\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/primeorder@0.13.6", + "referenceType": "purl" + } + ], + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "primeorder", + "versionInfo": "0.13.6" + }, + { + "SPDXID": "SPDXRef-Package-amplify-4.7.0", + "description": "Amplifying Rust language capabilities: multiple generic trait implementations, type wrappers, derive macros", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/amplify@4.7.0", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/rust-amplify", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "amplify", + "versionInfo": "4.7.0" + }, + { + "SPDXID": "SPDXRef-Package-pin-project-internal-1.1.5", + "description": "Implementation detail of the `pin-project` crate.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/pin-project-internal@1.1.5", + "referenceType": "purl" + } + ], + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "pin-project-internal", + "versionInfo": "1.1.5" + }, + { + "SPDXID": "SPDXRef-Package-der-0.7.9", + "description": "Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules\n(DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with\nfull support for heapless no_std targets\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/der@0.7.9", + "referenceType": "purl" + } + ], + "licenseConcluded": "Apache-2.0 OR MIT", + "licenseDeclared": "Apache-2.0 OR MIT", + "name": "der", + "versionInfo": "0.7.9" + }, + { + "SPDXID": "SPDXRef-Package-tracing-log-0.2.0", + "description": "Provides compatibility between `tracing` and the `log` crate.\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/tracing-log@0.2.0", + "referenceType": "purl" + } + ], + "homepage": "https://tokio.rs", + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "name": "tracing-log", + "versionInfo": "0.2.0" + }, + { + "SPDXID": "SPDXRef-Package-log-0.4.22", + "description": "A lightweight logging facade for Rust\n", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/log@0.4.22", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "log", + "versionInfo": "0.4.22" + }, + { + "SPDXID": "SPDXRef-Package-octseq-0.5.1", + "description": "Abstractions for types representing octet sequences.", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/octseq@0.5.1", + "referenceType": "purl" + } + ], + "homepage": "https://github.com/NLnetLabs/octets/", + "licenseConcluded": "BSD-3-Clause", + "licenseDeclared": "BSD-3-Clause", + "name": "octseq", + "versionInfo": "0.5.1" + }, + { + "SPDXID": "SPDXRef-Package-tor-basic-utils-0.24.0", + "description": "General helpers used by Tor", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/tor-basic-utils@0.24.0", + "referenceType": "purl" + } + ], + "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "tor-basic-utils", + "versionInfo": "0.24.0" + }, + { + "SPDXID": "SPDXRef-Package-sha1-0.10.6", + "description": "SHA-1 hash function", + "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceLocator": "pkg:cargo/sha1@0.10.6", + "referenceType": "purl" + } + ], + "licenseConcluded": "MIT OR Apache-2.0", + "licenseDeclared": "MIT OR Apache-2.0", + "name": "sha1", + "versionInfo": "0.10.6" + } + ], + "relationships": [ + { + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + }, + { + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-idna-1.0.2" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-const-oid-0.9.6", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + }, + { + "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-crypto-common-0.1.6", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-digest-0.10.7" + }, + { + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" + }, + { + "relatedSpdxElement": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-mio-1.0.2" + }, + { + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-cookie-factory-0.3.3" + }, + { + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-der-0.7.9" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-convert_case-0.6.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-sharded-slab-0.1.7", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + }, + { + "relatedSpdxElement": "SPDXRef-Package-deranged-0.3.11", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-time-0.3.36" + }, + { + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-yoke-0.7.4", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-num_enum_derive-0.6.1", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-num_enum-0.6.1" + }, + { + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" + }, + { + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-android-tzdata-0.1.1", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-chrono-0.4.38" + }, + { + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "SPDXID": "SPDXRef-Package-tokio-macros-2.4.0", - "description": "Tokio's proc macros.\n", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/tokio-macros@2.4.0", - "referenceType": "purl" - } - ], - "homepage": "https://tokio.rs", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT", - "name": "tokio-macros", - "versionInfo": "2.4.0" + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "SPDXID": "SPDXRef-Package-windows_aarch64_msvc-0.52.6", - "description": "Import lib for Windows", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/windows_aarch64_msvc@0.52.6", - "referenceType": "purl" - } - ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "windows_aarch64_msvc", - "versionInfo": "0.52.6" + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-units-0.24.0" }, { - "SPDXID": "SPDXRef-Package-tor-hscrypto-0.22.0", - "description": "Basic onion service cryptography types used by Aerti", - "downloadLocation": "git+https://gitlab.torproject.org/tpo/core/arti.git?rev=0956b386580d5d75983a8faff4e3043654936698#0956b386580d5d75983a8faff4e3043654936698", - "homepage": "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "tor-hscrypto", - "versionInfo": "0.22.0" + "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "SPDXID": "SPDXRef-Package-slotmap-1.0.7", - "description": "Slotmap data structure", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/slotmap@1.0.7", - "referenceType": "purl" - } - ], - "licenseConcluded": "Zlib", - "licenseDeclared": "Zlib", - "name": "slotmap", - "versionInfo": "1.0.7" + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "SPDXID": "SPDXRef-Package-quote-1.0.37", - "description": "Quasi-quoting macro quote!(...)", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/quote@1.0.37", - "referenceType": "purl" - } - ], - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "quote", - "versionInfo": "1.0.37" + "relatedSpdxElement": "SPDXRef-Package-tor-rtmock-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "SPDXID": "SPDXRef-Package-bitflags-2.6.0", - "description": "A macro to generate structures which behave like bitflags.\n", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bitflags@2.6.0", - "referenceType": "purl" - } - ], - "homepage": "https://github.com/bitflags/bitflags", - "licenseConcluded": "MIT OR Apache-2.0", - "licenseDeclared": "MIT OR Apache-2.0", - "name": "bitflags", - "versionInfo": "2.6.0" + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-checkable-0.24.0" }, { - "SPDXID": "SPDXRef-Package-pem-rfc7468-0.7.0", - "description": "PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS Structures, implementing a\nstrict subset of the original Privacy-Enhanced Mail encoding intended\nspecifically for use with cryptographic keys, certificates, and other messages.\nProvides a no_std-friendly, constant-time implementation suitable for use with\ncryptographic private keys.\n", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/pem-rfc7468@0.7.0", - "referenceType": "purl" - } - ], - "licenseConcluded": "Apache-2.0 OR MIT", - "licenseDeclared": "Apache-2.0 OR MIT", - "name": "pem-rfc7468", - "versionInfo": "0.7.0" + "relatedSpdxElement": "SPDXRef-Package-libredox-0.1.3", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-redox_users-0.4.6" }, { - "SPDXID": "SPDXRef-Package-bytemuck-1.18.0", - "description": "A crate for mucking around with piles of bytes.", - "downloadLocation": "registry+https://github.com/rust-lang/crates.io-index", - "externalRefs": [ - { - "referenceCategory": "PACKAGE-MANAGER", - "referenceLocator": "pkg:cargo/bytemuck@1.18.0", - "referenceType": "purl" - } - ], - "licenseConcluded": "Zlib OR Apache-2.0 OR MIT", - "licenseDeclared": "Zlib OR Apache-2.0 OR MIT", - "name": "bytemuck", - "versionInfo": "1.18.0" - } - ], - "relationships": [ + "relatedSpdxElement": "SPDXRef-Package-tor-guardmgr-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" + }, { - "relatedSpdxElement": "SPDXRef-Package-heck-0.4.1", + "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", + "relatedSpdxElement": "SPDXRef-Package-tokio-stream-0.1.16", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rustix-0.38.36", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-which-4.4.2" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-fslock-arti-fork-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-fslock-guard-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-byteorder-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-windows_i686_msvc-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-merlin-3.0.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-async-native-tls-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-group-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-shared-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-rusqlite-0.32.1", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-honk-rpc-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-rustc-demangle-0.1.24", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-errno-0.3.9" + "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-group-0.13.0" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pwd-grp-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-inout-0.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-percent-encoding-2.3.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" + "spdxElementId": "SPDXRef-Package-form_urlencoded-1.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-serde_spanned-0.6.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-rand_chacha-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sec1-0.7.3" + "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-tor-units-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-serde_bytes-0.11.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" + "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-domain-0.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-bitflags-1.3.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-inotify-0.10.2" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-nom-7.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-trait-0.1.82" + "spdxElementId": "SPDXRef-Package-rusticata-macros-4.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sec1-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-ahash-0.8.11" }, { - "relatedSpdxElement": "SPDXRef-Package-chrono-0.4.38", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" + }, + { + "relatedSpdxElement": "SPDXRef-Package-idna-0.5.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-url-2.5.2" + }, + { + "relatedSpdxElement": "SPDXRef-Package-arrayvec-0.7.6", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-mio-0.8.11" + "spdxElementId": "SPDXRef-Package-kqueue-1.0.8" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-same-file-1.0.6", + "relatedSpdxElement": "SPDXRef-Package-tor-interface-0.4.0", + "relationshipType": "GENERATED_FROM", + "spdxElementId": "SPDXRef-File-tor_interface" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-walkdir-2.5.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-blanket-0.3.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-darling_core-0.20.10", + "relatedSpdxElement": "SPDXRef-Package-tor-interface-0.4.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + }, + { + "relatedSpdxElement": "SPDXRef-Package-enum-ordinalize-3.1.15", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-educe-0.4.23" + }, + { + "relatedSpdxElement": "SPDXRef-Package-block-buffer-0.10.4", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-digest-0.10.7" + }, + { + "relatedSpdxElement": "SPDXRef-Package-futures-executor-0.3.30", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-futures-0.3.30" + }, + { + "relatedSpdxElement": "SPDXRef-Package-backtrace-0.3.73", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-native-tls-0.2.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_macro-0.20.10" + "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-num-bigint-0.4.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-home-0.5.9" + "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", + "relatedSpdxElement": "SPDXRef-Package-chrono-0.4.38", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-lzma-sys-0.1.20", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-xz2-0.1.7" + "spdxElementId": "SPDXRef-Package-regex-automata-0.4.7" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-ordered-float-2.10.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-serde-value-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_i686_gnullvm-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fslock-guard-0.1.5" + "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-p384-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-icu_collections-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-strum_macros-0.26.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-strum-0.26.3" }, { - "relatedSpdxElement": "SPDXRef-Package-darling_macro-0.20.10", + "relatedSpdxElement": "SPDXRef-Package-signature-1.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling-0.20.10" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-toml_edit-0.19.15", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-proc-macro-crate-1.3.1" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-coarsetime-0.1.34" }, { - "relatedSpdxElement": "SPDXRef-Package-phf_generator-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-chanmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-openssl-probe-0.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-os_str_bytes-6.6.1" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-num_enum-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerovec-derive-0.10.3" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-zerofrom-0.1.4", @@ -7466,2074 +8101,2074 @@ "spdxElementId": "SPDXRef-Package-yoke-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" }, { - "relatedSpdxElement": "SPDXRef-Package-writeable-0.5.5", + "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-kqueue-1.0.8", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-macros-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-hostname-validator-1.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ascii-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-parking_lot_core-0.9.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify-4.7.0" + "spdxElementId": "SPDXRef-Package-parking_lot-0.12.3" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-hashbrown-0.14.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-indexmap-2.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-crypto-common-0.1.6", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cipher-0.4.4" + "spdxElementId": "SPDXRef-Package-winnow-0.5.40" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-amplify_syn-2.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-minimal-lexical-0.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-nom-7.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-domain-0.10.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-ecdsa-0.16.9", + "relatedSpdxElement": "SPDXRef-Package-ed25519-dalek-2.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p384-0.13.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-guardmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-winapi-x86_64-pc-windows-gnu-0.4.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-async-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-winapi-0.3.9" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_ignored-0.1.10", + "relatedSpdxElement": "SPDXRef-Package-sec1-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-num-bigint-dig-0.8.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-automata-0.1.10", + "relatedSpdxElement": "SPDXRef-Package-toml-0.8.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-matchers-0.1.0" + "spdxElementId": "SPDXRef-Package-figment-0.10.19" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-test-macro-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-test-0.2.5" + "spdxElementId": "SPDXRef-Package-phf_generator-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-shared-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-socket2-0.5.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-rustix-0.38.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" + "spdxElementId": "SPDXRef-Package-which-4.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-const-oid-0.9.6", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" - }, - { - "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", - "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-sys-0.52.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-aes-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-slotmap-careful-0.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-merlin-3.0.0" + "spdxElementId": "SPDXRef-Package-redox_syscall-0.5.3" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-generic-array-0.14.7" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-serde_json-1.0.128", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-visibility-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-num-conv-0.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-time-macros-0.2.18" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-mio-1.0.2" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-windows_i686_gnu-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-honk-rpc-0.3.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_gnullvm-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-foreign-types-0.3.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" + "spdxElementId": "SPDXRef-Package-openssl-0.10.66" }, { - "relatedSpdxElement": "SPDXRef-Package-rustix-0.38.36", + "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnullvm-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-typenum-1.17.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" + "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pem-rfc7468-0.7.0", + "relatedSpdxElement": "SPDXRef-Package-memmap2-0.9.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-encoding-0.2.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", + "relatedSpdxElement": "SPDXRef-Package-lazy_static-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-sharded-slab-0.1.7" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-rustix-0.38.36" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-3.2.0", + "relatedSpdxElement": "SPDXRef-Package-typenum-1.17.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" + "spdxElementId": "SPDXRef-Package-crypto-common-0.1.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-executor-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-icu_provider-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-walkdir-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" + "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" }, { - "relatedSpdxElement": "SPDXRef-Package-phf-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-pkcs8-0.10.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-anyhow-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-anyhow-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-icu_locid_transform_data-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cert-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.59.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" }, { - "relatedSpdxElement": "SPDXRef-Package-toml_edit-0.22.20", + "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml-0.8.19" + "spdxElementId": "SPDXRef-Package-ssh-cipher-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-crossbeam-queue-0.3.11", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-postage-0.5.0" + "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-nom-7.1.3", + "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusticata-macros-4.1.0" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-p521-0.13.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-fallible-iterator-0.3.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" + "spdxElementId": "SPDXRef-Package-safelog-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hsclient-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-itertools-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_provider_macros-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-displaydoc-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-derive-adhoc-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-domain-0.10.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-async-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-shared-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" + "spdxElementId": "SPDXRef-Package-blanket-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-util-0.7.12", + "relatedSpdxElement": "SPDXRef-Package-zerocopy-0.7.35", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-ahash-0.8.11" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-log-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-darling_core-0.20.10", + "relatedSpdxElement": "SPDXRef-Package-phf_shared-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling-0.20.10" + "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" + "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" }, { - "relatedSpdxElement": "SPDXRef-Package-toml-0.8.19", + "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-figment-0.10.19" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-toml_datetime-0.6.8", + "relatedSpdxElement": "SPDXRef-Package-coarsetime-0.1.34", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml-0.8.19" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-log-ratelim-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-typenum-1.17.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-impl-0.2.0" + "spdxElementId": "SPDXRef-Package-generic-array-0.14.7" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-percent-encoding-2.3.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-k12-0.3.0" + "spdxElementId": "SPDXRef-Package-url-2.5.2" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-ascii-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" + "spdxElementId": "SPDXRef-Package-amplify-4.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-displaydoc-0.2.5" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-syn-1.0.109" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-consdiff-0.22.0" + "spdxElementId": "SPDXRef-Package-kqueue-sys-1.0.4" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-priority-queue-2.1.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sanitize-filename-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-uuid-1.10.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-tor-socksproto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-aho-corasick-1.1.3" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num_enum-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-tracing-attributes-0.1.27", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-0.1.40" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-slotmap-1.0.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-slotmap-careful-0.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-bson-2.11.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-honk-rpc-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-heck-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-inventory-0.3.15", + "relatedSpdxElement": "SPDXRef-Package-errno-0.3.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-rustix-0.38.36" }, { - "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-errno-0.3.9" }, { - "relatedSpdxElement": "SPDXRef-Package-rusticata-macros-4.1.0", + "relatedSpdxElement": "SPDXRef-Package-slotmap-careful-0.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" + "spdxElementId": "SPDXRef-Package-sec1-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-memmap2-0.9.4", + "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-fslock-guard-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-stream-0.1.16", + "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" + "spdxElementId": "SPDXRef-Package-amplify-4.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-typenum-1.17.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crypto-common-0.1.6" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-channel-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rustix-0.38.36" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-http-1.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_with-3.9.0", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-backend-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_spanned-0.6.7", + "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-futures-channel-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-deranged-0.3.11" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_normalizer_data-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-litemap-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-impl-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-thiserror-1.0.63" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-sec1-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-keccak-0.1.5", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-merlin-3.0.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zstd-0.13.2", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.7.13", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-backtrace-0.3.73", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-async-trait-0.1.82" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-1.3.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-hkdf-0.12.4", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_msvc-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" + "spdxElementId": "SPDXRef-Package-winnow-0.6.18" }, { - "relatedSpdxElement": "SPDXRef-Package-slotmap-1.0.7", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-schannel-0.1.23" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-data-encoding-macro-internal-0.1.13" + "spdxElementId": "SPDXRef-Package-tor-consdiff-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-spki-0.7.3" + "spdxElementId": "SPDXRef-Package-sec1-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize_derive-1.4.2", + "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zeroize-1.8.1" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hashbrown-0.14.5", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-indexmap-2.5.0" + "spdxElementId": "SPDXRef-Package-sha3-0.10.8" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_derive-1.0.209" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fslock-0.2.1" + "spdxElementId": "SPDXRef-Package-windows-sys-0.59.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-syntax-0.8.4", + "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-automata-0.4.7" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-channel-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-macro-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-macros-2.4.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-units-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerovec-derive-0.10.3" + "spdxElementId": "SPDXRef-Package-group-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-i686-pc-windows-gnu-0.4.0", + "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-winapi-0.3.9" + "spdxElementId": "SPDXRef-Package-sec1-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-fslock-arti-fork-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fslock-guard-0.1.5" + "spdxElementId": "SPDXRef-Package-itertools-0.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-phf_shared-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" + "spdxElementId": "SPDXRef-Package-phf_generator-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-num-iter-0.1.45" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-rustix-0.38.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-oneshot-fused-workaround-0.1.0" + "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-num_enum_derive-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" + "spdxElementId": "SPDXRef-Package-num_enum-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-interface-0.4.0", - "relationshipType": "GENERATED_FROM", - "spdxElementId": "SPDXRef-File-tor_interface" + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-js-sys-0.3.70", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-protover-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-toml_edit-0.22.20", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-proc-macro-crate-3.2.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-lazy_static-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sanitize-filename-0.5.0" + "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-itoa-1.0.11", + "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-http-1.1.0" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-downcast-rs-1.2.1", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-serde_ignored-0.1.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasix-0.12.21" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-phf_macros-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-blanket-0.3.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf-0.11.2" + "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_with-3.9.0", + "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-macros-0.1.1" + "spdxElementId": "SPDXRef-Package-fslock-arti-fork-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-coarsetime-0.1.34", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crc32fast-1.4.2" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" }, { - "relatedSpdxElement": "SPDXRef-Package-utf8_iter-1.0.4", + "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-idna-1.0.2" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_provider-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_properties_data-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-key-forge-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-typed-index-collections-3.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-digest-0.10.7" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-dirs-5.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-redox_syscall-0.5.3", + "relatedSpdxElement": "SPDXRef-Package-heck-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-libredox-0.1.3" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", + "relatedSpdxElement": "SPDXRef-Package-crc32fast-1.4.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-flate2-1.0.33" }, { - "relatedSpdxElement": "SPDXRef-Package-data-encoding-macro-0.1.15", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-rand-0.8.5" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-darling_macro-0.14.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pin-project-internal-1.1.5" + "spdxElementId": "SPDXRef-Package-darling-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-dirclient-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-aes-0.8.4" + "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-keccak-0.1.5", + "relatedSpdxElement": "SPDXRef-Package-notify-7.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha3-0.10.8" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-hmac-0.12.1" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-0.1.40" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-icu_locid-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-indexmap-2.5.0" + "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-iana-time-zone-haiku-0.1.2", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" + "spdxElementId": "SPDXRef-Package-synstructure-0.13.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", + "relatedSpdxElement": "SPDXRef-Package-gimli-0.29.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-addr2line-0.22.0" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-keccak-0.1.5" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-0.4.6" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerocopy-derive-0.7.35" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-tor-interface-0.4.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rand-0.8.5" + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-guardmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-serde_json-1.0.128", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-0.1.40" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-tor-log-ratelim-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-weak-table-0.3.2", + "relatedSpdxElement": "SPDXRef-Package-rusqlite-0.32.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ff-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-flate2-1.0.33", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-group-0.13.0" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_provider-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-0.2.93" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-ident_case-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" + "spdxElementId": "SPDXRef-Package-aes-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-der-parser-9.0.0", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-event-listener-5.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-byteorder-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-crypto-bigint-0.5.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-chrono-0.4.38" + "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-icu_normalizer_data-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-chanmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-pin-project-internal-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-pin-project-1.1.5" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-fslock-0.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-iana-time-zone-0.1.60", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-chrono-0.4.38" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" + "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-dirs-5.0.1", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ctr-0.9.2", + "relatedSpdxElement": "SPDXRef-Package-fslock-guard-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" + "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-toml-0.8.19", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-dirs-5.0.1", + "relatedSpdxElement": "SPDXRef-Package-sec1-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-shellexpand-3.1.0" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-value-0.7.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-inout-0.1.3" + "spdxElementId": "SPDXRef-Package-thiserror-impl-1.0.63" }, { - "relatedSpdxElement": "SPDXRef-Package-openssl-sys-0.9.103", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-domain-0.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-libredox-0.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-filetime-0.2.25" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-x86_64-pc-windows-gnu-0.4.0", + "relatedSpdxElement": "SPDXRef-Package-tokio-macros-2.4.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-winapi-0.3.9" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-adler-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-miniz_oxide-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-bumpalo-3.16.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ff-0.13.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-group-0.13.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-time-core-0.1.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-time-0.3.36" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tempfile-3.12.0", + "relatedSpdxElement": "SPDXRef-Package-tor-log-ratelim-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-units-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-3.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", + "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fslock-arti-fork-0.2.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-num-bigint-0.4.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-httpdate-1.0.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-xxhash-rust-0.8.12", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sec1-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-android_system_properties-0.1.5" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", + "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerocopy-0.7.35", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ppv-lite86-0.2.20" + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itoa-1.0.11", + "relatedSpdxElement": "SPDXRef-Package-glob-match-0.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-0.3.36" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", + "relatedSpdxElement": "SPDXRef-Package-redox_users-0.4.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-unicode-ident-1.0.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-syn-1.0.109" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-nom-7.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_chacha-0.3.1", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-openssl-macros-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-toml_datetime-0.6.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" + "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-slotmap-careful-0.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-tor-general-addr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-nom-7.1.3", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.59.0", + "relatedSpdxElement": "SPDXRef-Package-phf_macros-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" + "spdxElementId": "SPDXRef-Package-phf-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-hkdf-0.12.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tracing-log-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" }, { - "relatedSpdxElement": "SPDXRef-Package-synstructure-0.13.1", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-js-sys-0.3.70", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-safelog-0.3.8" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-zeroize_derive-1.4.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-zeroize-1.8.1" }, { - "relatedSpdxElement": "SPDXRef-Package-matchers-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-openssl-0.10.66" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-nom-7.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-visibility-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-0.10.66" + "spdxElementId": "SPDXRef-Package-tinystr-0.7.6" }, { - "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-p384-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", + "relatedSpdxElement": "SPDXRef-Package-icu_provider-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-consdiff-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-toml-0.8.19" }, { - "relatedSpdxElement": "SPDXRef-Package-nom-7.1.3", + "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" + "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" }, { - "relatedSpdxElement": "SPDXRef-Package-hashbrown-0.14.5", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-hashlink-0.9.1" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-memmap2-0.9.4" + "spdxElementId": "SPDXRef-Package-k12-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-ssh-encoding-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-thiserror-impl-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-thiserror-1.0.63" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-asn1-rs-derive-0.5.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-valuable-0.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-core-0.1.32" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-cert-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cookie-factory-0.3.3" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-mio-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-tor-chanmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-displaydoc-0.2.5" + "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pkcs1-0.7.5" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-inotify-sys-0.1.5", + "relatedSpdxElement": "SPDXRef-Package-atomic-0.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-inotify-0.9.6" + "spdxElementId": "SPDXRef-Package-figment-0.10.19" }, { "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-rfc6979-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-safelog-0.3.8" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-sha1-0.10.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base16ct-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sec1-0.7.3" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_bytes-0.11.15", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" + "spdxElementId": "SPDXRef-Package-rustix-0.38.36" }, { - "relatedSpdxElement": "SPDXRef-Package-native-tls-0.2.12", + "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-primeorder-0.13.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-p256-0.13.2" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider_macros-1.5.0" + "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-object-0.36.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" }, { "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" + "spdxElementId": "SPDXRef-Package-futures-macro-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-fslock-0.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-base16ct-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-openssl-sys-0.9.103", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p521-0.13.3" + "spdxElementId": "SPDXRef-Package-openssl-0.10.66" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-syntax-0.8.4", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-1.10.6" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" + "spdxElementId": "SPDXRef-Package-openssl-0.10.66" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-pkcs1-0.7.5" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", + "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-keccak-0.1.5" + "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-core-foundation-0.9.4" }, { - "relatedSpdxElement": "SPDXRef-Package-http-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", + "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sec1-0.7.3" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-macro-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-sha1-0.10.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-derive-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" + "spdxElementId": "SPDXRef-Package-bstr-1.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-native-tls-0.2.12", + "relatedSpdxElement": "SPDXRef-Package-winapi-util-0.1.9", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-walkdir-2.5.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-block-buffer-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-digest-0.10.7" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-data-encoding-macro-internal-0.1.13", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-0.3.30" + "spdxElementId": "SPDXRef-Package-data-encoding-macro-0.1.15" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha2-0.10.8" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-log-0.2.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" + "spdxElementId": "SPDXRef-Package-tor-consdiff-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-quote-1.0.37" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.19.15" + "spdxElementId": "SPDXRef-Package-octseq-0.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-itertools-0.13.0" + "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-1.6.4", + "relatedSpdxElement": "SPDXRef-Package-tor-units-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-caret-0.4.7", + "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-serde_with_macros-3.9.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-socksproto-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-stable_deref_trait-1.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pin-project-internal-1.1.5" + "spdxElementId": "SPDXRef-Package-yoke-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-libredox-0.1.3" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_with_macros-3.9.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-miniz_oxide-0.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" }, { - "relatedSpdxElement": "SPDXRef-Package-zstd-safe-7.2.1", + "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zstd-0.13.2" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-mio-0.8.11" + "spdxElementId": "SPDXRef-Package-num-integer-0.1.46" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-1.3.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-signature-2.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-merlin-3.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-3.2.0", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-caret-0.4.7", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-core-0.1.32" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-funty-2.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_generator-0.11.2" + "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-p384-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-stable_deref_trait-1.2.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-stream-0.1.16" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-caret-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-which-4.4.2" + "spdxElementId": "SPDXRef-Package-tor-protover-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-crossbeam-queue-0.3.11", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-postage-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-checkable-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-event-listener-5.3.1", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rfc6979-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-socket2-0.5.7", + "relatedSpdxElement": "SPDXRef-Package-base16ct-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-proc-macros-0.0.0" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-macro-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_syn-2.0.1" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-yoke-0.7.4", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_spanned-0.6.7", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml-0.8.19" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-typed-index-collections-3.1.0", + "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-sha1-0.10.6" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-zstd-0.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-hmac-0.12.1" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-honk-rpc-0.3.0", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-ff-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-icu_properties-1.5.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-idna-1.0.2" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-mio-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-octseq-0.5.1", + "relatedSpdxElement": "SPDXRef-Package-tor-guardmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-domain-0.10.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_with-3.9.0", + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-regex-1.10.6" }, { - "relatedSpdxElement": "SPDXRef-Package-socks-0.3.4", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-itertools-0.11.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-uncased-0.9.10", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-figment-0.10.19" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.48.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-mio-0.8.11" + "spdxElementId": "SPDXRef-Package-k12-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ahash-0.8.11" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-signal-hook-registry-1.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive-adhoc-macros-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-derive-adhoc-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-redox_users-0.4.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-mio-1.0.2" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-sys-0.48.0" }, { - "relatedSpdxElement": "SPDXRef-Package-redox_users-0.4.6", + "relatedSpdxElement": "SPDXRef-Package-equivalent-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" + "spdxElementId": "SPDXRef-Package-indexmap-2.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num_enum_derive-0.6.1", + "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum-0.6.1" + "spdxElementId": "SPDXRef-Package-futures-executor-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha3-0.10.8" + "spdxElementId": "SPDXRef-Package-object-0.36.4" }, { "relatedSpdxElement": "SPDXRef-Package-amplify_derive-4.0.1", @@ -9541,5704 +10176,5724 @@ "spdxElementId": "SPDXRef-Package-amplify-4.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-bigint-dig-0.8.4", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-async-trait-0.1.82" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-sys-0.9.103" + "spdxElementId": "SPDXRef-Package-spki-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.7.13", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-sha1-0.10.6" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-core-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", + "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-primeorder-0.13.6" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" + "spdxElementId": "SPDXRef-Package-tor-config-path-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-synstructure-0.13.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p521-0.13.3" + "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" }, { - "relatedSpdxElement": "SPDXRef-Package-crc32fast-1.4.2", + "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-flate2-1.0.33" + "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-socksproto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-blanket-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-log-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-adler2-2.0.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-miniz_oxide-0.8.0" + "spdxElementId": "SPDXRef-Package-slotmap-careful-0.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-keccak-0.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-merlin-3.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-filetime-0.2.25" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerofrom-0.1.4", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerocopy-derive-0.7.35" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-heck-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-merlin-3.0.0" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-thiserror-impl-1.0.63" + "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-rand_chacha-0.3.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-coarsetime-0.1.34" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-k12-0.3.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-utf16_iter-1.0.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-0.3.30" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-downcast-rs-1.2.1", + "relatedSpdxElement": "SPDXRef-Package-fluid-let-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-safelog-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" + "spdxElementId": "SPDXRef-Package-cgosling-proc-macros-0.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-js-sys-0.3.70", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-postage-0.5.0" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" + "spdxElementId": "SPDXRef-Package-ff-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ident_case-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" + "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-yoke-0.7.4" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-tor-cert-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-async-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-security-framework-sys-2.11.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-figment-0.10.19", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-postage-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-object-0.36.4" + "spdxElementId": "SPDXRef-Package-serde_ignored-0.1.10" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-coarsetime-0.1.34", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-unicode-segmentation-1.12.0", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-convert_case-0.6.0" + "spdxElementId": "SPDXRef-Package-pem-rfc7468-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fnv-1.0.7", + "relatedSpdxElement": "SPDXRef-Package-schannel-0.1.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-http-1.1.0" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", + "relatedSpdxElement": "SPDXRef-Package-unicode-segmentation-1.12.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ctr-0.9.2" + "spdxElementId": "SPDXRef-Package-convert_case-0.6.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-iter-0.1.45", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-protover-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cert-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-nu-ansi-term-0.46.0" }, { - "relatedSpdxElement": "SPDXRef-Package-utf8_iter-1.0.4", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-darling_macro-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-ppv-lite86-0.2.20", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-rand_chacha-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", + "relatedSpdxElement": "SPDXRef-Package-tor-general-addr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-uuid-1.10.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-interface-0.4.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-const-oid-0.9.6", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-digest-0.10.7" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-0.10.66" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ssh-cipher-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_msvc-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-libredox-0.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-num-iter-0.1.45", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-units-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-log-ratelim-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-fnv-1.0.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-http-1.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-http-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-asynchronous-codec-0.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-0.3.36" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rsa-0.9.6", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-ssh-key-0.6.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-mio-0.8.11", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-crossbeam-utils-0.8.20", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-inotify-sys-0.1.5" + "spdxElementId": "SPDXRef-Package-crossbeam-queue-0.3.11" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-coarsetime-0.1.34" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-concurrent-queue-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-event-listener-5.3.1" + "spdxElementId": "SPDXRef-Package-p521-0.13.3" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-core-0.52.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-weak-table-0.3.2", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_provider_macros-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hashlink-0.9.1", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hermit-abi-0.3.9", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-mio-1.0.2" + "spdxElementId": "SPDXRef-Package-generic-array-0.14.7" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-zerocopy-derive-0.7.35", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha1-0.10.6" + "spdxElementId": "SPDXRef-Package-zerocopy-0.7.35" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-ahash-0.8.11", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-hashbrown-0.14.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-bson-2.11.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-0.2.93" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-darling_macro-0.14.4", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling-0.14.4" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-security-framework-sys-2.11.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-0.3.30" + "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-macros-2.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_msvc-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-spin-0.9.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-lazy_static-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-inout-0.1.3", + "relatedSpdxElement": "SPDXRef-Package-cgosling-proc-macros-0.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cipher-0.4.4" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-shellexpand-3.1.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-pkcs1-0.7.5" }, { - "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", + "relatedSpdxElement": "SPDXRef-Package-tinyvec_macros-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" + "spdxElementId": "SPDXRef-Package-tinyvec-1.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-caret-0.4.7", + "relatedSpdxElement": "SPDXRef-Package-zerovec-derive-0.10.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-socksproto-0.22.0" + "spdxElementId": "SPDXRef-Package-zerovec-0.10.4" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-dirclient-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-miniz_oxide-0.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" + "spdxElementId": "SPDXRef-Package-flate2-1.0.33" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num_enum-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-zerocopy-derive-0.7.35" }, { - "relatedSpdxElement": "SPDXRef-Package-security-framework-sys-2.11.1", + "relatedSpdxElement": "SPDXRef-Package-toml-0.8.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-socket2-0.5.7" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ssh-key-0.6.6", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-dirclient-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-amplify_syn-2.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_derive-1.0.209" + "spdxElementId": "SPDXRef-Package-thread_local-1.1.8" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-scopeguard-1.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-memmap2-0.9.4" }, { - "relatedSpdxElement": "SPDXRef-Package-ed25519-dalek-2.1.1", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-core-foundation-0.9.4" }, { - "relatedSpdxElement": "SPDXRef-Package-heck-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-rfc6979-0.4.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" + "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-syn-2.0.77" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-phf_shared-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" + "spdxElementId": "SPDXRef-Package-icu_provider_macros-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-channel-0.3.30" + "spdxElementId": "SPDXRef-Package-zeroize_derive-1.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" + "spdxElementId": "SPDXRef-Package-pkcs8-0.10.2" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-core-foundation-0.9.4", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-gosling-0.3.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-idna-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-filetime-0.2.25" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-chrono-0.4.38" + "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-unicode-ident-1.0.12", + "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-proc-macro2-1.0.86" + "spdxElementId": "SPDXRef-Package-ctr-0.9.2" }, { - "relatedSpdxElement": "SPDXRef-Package-equivalent-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-indexmap-2.5.0" + "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-radium-0.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_msvc-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" }, { - "relatedSpdxElement": "SPDXRef-Package-redox_syscall-0.5.3", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-filetime-0.2.25", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", + "relatedSpdxElement": "SPDXRef-Package-pkcs1-0.7.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-rustversion-1.0.17", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-winnow-0.5.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-toml_edit-0.19.15" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tracing-test-macro-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-test-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-glob-match-0.2.1", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-tracing-log-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libm-0.2.8", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-traits-0.2.19" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num_enum_derive-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum-0.7.3" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-2.2.3" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-zerofrom-0.1.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-time-core-0.1.2", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-macros-0.2.18" + "spdxElementId": "SPDXRef-Package-thiserror-impl-1.0.63" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-async-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-caret-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-asn1-rs-0.6.2", + "relatedSpdxElement": "SPDXRef-Package-inotify-sys-0.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" + "spdxElementId": "SPDXRef-Package-inotify-0.10.2" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-0.7.9" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-slotmap-careful-0.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.7.13", + "relatedSpdxElement": "SPDXRef-Package-inotify-0.10.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-consdiff-0.22.0" + "spdxElementId": "SPDXRef-Package-inotify-0.10.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-adler-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-miniz_oxide-0.7.4" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.22.0" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-js-sys-0.3.70", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-by_address-1.2.1", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-asynchronous-codec-0.7.0", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_gnullvm-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-futures-macro-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" + "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-aho-corasick-1.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-regex-1.10.6" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-darling-0.20.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-stable_deref_trait-1.2.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-yoke-0.7.4" + "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-walkdir-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-units-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bumpalo-3.16.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-encoding-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", - "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "relatedSpdxElement": "SPDXRef-Package-honk-rpc-0.3.0", + "relationshipType": "GENERATED_FROM", + "spdxElementId": "SPDXRef-File-honk_rpc" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_num-0.5.3" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-cgosling-proc-macros-0.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-crypto-bigint-0.5.5", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sec1-0.7.3" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-asn1-rs-impl-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-walkdir-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-synstructure-0.13.1" + "spdxElementId": "SPDXRef-Package-blanket-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-pwd-grp-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-hashbrown-0.12.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-indexmap-1.9.3" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-base16ct-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-sec1-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-syn-2.0.77" }, { - "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", + "relatedSpdxElement": "SPDXRef-Package-slab-0.4.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-syntax-0.6.29", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-automata-0.1.10" + "spdxElementId": "SPDXRef-Package-socks-0.3.4" }, { - "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_provider-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-nu-ansi-term-0.46.0", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" + "spdxElementId": "SPDXRef-Package-futures-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.7.13", + "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p384-0.13.0" + "spdxElementId": "SPDXRef-Package-serde_derive-1.0.209" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-num-conv-0.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-time-0.3.36" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-socks-0.3.4" + "spdxElementId": "SPDXRef-Package-darling_macro-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p256-0.13.2" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-tracing-attributes-0.1.27" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_derive-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-aho-corasick-1.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnullvm-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-ff-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-derive-0.1.1" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", + "relatedSpdxElement": "SPDXRef-Package-crossbeam-utils-0.8.20", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pkcs1-0.7.5" + "spdxElementId": "SPDXRef-Package-concurrent-queue-2.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-merlin-3.0.0", + "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-sha2-0.10.8" }, { - "relatedSpdxElement": "SPDXRef-Package-unicode-normalization-0.1.23", + "relatedSpdxElement": "SPDXRef-Package-openssl-0.10.66", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-idna-0.5.0" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-adler2-2.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-log-0.2.0" + "spdxElementId": "SPDXRef-Package-miniz_oxide-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-consdiff-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-derive-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-phf-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-honk-rpc-0.3.0", - "relationshipType": "GENERATED_FROM", - "spdxElementId": "SPDXRef-File-honk_rpc" + "relatedSpdxElement": "SPDXRef-Package-heck-0.4.1", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-derive-adhoc-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" + "spdxElementId": "SPDXRef-Package-thread_local-1.1.8" }, { - "relatedSpdxElement": "SPDXRef-Package-asn1-rs-derive-0.5.1", + "relatedSpdxElement": "SPDXRef-Package-tokio-util-0.7.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64-0.22.1", + "relatedSpdxElement": "SPDXRef-Package-instant-0.1.13", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-notify-types-1.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-2.2.3" + "spdxElementId": "SPDXRef-Package-time-0.3.36" }, { - "relatedSpdxElement": "SPDXRef-Package-bitvec-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p256-0.13.2" + "spdxElementId": "SPDXRef-Package-humantime-serde-1.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-iana-time-zone-0.1.60", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-chrono-0.4.38" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-http-1.1.0" + "spdxElementId": "SPDXRef-Package-android_system_properties-0.1.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64-0.13.1", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-uuid-1.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-consdiff-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fslock-arti-fork-0.2.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-deranged-0.3.11", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-0.3.36" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-channel-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-parking_lot-0.12.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-0.3.30" + "spdxElementId": "SPDXRef-Package-postage-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-1.9.3", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" }, { - "relatedSpdxElement": "SPDXRef-Package-unicode-xid-0.2.6", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" + "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hmac-0.12.1", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rfc6979-0.4.0" + "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", + "relatedSpdxElement": "SPDXRef-Package-wasix-0.12.21", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" + "spdxElementId": "SPDXRef-Package-coarsetime-0.1.34" }, { - "relatedSpdxElement": "SPDXRef-Package-zerocopy-derive-0.7.35", + "relatedSpdxElement": "SPDXRef-Package-mio-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerocopy-0.7.35" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-phf_shared-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-0.2.93" + "spdxElementId": "SPDXRef-Package-phf-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-units-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-nu-ansi-term-0.46.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-sha1-0.10.6", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_i686_msvc-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-tinyvec-1.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" + "spdxElementId": "SPDXRef-Package-unicode-normalization-0.1.23" }, { - "relatedSpdxElement": "SPDXRef-Package-atomic-0.5.3", + "relatedSpdxElement": "SPDXRef-Package-icu_properties_data-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-postage-0.5.0" + "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-hmac-0.12.1", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-uuid-1.10.0" + "spdxElementId": "SPDXRef-Package-indexmap-1.9.3" }, { - "relatedSpdxElement": "SPDXRef-Package-gosling-0.3.0", + "relatedSpdxElement": "SPDXRef-Package-weak-table-0.3.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-unicode-ident-1.0.12", + "relatedSpdxElement": "SPDXRef-Package-caret-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-syn-2.0.77" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bson-2.11.0", + "relatedSpdxElement": "SPDXRef-Package-serde_derive-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-honk-rpc-0.3.0" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-toml_datetime-0.6.8", + "relatedSpdxElement": "SPDXRef-Package-itoa-1.0.11", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" + "spdxElementId": "SPDXRef-Package-time-0.3.36" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-domain-0.10.0" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-radium-0.7.0", + "relatedSpdxElement": "SPDXRef-Package-filetime-0.2.25", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", + "relatedSpdxElement": "SPDXRef-Package-serde_derive-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fslock-0.2.1" + "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-const-oid-0.9.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-der-0.7.9" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-visibility-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", + "relatedSpdxElement": "SPDXRef-Package-tor-hsservice-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hostname-validator-1.1.1", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.48.0", + "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tinyvec-1.8.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-unicode-normalization-0.1.23" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-impl-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-test-0.2.5" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-fslock-0.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-icu_collections-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-ahash-0.8.11", + "relatedSpdxElement": "SPDXRef-Package-visibility-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-hashbrown-0.14.5" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-rand-0.8.5" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-aes-0.8.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-async-compression-0.4.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-which-4.4.2" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-toml_datetime-0.6.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-toml_edit-0.19.15" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-synstructure-0.13.1" + "spdxElementId": "SPDXRef-Package-futures-channel-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-fslock-arti-fork-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-fallible-streaming-iterator-0.1.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-blanket-0.3.0" + "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-httparse-1.9.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-weak-table-0.3.2", + "relatedSpdxElement": "SPDXRef-Package-rustversion-1.0.17", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_msvc-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_collections-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-redox_syscall-0.5.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-libredox-0.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_chacha-0.3.1", + "relatedSpdxElement": "SPDXRef-Package-libm-0.2.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rand-0.8.5" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-arti-client-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-postage-0.5.0" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-directories-5.0.1", + "relatedSpdxElement": "SPDXRef-Package-primeorder-0.13.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-p384-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-key-forge-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-dirclient-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-log-ratelim-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-redox_users-0.4.6" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-openssl-sys-0.9.103" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerocopy-0.7.35", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ahash-0.8.11" + "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-shared-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pin-project-internal-1.1.5" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-valuable-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-core-0.1.32" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-notify-6.1.1", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-sha2-0.10.8" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-shellexpand-3.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-rusticata-macros-4.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_bytes-0.11.15" + "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-dirmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-ed25519-2.2.3" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-nu-ansi-term-0.46.0" + "spdxElementId": "SPDXRef-Package-serde-value-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-automata-0.4.7", + "relatedSpdxElement": "SPDXRef-Package-utf8_iter-1.0.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-1.10.6" + "spdxElementId": "SPDXRef-Package-idna-1.0.2" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-addr2line-0.22.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" + "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" }, { - "relatedSpdxElement": "SPDXRef-Package-httpdate-1.0.3", + "relatedSpdxElement": "SPDXRef-Package-tor-cert-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify_syn-2.0.1", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" + "spdxElementId": "SPDXRef-Package-signature-2.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-regex-automata-0.4.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-regex-1.10.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-kqueue-sys-1.0.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-kqueue-1.0.8" }, { - "relatedSpdxElement": "SPDXRef-Package-sha1-0.10.6", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-blanket-0.3.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cookie-factory-0.3.3", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-libredox-0.1.3" + "spdxElementId": "SPDXRef-Package-tracing-attributes-0.1.27" }, { - "relatedSpdxElement": "SPDXRef-Package-spin-0.9.8", + "relatedSpdxElement": "SPDXRef-Package-directories-5.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-lazy_static-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-config-path-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-merlin-3.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rand_chacha-0.3.1" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-block-buffer-0.10.4" + "spdxElementId": "SPDXRef-Package-ahash-0.8.11" }, { - "relatedSpdxElement": "SPDXRef-Package-rustc-demangle-0.1.24", + "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" + "spdxElementId": "SPDXRef-Package-futures-channel-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-os_str_bytes-6.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-shellexpand-3.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-darling-0.20.10", + "relatedSpdxElement": "SPDXRef-Package-regex-automata-0.4.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" + "spdxElementId": "SPDXRef-Package-bstr-1.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-synstructure-0.13.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-regex-automata-0.1.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-stream-0.1.16" + "spdxElementId": "SPDXRef-Package-matchers-0.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-concurrent-queue-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-event-listener-5.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-0.10.66" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-winnow-0.5.40" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-zstd-sys-2.0.13+zstd.1.5.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-zstd-safe-7.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", + "relatedSpdxElement": "SPDXRef-Package-async_executors-0.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-bitvec-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-primeorder-0.13.6" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-ssh-encoding-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-nom-7.1.3" + "spdxElementId": "SPDXRef-Package-ssh-cipher-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-signature-2.2.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-socksproto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wyz-0.5.1", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" + "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-coarsetime-0.1.34", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_json-1.0.128", + "relatedSpdxElement": "SPDXRef-Package-octseq-0.5.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-domain-0.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-data-encoding-macro-internal-0.1.13" + "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-darling-0.14.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-educe-0.4.23" + "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-gimli-0.29.0", + "relatedSpdxElement": "SPDXRef-Package-slotmap-careful-0.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-addr2line-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerofrom-0.1.4", + "relatedSpdxElement": "SPDXRef-Package-scopeguard-1.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" + "spdxElementId": "SPDXRef-Package-lock_api-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_locid_transform-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-fiat-crypto-0.2.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" + "spdxElementId": "SPDXRef-Package-zerocopy-derive-0.7.35" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-parking-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-event-listener-5.3.1" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ssh-encoding-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-cipher-0.2.0" + "spdxElementId": "SPDXRef-Package-zerocopy-derive-0.7.35" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-tor-dirmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-darling-0.14.4", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" + "spdxElementId": "SPDXRef-Package-pin-project-internal-1.1.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtmock-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-1.3.2", + "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-kqueue-sys-1.0.4" + "spdxElementId": "SPDXRef-Package-redox_users-0.4.6" }, { - "relatedSpdxElement": "SPDXRef-Package-asn1-rs-impl-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_macro-0.20.10" + "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnu-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-safelog-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-integer-0.1.46" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-executor-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-winapi-i686-pc-windows-gnu-0.4.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" + "spdxElementId": "SPDXRef-Package-winapi-0.3.9" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-socks-0.3.4" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-syn-2.0.77" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-slotmap-1.0.7", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-ecdsa-0.16.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-redox_syscall-0.5.3" + "spdxElementId": "SPDXRef-Package-p521-0.13.3" }, { - "relatedSpdxElement": "SPDXRef-Package-winnow-0.6.18", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" + "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" }, { - "relatedSpdxElement": "SPDXRef-Package-object-0.36.4", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" + "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" }, { - "relatedSpdxElement": "SPDXRef-Package-ecdsa-0.16.9", + "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p256-0.13.2" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fnv-1.0.7", + "relatedSpdxElement": "SPDXRef-Package-data-encoding-macro-0.1.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-checkable-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-aho-corasick-1.1.3", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-1.10.6" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-zerocopy-0.7.35", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-ppv-lite86-0.2.20" }, { - "relatedSpdxElement": "SPDXRef-Package-zerofrom-0.1.4", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerovec-0.10.4" + "spdxElementId": "SPDXRef-Package-aes-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-displaydoc-0.2.5" + "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" }, { - "relatedSpdxElement": "SPDXRef-Package-strum_macros-0.25.3", + "relatedSpdxElement": "SPDXRef-Package-ssh-cipher-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum-0.25.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-derive-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-ahash-0.8.11", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-base16ct-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-consdiff-0.22.0" + "spdxElementId": "SPDXRef-Package-p521-0.13.3" }, { - "relatedSpdxElement": "SPDXRef-Package-rfc6979-0.4.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-bson-2.11.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-honk-rpc-0.3.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-encoding-0.2.0" + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-walkdir-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-strsim-0.11.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-num-conv-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-macros-0.2.18" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnu-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-tracing-attributes-0.1.27" }, { - "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-slab-0.4.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-ahash-0.8.11", + "relatedSpdxElement": "SPDXRef-Package-toml_edit-0.19.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-proc-macro-crate-1.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-ed25519-2.2.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-foreign-types-shared-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-foreign-types-0.3.2" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-errno-0.3.9", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rustix-0.38.36" + "spdxElementId": "SPDXRef-Package-syn-2.0.77" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-dirs-sys-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-directories-5.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" + "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-filetime-0.2.25", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-cpufeatures-0.2.13" }, { - "relatedSpdxElement": "SPDXRef-Package-hmac-0.12.1", + "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-hkdf-0.12.4" + "spdxElementId": "SPDXRef-Package-rand_core-0.6.4" }, { - "relatedSpdxElement": "SPDXRef-Package-openssl-macros-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-0.10.66" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-bitflags-1.3.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" + "spdxElementId": "SPDXRef-Package-kqueue-sys-1.0.4" }, { - "relatedSpdxElement": "SPDXRef-Package-phf_shared-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf-0.11.2" + "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-domain-0.10.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-event-listener-5.3.1" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ppv-lite86-0.2.20", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rand_chacha-0.3.1" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-caret-0.4.7", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-path-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-hmac-0.12.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-hkdf-0.12.4" }, { - "relatedSpdxElement": "SPDXRef-Package-lazy_static-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-weak-table-0.3.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-same-file-1.0.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-walkdir-2.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strsim-0.11.1", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-regex-syntax-0.6.29", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-regex-automata-0.1.10" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-signal-hook-registry-1.4.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.48.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" + "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-fnv-1.0.7", + "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde-value-0.7.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-dirs-sys-0.4.1", + "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-directories-5.0.1" + "spdxElementId": "SPDXRef-Package-num-bigint-0.4.6" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-idna-1.0.2" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-regex-syntax-0.8.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-octseq-0.5.1" + "spdxElementId": "SPDXRef-Package-regex-automata-0.4.7" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-schannel-0.1.23" + "spdxElementId": "SPDXRef-Package-socks-0.3.4" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-utils-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-which-4.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-aes-0.8.4" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-internal-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pin-project-1.1.5" + "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-openssl-sys-0.9.103", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sec1-0.7.3" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-openssl-0.10.66" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.7.13", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_json-1.0.128", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-checkable-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hashbrown-0.12.3", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-indexmap-1.9.3" + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-filetime-0.2.25", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-instant-0.1.13" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-security-framework-2.11.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-impl-0.2.0" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-impl-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_more-1.0.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_msvc-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-macro-0.3.30" + "spdxElementId": "SPDXRef-Package-filetime-0.2.25" }, { - "relatedSpdxElement": "SPDXRef-Package-slab-0.4.9", + "relatedSpdxElement": "SPDXRef-Package-regex-syntax-0.8.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-regex-1.10.6" }, { "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-tokio-util-0.7.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", + "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-tracing-test-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-indexmap-1.9.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-idna-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-url-2.5.2" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" }, { - "relatedSpdxElement": "SPDXRef-Package-aes-0.8.4", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnu-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" + "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", + "relatedSpdxElement": "SPDXRef-Package-ident_case-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-async_executors-0.7.0", + "relatedSpdxElement": "SPDXRef-Package-heck-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-ff-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-group-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-spki-0.7.3" + "spdxElementId": "SPDXRef-Package-p521-0.13.3" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bytemuck-1.18.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-atomic-0.6.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-tor-log-ratelim-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-automata-0.4.7" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-socks-0.3.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-derive-0.10.3", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerovec-0.10.4" + "spdxElementId": "SPDXRef-Package-amplify_syn-2.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-zerovec-derive-0.10.3" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-stable_deref_trait-1.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-pem-rfc7468-0.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-encoding-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" + "spdxElementId": "SPDXRef-Package-postage-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-priority-queue-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-zeroize_derive-1.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-parking_lot-0.12.3", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-postage-0.5.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-miniz_oxide-0.7.4", + "relatedSpdxElement": "SPDXRef-Package-byteorder-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" + "spdxElementId": "SPDXRef-Package-merlin-3.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-icu_locid_transform-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-fastrand-2.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" + "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" }, { - "relatedSpdxElement": "SPDXRef-Package-lock_api-0.4.12", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-parking_lot-0.12.3" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-guardmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha2-0.10.8" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-unicode-ident-1.0.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-proc-macro2-1.0.86" }, { - "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", + "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha1-0.10.6" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-tor-units-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cpufeatures-0.2.13" + "spdxElementId": "SPDXRef-Package-libredox-0.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-0.10.66" + "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-futures-channel-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", + "relatedSpdxElement": "SPDXRef-Package-asn1-rs-0.6.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fslock-guard-0.1.5", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-chrono-0.4.38" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-atomic-0.5.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" + "spdxElementId": "SPDXRef-Package-postage-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-1.10.6" + "spdxElementId": "SPDXRef-Package-openssl-macros-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_collections-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-ident_case-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-redox_syscall-0.5.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-interface-0.4.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-rand_chacha-0.3.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-socksproto-0.22.0" + "spdxElementId": "SPDXRef-Package-rand-0.8.5" }, { - "relatedSpdxElement": "SPDXRef-Package-heck-0.4.1", + "relatedSpdxElement": "SPDXRef-Package-windows_i686_msvc-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-uncased-0.9.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-figment-0.10.19" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-derive-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-config-path-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-domain-0.10.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", + "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crypto-common-0.1.6" + "spdxElementId": "SPDXRef-Package-toml_edit-0.19.15" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-util-0.1.9", + "relatedSpdxElement": "SPDXRef-Package-caret-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-same-file-1.0.6" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cipher-0.4.4" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tracing-test-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-foreign-types-0.3.2", + "relatedSpdxElement": "SPDXRef-Package-xz2-0.1.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-0.10.66" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-sanitize-filename-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-yoke-0.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-writeable-0.5.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-executor-0.3.30" + "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-0.3.9", + "relatedSpdxElement": "SPDXRef-Package-darling_core-0.14.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fslock-guard-0.1.5" + "spdxElementId": "SPDXRef-Package-darling_macro-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-dirclient-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_derive-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-serde_bytes-0.11.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_json-1.0.128", + "relatedSpdxElement": "SPDXRef-Package-icu_normalizer-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-idna-1.0.2" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-lzma-sys-0.1.20", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-xz2-0.1.7" }, { - "relatedSpdxElement": "SPDXRef-Package-url-2.5.2", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" + "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_derive-1.0.209" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cert-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-write16-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-arti-client-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-safelog-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-macros-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-0.14.2" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-aes-0.8.4" + "spdxElementId": "SPDXRef-Package-nom-7.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-fiat-crypto-0.2.9", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" + "spdxElementId": "SPDXRef-Package-ordered-float-2.10.1" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-rustversion-1.0.17", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-humantime-serde-1.1.1" + "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" }, { - "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-data-encoding-macro-0.1.15" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tap-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-serde_spanned-0.6.7" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zeroize_derive-1.4.2" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-subscriber-0.3.18", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-test-0.2.5" + "spdxElementId": "SPDXRef-Package-synstructure-0.13.1" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-security-framework-sys-2.11.1" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-sys-0.59.0" + "spdxElementId": "SPDXRef-Package-tor-checkable-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.59.0", + "relatedSpdxElement": "SPDXRef-Package-base64-0.22.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-filetime-0.2.25" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-time-core-0.1.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p384-0.13.0" + "spdxElementId": "SPDXRef-Package-time-macros-0.2.18" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_msvc-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-macros-2.4.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-unicode-bidi-0.3.15", + "relatedSpdxElement": "SPDXRef-Package-rsa-0.9.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-idna-0.5.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-ecdsa-0.16.9", + "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p521-0.13.3" + "spdxElementId": "SPDXRef-Package-futures-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-wasix-0.12.21", + "relatedSpdxElement": "SPDXRef-Package-equivalent-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-coarsetime-0.1.34" + "spdxElementId": "SPDXRef-Package-priority-queue-2.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-yoke-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-phf_shared-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_generator-0.11.2" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-icu_provider-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider_macros-1.5.0" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + }, + { + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-units-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-figment-0.10.19" }, { - "relatedSpdxElement": "SPDXRef-Package-schannel-0.1.23", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-dirs-5.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-shellexpand-3.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-enum-ordinalize-3.1.15", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-educe-0.4.23" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-percent-encoding-2.3.1", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-url-2.5.2" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnu-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-test-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-cookie-factory-0.3.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-num_enum-0.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fslock-0.2.1", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-tempfile-3.12.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-inotify-0.9.6" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", + "relatedSpdxElement": "SPDXRef-Package-matchers-0.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-pin-project-internal-1.1.5" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum_macros-0.26.4", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum-0.26.3" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tinystr-0.7.6" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-time-macros-0.2.18", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-0.3.36" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-slotmap-1.0.7", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-p521-0.13.3", + "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-data-encoding-macro-0.1.15" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-fs-mistrust-0.8.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-domain-0.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ssh-encoding-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-directories-5.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", + "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-iter-0.1.45" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-io-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-shellexpand-3.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-tor-config-path-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-hmac-0.12.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-retry-error-0.5.4", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-sha1-0.10.6" }, { - "relatedSpdxElement": "SPDXRef-Package-lazy_static-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sharded-slab-0.1.7" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sharded-slab-0.1.7", + "relatedSpdxElement": "SPDXRef-Package-rsa-0.9.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-unicode-ident-1.0.12", + "relatedSpdxElement": "SPDXRef-Package-unicode-normalization-0.1.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-syn-1.0.109" + "spdxElementId": "SPDXRef-Package-idna-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-tor-units-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-p256-0.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-adhoc-macros-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-flate2-1.0.33", + "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_spanned-0.6.7" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-sha2-0.10.8" }, { "relatedSpdxElement": "SPDXRef-Package-byteorder-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-socks-0.3.4" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify_num-0.5.3", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify-4.7.0" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-kqueue-1.0.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-consdiff-0.22.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-mio-0.8.11" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-general-addr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-walkdir-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-fslock-guard-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-itoa-1.0.11", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-http-1.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-1.3.2", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-inotify-0.9.6" + "spdxElementId": "SPDXRef-Package-slotmap-1.0.7" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-macro-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-home-0.5.9" }, { - "relatedSpdxElement": "SPDXRef-Package-convert_case-0.6.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-synstructure-0.13.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_gnullvm-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-syn-1.0.109" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", + "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-macros-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-errno-0.3.9" + "spdxElementId": "SPDXRef-Package-derive-deftly-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" + "spdxElementId": "SPDXRef-Package-sec1-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rustix-0.38.36" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-units-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.59.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-filetime-0.2.25" }, { - "relatedSpdxElement": "SPDXRef-Package-pkcs1-0.7.5", + "relatedSpdxElement": "SPDXRef-Package-ssh-key-0.6.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rsa-0.9.6" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", + "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pkcs8-0.10.2" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-amplify_num-0.5.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-attributes-0.1.27" + "spdxElementId": "SPDXRef-Package-amplify-4.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-utf8_iter-1.0.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-macros-2.4.0" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-overload-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-nu-ansi-term-0.46.0" + "spdxElementId": "SPDXRef-Package-zeroize_derive-1.4.2" + }, + { + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-educe-0.4.23" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-spki-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-tor-relay-selection-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", + "relatedSpdxElement": "SPDXRef-Package-zstd-safe-7.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sanitize-filename-0.5.0" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnullvm-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-native-tls-0.2.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-downcast-rs-1.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-k12-0.3.0" + "spdxElementId": "SPDXRef-Package-num-iter-0.1.45" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-hashbrown-0.14.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-hashlink-0.9.1" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-growable-bloom-filter-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-heck-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-weak-table-0.3.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-0.14.2" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.59.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-winapi-util-0.1.9" + "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-bounded-vec-deque-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-gosling-0.3.0", + "relationshipType": "GENERATED_FROM", + "spdxElementId": "SPDXRef-File-gosling" + }, + { + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pem-rfc7468-0.7.0", + "relatedSpdxElement": "SPDXRef-Package-darling_macro-0.20.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-0.7.9" + "spdxElementId": "SPDXRef-Package-darling-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_locid-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-adhoc-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-der-parser-9.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pwd-grp-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-macro-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-async-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-winapi-util-0.1.9", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-walkdir-2.5.0" + "spdxElementId": "SPDXRef-Package-merlin-3.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-openssl-sys-0.9.103", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-0.10.66" + "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-retry-error-0.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_macro-0.20.10" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-priority-queue-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-visibility-0.1.1" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_i686_gnu-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-serde_with-3.9.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-darling_core-0.14.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-darling-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zeroize_derive-1.4.2" + "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-overload-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-js-sys-0.3.70" + "spdxElementId": "SPDXRef-Package-nu-ansi-term-0.46.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-derive_more-impl-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_more-1.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fastrand-2.1.1", + "relatedSpdxElement": "SPDXRef-Package-serde_derive-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" + "spdxElementId": "SPDXRef-Package-serde-1.0.209" }, { - "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", + "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-windows-core-0.52.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_syn-2.0.1" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-fslock-0.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-toml_edit-0.22.20", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" + "spdxElementId": "SPDXRef-Package-toml-0.8.19" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-postage-0.5.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-signature-2.2.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", + "relatedSpdxElement": "SPDXRef-Package-time-macros-0.2.18", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-time-0.3.36" }, { - "relatedSpdxElement": "SPDXRef-Package-num-bigint-0.4.6", + "relatedSpdxElement": "SPDXRef-Package-primeorder-0.13.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" + "spdxElementId": "SPDXRef-Package-p521-0.13.3" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" + "spdxElementId": "SPDXRef-Package-educe-0.4.23" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-option-ext-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-atomic-0.6.0", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-figment-0.10.19" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-walkdir-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-core-foundation-0.9.4" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-derive-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-thread_local-1.1.8" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-amplify-4.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-guardmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-data-encoding-macro-internal-0.1.13" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-parking_lot_core-0.9.10" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-data-encoding-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-bstr-1.10.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-shellexpand-3.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-test-macro-0.2.5" + "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" }, { - "relatedSpdxElement": "SPDXRef-Package-yoke-0.7.4", + "relatedSpdxElement": "SPDXRef-Package-lazy_static-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_collections-1.5.0" + "spdxElementId": "SPDXRef-Package-sanitize-filename-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-zerofrom-derive-0.1.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-zerofrom-0.1.4" }, { - "relatedSpdxElement": "SPDXRef-Package-cgosling-proc-macros-0.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-downcast-rs-1.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-regex-1.10.6", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-scopeguard-1.2.0", + "relatedSpdxElement": "SPDXRef-Package-windows_aarch64_gnullvm-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-p256-0.13.2", + "relatedSpdxElement": "SPDXRef-Package-js-sys-0.3.70", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pem-rfc7468-0.7.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.25.0", + "relatedSpdxElement": "SPDXRef-Package-const-oid-0.9.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-digest-0.10.7" }, { - "relatedSpdxElement": "SPDXRef-Package-strsim-0.10.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-quote-1.0.37" }, { - "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", + "relatedSpdxElement": "SPDXRef-Package-zerofrom-0.1.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-aes-0.8.4" + "spdxElementId": "SPDXRef-Package-zerovec-0.10.4" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-proc-macro-crate-1.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-async-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", + "relatedSpdxElement": "SPDXRef-Package-windows_i686_gnu-0.48.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-mio-1.0.2" + "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-aho-corasick-1.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-0.2.93" + "spdxElementId": "SPDXRef-Package-regex-automata-0.4.7" }, { - "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ahash-0.8.11" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-powerfmt-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-thiserror-impl-1.0.63" + "spdxElementId": "SPDXRef-Package-time-0.3.36" }, { - "relatedSpdxElement": "SPDXRef-Package-x25519-dalek-2.0.1", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-pin-project-internal-1.1.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-units-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-aes-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-zstd-safe-7.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-zstd-0.13.2" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-sys-0.48.0" + "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" }, { - "relatedSpdxElement": "SPDXRef-Package-js-sys-0.3.70", + "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" + "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.11.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ahash-0.8.11" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-safelog-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-yoke-derive-0.7.4", + "relatedSpdxElement": "SPDXRef-Package-form_urlencoded-1.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-yoke-0.7.4" + "spdxElementId": "SPDXRef-Package-url-2.5.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-which-4.4.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-kqueue-1.0.8" + "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-encoding-0.2.0" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-macros-2.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-percent-encoding-2.3.1", + "relatedSpdxElement": "SPDXRef-Package-tor-hsservice-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-form_urlencoded-1.2.1" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-pin-utils-0.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-darling_core-0.20.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-darling_macro-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fallible-streaming-iterator-0.1.9", + "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" + "spdxElementId": "SPDXRef-Package-p384-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-chrono-0.4.38" }, { - "relatedSpdxElement": "SPDXRef-Package-rusticata-macros-4.1.0", + "relatedSpdxElement": "SPDXRef-Package-figment-0.10.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-figment-0.10.19" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-powerfmt-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" + "spdxElementId": "SPDXRef-Package-deranged-0.3.11" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-parking_lot-0.12.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-heck-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-x25519-dalek-2.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-tor-config-path-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pkcs8-0.10.2" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-yoke-0.7.4", + "relatedSpdxElement": "SPDXRef-Package-pem-rfc7468-0.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerovec-0.10.4" + "spdxElementId": "SPDXRef-Package-der-0.7.9" }, { - "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-socksproto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", + "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tinyvec_macros-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-serde_spanned-0.6.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tinyvec-1.8.0" + "spdxElementId": "SPDXRef-Package-toml-0.8.19" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-rusticata-macros-4.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" }, { - "relatedSpdxElement": "SPDXRef-Package-ssh-key-0.6.6", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.59.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-winapi-util-0.1.9" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-checkable-0.22.0" + "spdxElementId": "SPDXRef-Package-toml_datetime-0.6.8" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-socket2-0.5.7" }, { - "relatedSpdxElement": "SPDXRef-Package-visibility-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-caret-0.4.7", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-protover-0.22.0" + "spdxElementId": "SPDXRef-Package-mio-1.0.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-consdiff-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider_macros-1.5.0" + "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-toml_datetime-0.6.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-toml-0.8.19" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-thread_local-1.1.8" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itoa-1.0.11", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" + "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-xxhash-rust-0.8.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-yoke-derive-0.7.4" + "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_locid-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-zerofrom-0.1.4", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-yoke-derive-0.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-yoke-0.7.4" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ff-0.13.0" + "spdxElementId": "SPDXRef-Package-which-4.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-backend-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" + "spdxElementId": "SPDXRef-Package-tracing-test-macro-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-core-foundation-0.9.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-home-0.5.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-trait-0.1.82" + "spdxElementId": "SPDXRef-Package-which-4.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-attributes-0.1.27", + "relatedSpdxElement": "SPDXRef-Package-wyz-0.5.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-0.1.40" + "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-openssl-probe-0.1.5", + "relatedSpdxElement": "SPDXRef-Package-unicode-bidi-0.3.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-idna-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-socksproto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-block-buffer-0.10.4" }, { - "relatedSpdxElement": "SPDXRef-Package-winnow-0.5.40", + "relatedSpdxElement": "SPDXRef-Package-security-framework-sys-2.11.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.19.15" + "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_derive-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde-1.0.209" + "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-strum-0.25.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-postage-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive_builder_fork_arti-0.11.2" + "spdxElementId": "SPDXRef-Package-darling_macro-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rsa-0.9.6", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-addr2line-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-itoa-1.0.11", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" + "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_core_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-safelog-0.3.8" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-derive-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-typenum-1.17.0", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-synstructure-0.13.1", + "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" + "spdxElementId": "SPDXRef-Package-p521-0.13.3" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-domain-0.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha3-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-icu_locid-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-redox_users-0.4.6" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cipher-0.4.4", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_macro_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-cipher-0.2.0" + "spdxElementId": "SPDXRef-Package-derive_builder_fork_arti-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-yoke-0.7.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-socket2-0.5.7" + "spdxElementId": "SPDXRef-Package-zerovec-0.10.4" }, { - "relatedSpdxElement": "SPDXRef-Package-primeorder-0.13.6", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p384-0.13.0" + "spdxElementId": "SPDXRef-Package-oneshot-fused-workaround-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rand_core-0.6.4" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-httparse-1.9.4", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bson-2.11.0", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-synstructure-0.13.1" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_gnullvm-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-lzma-sys-0.1.20" }, { - "relatedSpdxElement": "SPDXRef-Package-domain-0.10.0", + "relatedSpdxElement": "SPDXRef-Package-ecdsa-0.16.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-p256-0.13.2" }, { - "relatedSpdxElement": "SPDXRef-Package-equivalent-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-bitvec-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-priority-queue-2.1.0" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" + "spdxElementId": "SPDXRef-Package-zerovec-derive-0.10.3" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-proc-macro-crate-1.3.1" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ryu-1.0.18", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" + "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-static_assertions-1.1.0", + "relatedSpdxElement": "SPDXRef-Package-tor-units-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-darling_core-0.14.4", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling-0.14.4" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-persist-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-time-core-0.1.2", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-0.3.36" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", + "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-util-0.7.12" }, { - "relatedSpdxElement": "SPDXRef-Package-ed25519-2.2.3", + "relatedSpdxElement": "SPDXRef-Package-tor-keymgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-uuid-1.10.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-der-0.7.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-kqueue-sys-1.0.4" + "spdxElementId": "SPDXRef-Package-pkcs1-0.7.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-amplify_num-0.5.3" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-educe-0.4.23" + "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-errno-0.3.9" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-1.3.1", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-idna-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-lzma-sys-0.1.20" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", + "relatedSpdxElement": "SPDXRef-Package-dirs-sys-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" + "spdxElementId": "SPDXRef-Package-dirs-5.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-powerfmt-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-0.3.36" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-form_urlencoded-1.2.1", + "relatedSpdxElement": "SPDXRef-Package-zerovec-0.10.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-url-2.5.2" + "spdxElementId": "SPDXRef-Package-tinystr-0.7.6" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tracing-subscriber-0.3.18", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_datetime-0.6.8" + "spdxElementId": "SPDXRef-Package-tracing-test-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-caret-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-winapi-util-0.1.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zeroize_derive-1.4.2" + "spdxElementId": "SPDXRef-Package-same-file-1.0.6" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-crypto-common-0.1.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-cipher-0.4.4" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-fs-mistrust-0.7.13" + "spdxElementId": "SPDXRef-Package-uuid-1.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_macro-0.14.4" + "spdxElementId": "SPDXRef-Package-syn-1.0.109" }, { - "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", + "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-relay-selection-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-visibility-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-inventory-0.3.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-async-compression-0.4.12", + "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" }, { - "relatedSpdxElement": "SPDXRef-Package-siphasher-0.3.11", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-phf_shared-0.11.2" + "spdxElementId": "SPDXRef-Package-inotify-sys-0.1.5" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_properties-1.5.1", + "relatedSpdxElement": "SPDXRef-Package-fnv-1.0.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-idna-1.0.2" + "spdxElementId": "SPDXRef-Package-darling_core-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-winnow-0.6.18" + "spdxElementId": "SPDXRef-Package-icu_provider_macros-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_x86_64_msvc-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" + "spdxElementId": "SPDXRef-Package-js-sys-0.3.70" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-executor-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-inotify-0.9.6", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-notify-6.1.1" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_ignored-0.1.10" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerocopy-derive-0.7.35" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-android_system_properties-0.1.5", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" + "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-primeorder-0.13.6", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p256-0.13.2" + "spdxElementId": "SPDXRef-Package-openssl-macros-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hsservice-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-socket2-0.5.7" }, { - "relatedSpdxElement": "SPDXRef-Package-safelog-0.3.8", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-postage-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" + "spdxElementId": "SPDXRef-Package-asn1-rs-impl-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" + "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-heck-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-synstructure-0.13.1" + "spdxElementId": "SPDXRef-Package-derive-deftly-0.14.2" }, { - "relatedSpdxElement": "SPDXRef-Package-zstd-sys-2.0.13+zstd.1.5.6", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zstd-safe-7.2.1" + "spdxElementId": "SPDXRef-Package-tor-general-addr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-litemap-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid-1.5.0" + "spdxElementId": "SPDXRef-Package-priority-queue-2.1.0" }, { - "relatedSpdxElement": "SPDXRef-Package-byteorder-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerocopy-0.7.35" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-lock_api-0.4.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-parking_lot-0.12.3" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-getrandom-0.2.15" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_derive-1.0.209" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-minimal-lexical-0.2.1", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-nom-7.1.3" + "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-parking_lot-0.12.3", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-zstd-safe-7.2.1", + "relatedSpdxElement": "SPDXRef-Package-openssl-macros-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-openssl-0.10.66" }, { - "relatedSpdxElement": "SPDXRef-Package-retry-error-0.5.4", + "relatedSpdxElement": "SPDXRef-Package-darling_core-0.20.10", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-darling-0.20.10" }, { - "relatedSpdxElement": "SPDXRef-Package-libsqlite3-sys-0.30.1", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" + "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-proc-macros-0.0.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", + "relatedSpdxElement": "SPDXRef-Package-tor-error-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-0.1.40" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-crossbeam-utils-0.8.20", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crossbeam-queue-0.3.11" + "spdxElementId": "SPDXRef-Package-humantime-serde-1.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-impl-0.2.0" + "spdxElementId": "SPDXRef-Package-chrono-0.4.38" }, { - "relatedSpdxElement": "SPDXRef-Package-thread_local-1.1.8", + "relatedSpdxElement": "SPDXRef-Package-siphasher-0.3.11", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-phf_shared-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-num_enum-0.7.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-1.3.1", + "relatedSpdxElement": "SPDXRef-Package-event-listener-5.3.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num_enum_derive-0.6.1" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", + "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-tokio-stream-0.1.16" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-getrandom-0.2.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-ahash-0.8.11" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-strum_macros-0.25.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-strum-0.25.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_normalizer-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-idna-1.0.2" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-tor-units-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", + "relatedSpdxElement": "SPDXRef-Package-fnv-1.0.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-checkable-0.22.0" + "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-security-framework-sys-2.11.1", + "relatedSpdxElement": "SPDXRef-Package-windows-targets-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" + "spdxElementId": "SPDXRef-Package-windows-sys-0.52.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-enum-ordinalize-3.1.15" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-crossbeam-utils-0.8.20", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-concurrent-queue-2.5.0" + "spdxElementId": "SPDXRef-Package-tor-units-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tinystr-0.7.6", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-data-encoding-macro-internal-0.1.13", + "relatedSpdxElement": "SPDXRef-Package-winnow-0.6.18", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-data-encoding-macro-0.1.15" + "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" }, { - "relatedSpdxElement": "SPDXRef-Package-synstructure-0.13.1", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerofrom-derive-0.1.4" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-time-0.3.36", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-tracing-test-macro-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-0.1.40", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-ecdsa-0.16.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerovec-derive-0.10.3" + "spdxElementId": "SPDXRef-Package-p384-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-wasi-0.11.0+wasi-snapshot-preview1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-wasix-0.12.21" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-sanitize-filename-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_properties-1.5.1" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bson-2.11.0", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-ecdsa-0.16.9" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-tor-hsclient-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", + "relatedSpdxElement": "SPDXRef-Package-iana-time-zone-haiku-0.1.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" + "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha1-0.10.6" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-visibility-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-tor-relay-selection-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-arrayvec-0.7.6", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-crc32fast-1.4.2" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-lazy_static-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-tor-chanmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-units-0.22.0" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fslock-0.2.1", + "relatedSpdxElement": "SPDXRef-Package-either-1.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.11.0", + "relatedSpdxElement": "SPDXRef-Package-url-2.5.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-futures-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-keccak-0.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-sha3-0.10.8" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-attributes-0.1.27" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-android_system_properties-0.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml-0.8.19" + "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-parking-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-event-listener-5.3.1" }, { - "relatedSpdxElement": "SPDXRef-Package-primeorder-0.13.6", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p521-0.13.3" + "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-gosling-0.3.0", - "relationshipType": "GENERATED_FROM", - "spdxElementId": "SPDXRef-File-gosling" + "relatedSpdxElement": "SPDXRef-Package-safelog-0.4.1", + "relationshipType": "DEPENDS_ON", + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-ryu-1.0.18", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p521-0.13.3" + "spdxElementId": "SPDXRef-Package-serde_json-1.0.128" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-downcast-rs-1.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-postage-0.5.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_locid_transform_data-1.5.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_locid_transform-1.5.0" + "spdxElementId": "SPDXRef-Package-async-trait-0.1.82" }, { - "relatedSpdxElement": "SPDXRef-Package-option-ext-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" + "spdxElementId": "SPDXRef-Package-serde_with_macros-3.9.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zerofrom-derive-0.1.4", + "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-zerofrom-0.1.4" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-macros-0.7.3" + "spdxElementId": "SPDXRef-Package-tracing-0.1.40" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-async-native-tls-0.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-scopeguard-1.2.0", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-lock_api-0.4.12" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-relay-selection-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-deranged-0.3.11" }, { - "relatedSpdxElement": "SPDXRef-Package-funty-2.0.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-gosling-0.3.0" }, { - "relatedSpdxElement": "SPDXRef-Package-cpufeatures-0.2.13", + "relatedSpdxElement": "SPDXRef-Package-strsim-0.10.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-sha2-0.10.8" + "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-log-0.4.22", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-p256-0.13.2" }, { - "relatedSpdxElement": "SPDXRef-Package-sec1-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-derive-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-kqueue-sys-1.0.4", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-kqueue-1.0.8" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-relay-selection-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-inout-0.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-cipher-0.4.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive-deftly-0.14.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-bytes-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-parking_lot_core-0.9.10", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-parking_lot-0.12.3" + "spdxElementId": "SPDXRef-Package-asn1-rs-impl-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rustversion-1.0.17", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asn1-rs-derive-0.5.1" + "spdxElementId": "SPDXRef-Package-group-0.13.0" }, { - "relatedSpdxElement": "SPDXRef-Package-spki-0.7.3", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-pkcs1-0.7.5" + "spdxElementId": "SPDXRef-Package-educe-0.4.23" }, { - "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", + "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rustix-0.38.36" + "spdxElementId": "SPDXRef-Package-slotmap-careful-0.2.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-displaydoc-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.48.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_macro-0.14.4" + "spdxElementId": "SPDXRef-Package-tokio-macros-2.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-bytes-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-backtrace-0.3.73" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-macro-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-0.2.93" + "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-windows-sys-0.52.0", + "relatedSpdxElement": "SPDXRef-Package-pkcs8-0.10.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-ed25519-2.2.3" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-bytemuck-1.18.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-core-0.1.32" + "spdxElementId": "SPDXRef-Package-atomic-0.6.0" }, { - "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", + "relatedSpdxElement": "SPDXRef-Package-tor-units-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify-4.7.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-android-tzdata-0.1.1", + "relatedSpdxElement": "SPDXRef-Package-tor-circmgr-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-chrono-0.4.38" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-generic-array-0.14.7", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_derive-1.0.209" + "spdxElementId": "SPDXRef-Package-crypto-common-0.1.6" }, { - "relatedSpdxElement": "SPDXRef-Package-retry-error-0.5.4", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-checkable-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-util-0.7.12", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde_bytes-0.11.15", + "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bson-2.11.0" + "spdxElementId": "SPDXRef-Package-futures-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-heck-0.4.1", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-adhoc-0.7.3" + "spdxElementId": "SPDXRef-Package-tor-hscrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-wasm-bindgen-backend-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-libredox-0.1.3", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-redox_users-0.4.6" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-postage-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-async-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-retry-error-0.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-thiserror-impl-1.0.63" + "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-filetime-0.2.25" + "spdxElementId": "SPDXRef-Package-ssh-encoding-0.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-miniz_oxide-0.8.0", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-flate2-1.0.33" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-macros-2.4.0", + "relatedSpdxElement": "SPDXRef-Package-linux-raw-sys-0.4.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-rustix-0.38.36" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-config-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-arti-client-0.22.0" + "spdxElementId": "SPDXRef-Package-tokio-stream-0.1.16" }, { - "relatedSpdxElement": "SPDXRef-Package-libredox-0.1.3", + "relatedSpdxElement": "SPDXRef-Package-writeable-0.5.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-filetime-0.2.25" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-aho-corasick-1.1.3", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-regex-automata-0.4.7" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-notify-types-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-openssl-macros-0.1.1" + "spdxElementId": "SPDXRef-Package-notify-7.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", + "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-thread_local-1.1.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-attributes-0.1.27" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_derive-4.0.1" + "spdxElementId": "SPDXRef-Package-tokio-1.40.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tap-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wyz-0.5.1" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-linux-raw-sys-0.4.14", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rustix-0.38.36" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-tor-config-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tinystr-0.7.6" + "spdxElementId": "SPDXRef-Package-tor-memquota-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-hashlink-0.9.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" }, { - "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-error-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" + "spdxElementId": "SPDXRef-Package-openssl-0.10.66" }, { - "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", + "relatedSpdxElement": "SPDXRef-Package-ctr-0.9.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-crypto-common-0.1.6", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-digest-0.10.7" + "spdxElementId": "SPDXRef-Package-rustix-0.38.36" }, { - "relatedSpdxElement": "SPDXRef-Package-num-integer-0.1.46", + "relatedSpdxElement": "SPDXRef-Package-retry-error-0.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-0.4.6" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-phf_generator-0.11.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-phf_macros-0.11.2" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-hmac-0.12.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-mio-1.0.2" + "spdxElementId": "SPDXRef-Package-rfc6979-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hsservice-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fluid-let-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-safelog-0.3.8" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_i686_msvc-0.52.6", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-darling_core-0.14.4", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_macro-0.14.4" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-pin-project-lite-0.2.14", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-security-framework-sys-2.11.1" + "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-tor-protover-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-bytes-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-thiserror-impl-1.0.63" }, { - "relatedSpdxElement": "SPDXRef-Package-typenum-1.17.0", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-generic-array-0.14.7" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" + "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-tor-relay-selection-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-const-oid-0.9.6", + "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-der-0.7.9" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-icu_provider_macros-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-signal-hook-registry-1.4.2" + "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-visibility-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.22.0" + "spdxElementId": "SPDXRef-Package-zerovec-derive-0.10.3" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-error-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-tor-cell-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-trait-0.1.82" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-serde-value-0.7.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-basic-utils-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-config-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ordered-float-2.10.1", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde-value-0.7.0" + "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-dirs-sys-0.4.1" }, { - "relatedSpdxElement": "SPDXRef-Package-num_enum-0.6.1", + "relatedSpdxElement": "SPDXRef-Package-windows_i686_gnullvm-0.52.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-gosling-0.3.0" + "spdxElementId": "SPDXRef-Package-windows-targets-0.52.6" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-humantime-serde-1.1.1" + "spdxElementId": "SPDXRef-Package-tokio-stream-0.1.16" }, { - "relatedSpdxElement": "SPDXRef-Package-windows_i686_gnu-0.48.5", + "relatedSpdxElement": "SPDXRef-Package-bytes-1.7.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-windows-targets-0.48.5" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tracing-core-0.1.32", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-log-0.2.0" + "spdxElementId": "SPDXRef-Package-coarsetime-0.1.34" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-syn-2.0.77", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-checkable-0.22.0" + "spdxElementId": "SPDXRef-Package-visibility-0.1.1" }, { - "relatedSpdxElement": "SPDXRef-Package-powerfmt-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-deranged-0.3.11" + "spdxElementId": "SPDXRef-Package-tor-key-forge-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tracing-test-macro-0.2.5" + "spdxElementId": "SPDXRef-Package-serde_bytes-0.11.15" }, { - "relatedSpdxElement": "SPDXRef-Package-downcast-rs-1.2.1", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-cipher-0.4.4" }, { - "relatedSpdxElement": "SPDXRef-Package-k12-0.3.0", + "relatedSpdxElement": "SPDXRef-Package-bitvec-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-retry-error-0.5.4", + "relatedSpdxElement": "SPDXRef-Package-pin-project-1.1.5", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-signal-hook-registry-1.4.2", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tokio-1.40.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93" + "spdxElementId": "SPDXRef-Package-tor-rtmock-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-libsqlite3-sys-0.30.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-derive-deftly-macros-0.14.2" + "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" }, { - "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", + "relatedSpdxElement": "SPDXRef-Package-icu_properties-1.5.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-hermit-abi-0.3.9", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-mio-1.0.2" }, { - "relatedSpdxElement": "SPDXRef-Package-growable-bloom-filter-2.1.0", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tempfile-3.12.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-async-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-displaydoc-0.2.5", + "relatedSpdxElement": "SPDXRef-Package-fallible-iterator-0.3.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_builder_fork_arti-0.11.2", + "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-displaydoc-0.2.5" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-toml_edit-0.22.20", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-safelog-0.3.8" + "spdxElementId": "SPDXRef-Package-proc-macro-crate-3.2.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" + "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-toml_datetime-0.6.8", + "relatedSpdxElement": "SPDXRef-Package-serde_with-3.9.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.19.15" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-dirs-sys-0.4.1", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-dirs-5.0.1" + "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-curve25519-dalek-4.1.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-chrono-0.4.38" + "spdxElementId": "SPDXRef-Package-x25519-dalek-2.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-tap-1.0.1", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-bitvec-1.0.1" + "spdxElementId": "SPDXRef-Package-tor-hsclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-macro-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-foreign-types-shared-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-foreign-types-0.3.2" }, { - "relatedSpdxElement": "SPDXRef-Package-security-framework-2.11.1", + "relatedSpdxElement": "SPDXRef-Package-serde_json-1.0.128", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-tor-netdir-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ordered-float-2.10.1" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-humantime-serde-1.1.1", + "relatedSpdxElement": "SPDXRef-Package-humantime-2.1.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-slab-0.4.9", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-util-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" }, { - "relatedSpdxElement": "SPDXRef-Package-writeable-0.5.5", + "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_provider-1.5.0" + "spdxElementId": "SPDXRef-Package-syn-1.0.109" }, { - "relatedSpdxElement": "SPDXRef-Package-home-0.5.9", + "relatedSpdxElement": "SPDXRef-Package-itertools-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-which-4.4.2" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-base16ct-0.2.0", + "relatedSpdxElement": "SPDXRef-Package-tor-dirclient-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-signature-2.2.0", "relationshipType": "DEPENDS_ON", "spdxElementId": "SPDXRef-Package-rsa-0.9.6" }, { - "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", + "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-p521-0.13.3" + "spdxElementId": "SPDXRef-Package-futures-executor-0.3.30" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-hsservice-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-llcrypto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-which-4.4.2", + "relatedSpdxElement": "SPDXRef-Package-futures-task-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-cgosling-0.3.1" + "spdxElementId": "SPDXRef-Package-async_executors-0.7.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-unicode-ident-1.0.12", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-blanket-0.3.0" + "spdxElementId": "SPDXRef-Package-syn-2.0.77" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirclient-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-error-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-write16-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-tor-linkspec-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-netdir-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-icu_properties-1.5.1", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-sha2-0.10.8", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ed25519-dalek-2.1.1" + "spdxElementId": "SPDXRef-Package-tor-units-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-base64ct-1.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.26.4" + "spdxElementId": "SPDXRef-Package-tor-netdoc-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", + "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cert-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-linkspec-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-indexmap-2.5.0", + "relatedSpdxElement": "SPDXRef-Package-thiserror-1.0.63", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-serde_with-3.9.0" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-openssl-0.10.66", + "relatedSpdxElement": "SPDXRef-Package-serde_with-3.9.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-native-tls-0.2.12" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-util-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-bounded-vec-deque-0.1.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-futures-executor-0.3.30" + "spdxElementId": "SPDXRef-Package-tor-circmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-units-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-relay-selection-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-rand_core-0.6.4", + "relatedSpdxElement": "SPDXRef-Package-strum-0.26.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-crypto-bigint-0.5.5" + "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-paste-1.0.15", + "relatedSpdxElement": "SPDXRef-Package-tracing-log-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-key-forge-0.22.0" + "spdxElementId": "SPDXRef-Package-tracing-subscriber-0.3.18" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-retry-error-0.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-growable-bloom-filter-2.1.0" + "spdxElementId": "SPDXRef-Package-tor-hsservice-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tokio-1.40.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-interface-0.4.0" + "spdxElementId": "SPDXRef-Package-tor-config-path-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-educe-0.4.23", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-der-parser-9.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-tor-llcrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-toml_edit-0.22.20" + "spdxElementId": "SPDXRef-Package-tor-cert-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-futures-core-0.3.30", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rusqlite-0.32.1" + "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" }, { - "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-tor-rtcompat-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-proto-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-dirclient-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-proc-macro2-1.0.86", + "relatedSpdxElement": "SPDXRef-Package-by_address-1.2.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-strum_macros-0.25.3" + "spdxElementId": "SPDXRef-Package-tor-linkspec-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", + "relatedSpdxElement": "SPDXRef-Package-hex-0.4.3", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-indexmap-1.9.3" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.7.13", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-persist-0.22.0" + "spdxElementId": "SPDXRef-Package-darling_macro-0.14.4" }, { - "relatedSpdxElement": "SPDXRef-Package-smallvec-1.13.2", + "relatedSpdxElement": "SPDXRef-Package-tor-hscrypto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-arti-client-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-async-native-tls-0.5.0", + "relatedSpdxElement": "SPDXRef-Package-libm-0.2.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtcompat-0.22.0" + "spdxElementId": "SPDXRef-Package-num-traits-0.2.19" }, { - "relatedSpdxElement": "SPDXRef-Package-utf16_iter-1.0.5", + "relatedSpdxElement": "SPDXRef-Package-base64-0.13.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-icu_normalizer-1.5.0" + "spdxElementId": "SPDXRef-Package-bson-2.11.0" }, { - "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-cell-0.22.0" + "spdxElementId": "SPDXRef-Package-amplify_syn-2.0.1" }, { - "relatedSpdxElement": "SPDXRef-Package-async-trait-0.1.82", + "relatedSpdxElement": "SPDXRef-Package-void-1.0.2", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-rtmock-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-general-addr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-num-conv-0.1.0", + "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-time-0.3.36" + "spdxElementId": "SPDXRef-Package-tor-log-ratelim-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-elliptic-curve-0.13.8", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-amplify_syn-2.0.1" + "spdxElementId": "SPDXRef-Package-p256-0.13.2" }, { - "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", + "relatedSpdxElement": "SPDXRef-Package-group-0.13.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-core-foundation-0.9.4" + "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" }, { - "relatedSpdxElement": "SPDXRef-Package-once_cell-1.19.0", + "relatedSpdxElement": "SPDXRef-Package-proc-macro-crate-3.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdoc-0.22.0" + "spdxElementId": "SPDXRef-Package-num_enum_derive-0.7.3" }, { - "relatedSpdxElement": "SPDXRef-Package-digest-0.10.7", + "relatedSpdxElement": "SPDXRef-Package-tap-1.0.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-dirmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-wyz-0.5.1" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-unicode-xid-0.2.6", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-educe-0.4.23" + "spdxElementId": "SPDXRef-Package-derive_more-impl-1.0.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libm-0.2.8", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-bigint-dig-0.8.4" + "spdxElementId": "SPDXRef-Package-digest-0.10.7" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-config-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-wasm-bindgen-macro-support-0.2.93", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-keymgr-0.22.0" + "spdxElementId": "SPDXRef-Package-wasm-bindgen-macro-0.2.93" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-basic-utils-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-tor-proto-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-chanmgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-libc-0.2.158", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-rand-0.8.5" + "spdxElementId": "SPDXRef-Package-bstr-1.10.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-byteorder-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-memquota-0.22.0" + "spdxElementId": "SPDXRef-Package-zerocopy-0.7.35" }, { - "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", + "relatedSpdxElement": "SPDXRef-Package-derive_more-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-num-iter-0.1.45" + "spdxElementId": "SPDXRef-Package-tor-persist-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-core-foundation-sys-0.8.7", + "relatedSpdxElement": "SPDXRef-Package-syn-1.0.109", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-security-framework-2.11.1" + "spdxElementId": "SPDXRef-Package-data-encoding-macro-internal-0.1.13" }, { - "relatedSpdxElement": "SPDXRef-Package-rand-0.8.5", + "relatedSpdxElement": "SPDXRef-Package-byteorder-1.5.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-socks-0.3.4" }, { - "relatedSpdxElement": "SPDXRef-Package-quote-1.0.37", + "relatedSpdxElement": "SPDXRef-Package-tor-memquota-0.24.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-darling_core-0.14.4" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-zeroize-1.8.1", + "relatedSpdxElement": "SPDXRef-Package-serde-1.0.209", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-ssh-key-0.6.6" + "spdxElementId": "SPDXRef-Package-indexmap-2.5.0" }, { - "relatedSpdxElement": "SPDXRef-Package-tor-netdoc-0.22.0", + "relatedSpdxElement": "SPDXRef-Package-bitflags-2.6.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-netdir-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-cell-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-ff-0.13.0", + "relatedSpdxElement": "SPDXRef-Package-subtle-2.6.1", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-elliptic-curve-0.13.8" + "spdxElementId": "SPDXRef-Package-curve25519-dalek-4.1.3" }, { - "relatedSpdxElement": "SPDXRef-Package-memchr-2.7.4", + "relatedSpdxElement": "SPDXRef-Package-windows-core-0.52.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" + "spdxElementId": "SPDXRef-Package-iana-time-zone-0.1.60" }, { - "relatedSpdxElement": "SPDXRef-Package-xz2-0.1.7", + "relatedSpdxElement": "SPDXRef-Package-oneshot-fused-workaround-0.2.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-async-compression-0.4.12" + "spdxElementId": "SPDXRef-Package-tor-proto-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-futures-sink-0.3.30", + "relatedSpdxElement": "SPDXRef-Package-fs-mistrust-0.8.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-asynchronous-codec-0.7.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" }, { - "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", + "relatedSpdxElement": "SPDXRef-Package-num-traits-0.2.19", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-circmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-asn1-rs-0.6.2" }, { - "relatedSpdxElement": "SPDXRef-Package-dyn-clone-1.0.17", + "relatedSpdxElement": "SPDXRef-Package-cfg-if-1.0.0", "relationshipType": "DEPENDS_ON", - "spdxElementId": "SPDXRef-Package-tor-guardmgr-0.22.0" + "spdxElementId": "SPDXRef-Package-tor-keymgr-0.24.0" } ], "spdxVersion": "SPDX-2.3"