From 7a9c41f9131862e4ec03b3efb03fd5ebe232bbe3 Mon Sep 17 00:00:00 2001 From: jbearer Date: Tue, 29 Oct 2024 19:50:04 +0000 Subject: [PATCH] deploy: d062dc78910700005962c27441c19489200a3ac8 --- hotshot_query_service/all.html | 2 +- .../availability/enum.Fetch.html | 13 +- .../availability/struct.BlockQueryData.html | 2 +- .../availability/struct.LeafQueryData.html | 2 +- .../availability/struct.PayloadQueryData.html | 2 +- .../struct.VidCommonQueryData.html | 2 +- .../trait.AvailabilityDataSource.html | 10 +- .../data_source/fetching/index.html | 2 +- .../data_source/fetching/struct.Builder.html | 30 +- .../fetching/struct.FetchingDataSource.html | 98 +++---- .../data_source/fetching/struct.Pruner.html | 8 +- .../fetching/trait.AvailabilityProvider.html | 4 +- .../data_source/sql/index.html | 4 +- .../sql/macro.include_migrations.html | 2 +- .../data_source/sql/sidebar-items.js | 2 +- .../data_source/sql/struct.Postgres.html | 267 ------------------ .../data_source/sql/testing/index.html | 2 +- .../data_source/sql/type.Config.html | 16 -- .../data_source/sql/type.SqlDataSource.html | 20 +- .../storage/pruning/trait.PruneStorage.html | 2 +- .../storage/pruning/trait.PrunerConfig.html | 2 +- .../storage/sql/fn.default_migrations.html | 2 +- .../data_source/storage/sql/index.html | 4 +- .../storage/sql/macro.include_migrations.html | 2 +- .../data_source/storage/sql/sidebar-items.js | 2 +- .../storage/sql/struct.Config.html | 49 ++-- .../storage/sql/struct.Postgres.html | 267 ------------------ .../storage/sql/struct.Pruner.html | 2 +- .../storage/sql/struct.SqlStorage.html | 14 +- .../storage/sql/struct.Transaction.html | 2 +- .../storage/sql/testing/index.html | 2 +- .../struct.TestMerkleTreeMigration.html | 2 +- .../storage/sql/testing/struct.TmpDb.html | 2 +- .../storage/sql/trait.Database.html | 4 +- .../storage/sql/trait.Executor.html | 4 +- .../data_source/storage/sql/type.Db.html | 4 +- .../trait.VersionedDataSource.html | 10 +- .../explorer/struct.BlockDetail.html | 2 +- .../explorer/struct.BlockSummary.html | 2 +- .../explorer/trait.ExplorerDataSource.html | 2 +- .../fetching/provider/struct.AnyProvider.html | 2 +- .../fetching/provider/struct.NoFetching.html | 2 +- .../provider/struct.QueryServiceProvider.html | 2 +- .../provider/struct.TestProvider.html | 2 +- .../macro.include_migrations.html | 2 +- .../trait.MerklizedStateDataSource.html | 2 +- ...trait.MerklizedStateHeightPersistence.html | 2 +- .../node/trait.NodeDataSource.html | 2 +- .../status/trait.HasMetrics.html | 4 +- .../status/trait.StatusDataSource.html | 2 +- .../consensus/trait.DataSourceLifeCycle.html | 2 +- search-index.js | 4 +- .../hotshot_query_service-desc-0-.js | 2 +- .../availability/fetch.rs.html | 10 + .../data_source/fetching.rs.html | 264 +++++++++++++++-- .../data_source/sql.rs.html | 4 +- .../data_source/storage/sql.rs.html | 46 +-- trait.impl/core/clone/trait.Clone.js | 4 +- trait.impl/core/convert/trait.From.js | 4 +- trait.impl/core/default/trait.Default.js | 4 +- trait.impl/core/fmt/trait.Debug.js | 4 +- trait.impl/core/marker/trait.Freeze.js | 4 +- trait.impl/core/marker/trait.Send.js | 4 +- trait.impl/core/marker/trait.Sync.js | 4 +- trait.impl/core/marker/trait.Unpin.js | 4 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 4 +- .../panic/unwind_safe/trait.UnwindSafe.js | 4 +- trait.impl/core/str/traits/trait.FromStr.js | 4 +- .../sqlx_core/from_row/trait.FromRow.js | 4 +- .../data_source/fetching/struct.Builder.js | 4 +- .../fetching/struct.FetchingDataSource.js | 4 +- .../data_source/sql/type.SqlDataSource.js | 4 +- .../data_source/storage/sql/struct.Config.js | 9 - .../storage/sql/struct.Postgres.js | 9 - .../sqlx_postgres/database/struct.Postgres.js | 9 + .../offset_date_time/struct.OffsetDateTime.js | 4 +- 76 files changed, 501 insertions(+), 814 deletions(-) delete mode 100644 hotshot_query_service/data_source/sql/struct.Postgres.html delete mode 100644 hotshot_query_service/data_source/sql/type.Config.html delete mode 100644 hotshot_query_service/data_source/storage/sql/struct.Postgres.html delete mode 100644 type.impl/hotshot_query_service/data_source/storage/sql/struct.Config.js delete mode 100644 type.impl/hotshot_query_service/data_source/storage/sql/struct.Postgres.js create mode 100644 type.impl/sqlx_postgres/database/struct.Postgres.js diff --git a/hotshot_query_service/all.html b/hotshot_query_service/all.html index 150d27d33..b332c4bda 100644 --- a/hotshot_query_service/all.html +++ b/hotshot_query_service/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Aliases

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Aliases

Constants

\ No newline at end of file diff --git a/hotshot_query_service/availability/enum.Fetch.html b/hotshot_query_service/availability/enum.Fetch.html index 6d99f8fa6..94a530d23 100644 --- a/hotshot_query_service/availability/enum.Fetch.html +++ b/hotshot_query_service/availability/enum.Fetch.html @@ -1,4 +1,4 @@ -Fetch in hotshot_query_service::availability - Rust

Enum hotshot_query_service::availability::Fetch

source ·
pub enum Fetch<T> {
+Fetch in hotshot_query_service::availability - Rust

Enum hotshot_query_service::availability::Fetch

source ·
pub enum Fetch<T> {
     Ready(T),
     Pending(BoxFuture<'static, T>),
 }
Expand description

An in-progress request to fetch some data.

@@ -14,7 +14,7 @@ and with_context, which make it easy to convert a Fetch to a Result, mimicking the methods from Snafu traits OptionExt and ResultExt.

-

Variants§

§

Ready(T)

§

Pending(BoxFuture<'static, T>)

Implementations§

source§

impl<T> Fetch<T>

source

pub fn try_resolve(self) -> Result<T, Self>

Get the requested data if it is available immediately.

+

Variants§

§

Ready(T)

§

Pending(BoxFuture<'static, T>)

Implementations§

source§

impl<T> Fetch<T>

source

pub fn try_resolve(self) -> Result<T, Self>

Get the requested data if it is available immediately.

If the requested data is not immediately available, Err(self) is returned so that the Fetch object may be used again.

source

pub fn context<C, E>(self, context: C) -> Result<T, E>
where @@ -28,15 +28,16 @@ E: Error + ErrorCompat,

Convert this Fetch to a Result with the provided error context.

The result indicates whether the requested data is immediately available. If it is, Ok is returned. Otherwise, an error is created from context using Snafu.

-
source§

impl<T: Send + 'static> Fetch<T>

source

pub async fn resolve(self) -> T

Wait for the data to become available, if it is not already.

-
source

pub async fn with_timeout(self, timeout: Duration) -> Option<T>

Wait for the requested data to become available, but only for up to timeout.

+
source

pub fn is_pending(&self) -> bool

Does this fetch represent an unresolved query?

+
source§

impl<T: Send + 'static> Fetch<T>

source

pub async fn resolve(self) -> T

Wait for the data to become available, if it is not already.

+
source

pub async fn with_timeout(self, timeout: Duration) -> Option<T>

Wait for the requested data to become available, but only for up to timeout.

This function is similar to resolve, but if the future does not resolve within timeout, then with_timeout will resolve with None.

-
source§

impl<T: 'static> Fetch<T>

source

pub fn map<F, U>(self, f: F) -> Fetch<U>
where +

source§

impl<T: 'static> Fetch<T>

source

pub fn map<F, U>(self, f: F) -> Fetch<U>
where F: 'static + Send + FnOnce(T) -> U,

Transform the result of this fetch.

If the requested data is already available, f will be applied immediately. Otherwise, f will be saved and applied after the pending future resolves.

-

Trait Implementations§

source§

impl<T: Send + 'static> IntoFuture for Fetch<T>

source§

type Output = T

The output that the future will produce on completion.
source§

type IntoFuture = Pin<Box<dyn Future<Output = <Fetch<T> as IntoFuture>::Output> + Send>>

Which kind of future are we turning this into?
source§

fn into_future(self) -> Self::IntoFuture

Creates a future from a value. Read more

Auto Trait Implementations§

§

impl<T> Freeze for Fetch<T>
where +

Trait Implementations§

source§

impl<T: Send + 'static> IntoFuture for Fetch<T>

source§

type Output = T

The output that the future will produce on completion.
source§

type IntoFuture = Pin<Box<dyn Future<Output = <Fetch<T> as IntoFuture>::Output> + Send>>

Which kind of future are we turning this into?
source§

fn into_future(self) -> Self::IntoFuture

Creates a future from a value. Read more

Auto Trait Implementations§

§

impl<T> Freeze for Fetch<T>
where T: Freeze,

§

impl<T> !RefUnwindSafe for Fetch<T>

§

impl<T> Send for Fetch<T>
where T: Send,

§

impl<T> !Sync for Fetch<T>

§

impl<T> Unpin for Fetch<T>
where T: Unpin,

§

impl<T> !UnwindSafe for Fetch<T>

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/hotshot_query_service/availability/struct.BlockQueryData.html b/hotshot_query_service/availability/struct.BlockQueryData.html index ffedc86cc..cc70c06f8 100644 --- a/hotshot_query_service/availability/struct.BlockQueryData.html +++ b/hotshot_query_service/availability/struct.BlockQueryData.html @@ -14,7 +14,7 @@ &self, ) -> impl '_ + Iterator<Item = (TransactionIndex<Types>, Transaction<Types>)>

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for BlockQueryData<Types>

source§

fn clone(&self) -> BlockQueryData<Types>

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<Types: Debug + NodeType> Debug for BlockQueryData<Types>

source§

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

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

impl<'de, Types: NodeType> Deserialize<'de> for BlockQueryData<Types>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Types: NodeType> From<BlockQueryData<Types>> for BlockSummaryQueryData<Types>
where - Payload<Types>: QueryablePayload<Types>,

source§

fn from(value: BlockQueryData<Types>) -> Self

Converts to this type from the input type.
source§

impl<Types: NodeType> From<BlockQueryData<Types>> for PayloadQueryData<Types>

source§

fn from(block: BlockQueryData<Types>) -> Self

Converts to this type from the input type.
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockQueryData<Types>
where + Payload<Types>: QueryablePayload<Types>,

source§

fn from(value: BlockQueryData<Types>) -> Self

Converts to this type from the input type.
source§

impl<Types: NodeType> From<BlockQueryData<Types>> for PayloadQueryData<Types>

source§

fn from(block: BlockQueryData<Types>) -> Self

Converts to this type from the input type.
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockQueryData<Types>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: NodeType> HeightIndexed for BlockQueryData<Types>

source§

fn height(&self) -> u64

source§

impl<Types: PartialEq + NodeType> PartialEq for BlockQueryData<Types>

source§

fn eq(&self, other: &BlockQueryData<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for BlockQueryData<Types>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/hotshot_query_service/availability/struct.LeafQueryData.html b/hotshot_query_service/availability/struct.LeafQueryData.html index 0d15e7c45..b390b1168 100644 --- a/hotshot_query_service/availability/struct.LeafQueryData.html +++ b/hotshot_query_service/availability/struct.LeafQueryData.html @@ -9,7 +9,7 @@
§Errors
validated_state: &Types::ValidatedState, instance_state: &Types::InstanceState, ) -> Self

source

pub fn leaf(&self) -> &Leaf<Types>

source

pub fn qc(&self) -> &QuorumCertificate<Types>

source

pub fn header(&self) -> &Header<Types>

source

pub fn hash(&self) -> LeafHash<Types>

source

pub fn block_hash(&self) -> BlockHash<Types>

source

pub fn payload_hash(&self) -> VidCommitment

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for LeafQueryData<Types>

source§

fn clone(&self) -> LeafQueryData<Types>

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<Types: Debug + NodeType> Debug for LeafQueryData<Types>

source§

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

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

impl<'de, Types: NodeType> Deserialize<'de> for LeafQueryData<Types>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for LeafQueryData<Types>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for LeafQueryData<Types>
where Types: NodeType,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: NodeType> HeightIndexed for LeafQueryData<Types>

source§

fn height(&self) -> u64

source§

impl<Types: PartialEq + NodeType> PartialEq for LeafQueryData<Types>

source§

fn eq(&self, other: &LeafQueryData<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for LeafQueryData<Types>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Types: Eq + NodeType> Eq for LeafQueryData<Types>

source§

impl<Types: NodeType> StructuralPartialEq for LeafQueryData<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for LeafQueryData<Types>
where diff --git a/hotshot_query_service/availability/struct.PayloadQueryData.html b/hotshot_query_service/availability/struct.PayloadQueryData.html index e709b3afe..7208c47fe 100644 --- a/hotshot_query_service/availability/struct.PayloadQueryData.html +++ b/hotshot_query_service/availability/struct.PayloadQueryData.html @@ -3,7 +3,7 @@ instance_state: &Types::InstanceState, ) -> Self
where Payload<Types>: QueryablePayload<Types>,

source

pub fn hash(&self) -> VidCommitment

source

pub fn block_hash(&self) -> BlockHash<Types>

source

pub fn size(&self) -> u64

source

pub fn data(&self) -> &Payload<Types>

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for PayloadQueryData<Types>

source§

fn clone(&self) -> PayloadQueryData<Types>

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<Types: Debug + NodeType> Debug for PayloadQueryData<Types>

source§

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

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

impl<'de, Types: NodeType> Deserialize<'de> for PayloadQueryData<Types>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Types: NodeType> From<BlockQueryData<Types>> for PayloadQueryData<Types>

source§

fn from(block: BlockQueryData<Types>) -> Self

Converts to this type from the input type.
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for PayloadQueryData<Types>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Types: NodeType> From<BlockQueryData<Types>> for PayloadQueryData<Types>

source§

fn from(block: BlockQueryData<Types>) -> Self

Converts to this type from the input type.
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for PayloadQueryData<Types>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: NodeType> HeightIndexed for PayloadQueryData<Types>

source§

fn height(&self) -> u64

source§

impl<Types: PartialEq + NodeType> PartialEq for PayloadQueryData<Types>

source§

fn eq(&self, other: &PayloadQueryData<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for PayloadQueryData<Types>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/hotshot_query_service/availability/struct.VidCommonQueryData.html b/hotshot_query_service/availability/struct.VidCommonQueryData.html index be4e92716..9fd70cfc3 100644 --- a/hotshot_query_service/availability/struct.VidCommonQueryData.html +++ b/hotshot_query_service/availability/struct.VidCommonQueryData.html @@ -2,7 +2,7 @@ validated_state: &Types::ValidatedState, instance_state: &Types::InstanceState, ) -> Self

source

pub fn block_hash(&self) -> BlockHash<Types>

source

pub fn payload_hash(&self) -> VidCommitment

source

pub fn common(&self) -> &VidCommon

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for VidCommonQueryData<Types>

source§

fn clone(&self) -> VidCommonQueryData<Types>

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<Types: Debug + NodeType> Debug for VidCommonQueryData<Types>

source§

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

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

impl<'de, Types: NodeType> Deserialize<'de> for VidCommonQueryData<Types>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for VidCommonQueryData<Types>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for VidCommonQueryData<Types>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: NodeType> HeightIndexed for VidCommonQueryData<Types>

source§

fn height(&self) -> u64

source§

impl<Types: PartialEq + NodeType> PartialEq for VidCommonQueryData<Types>

source§

fn eq(&self, other: &VidCommonQueryData<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for VidCommonQueryData<Types>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/hotshot_query_service/availability/trait.AvailabilityDataSource.html b/hotshot_query_service/availability/trait.AvailabilityDataSource.html index fe3635363..67da2518e 100644 --- a/hotshot_query_service/availability/trait.AvailabilityDataSource.html +++ b/hotshot_query_service/availability/trait.AvailabilityDataSource.html @@ -222,18 +222,18 @@ where R: RangeBounds<usize> + Send

source§

type VidCommonRange<R> = <D as AvailabilityDataSource<Types>>::VidCommonRange<R> where - R: RangeBounds<usize> + Send

source§

impl<Types, S, P> AvailabilityDataSource<Types> for FetchingDataSource<Types, S, P>
where + R: RangeBounds<usize> + Send

source§

impl<Types, S, P> AvailabilityDataSource<Types> for FetchingDataSource<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, S: VersionedDataSource + 'static, for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>, for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage, - P: AvailabilityProvider<Types>,

source§

type LeafRange<R> = Pin<Box<dyn Stream<Item = Fetch<LeafQueryData<Types>>> + Send>> + P: AvailabilityProvider<Types>,

source§

type LeafRange<R> = Pin<Box<dyn Stream<Item = Fetch<LeafQueryData<Types>>> + Send>> where - R: RangeBounds<usize> + Send

source§

type BlockRange<R> = Pin<Box<dyn Stream<Item = Fetch<BlockQueryData<Types>>> + Send>> + R: RangeBounds<usize> + Send

source§

type BlockRange<R> = Pin<Box<dyn Stream<Item = Fetch<BlockQueryData<Types>>> + Send>> where - R: RangeBounds<usize> + Send

source§

type PayloadRange<R> = Pin<Box<dyn Stream<Item = Fetch<PayloadQueryData<Types>>> + Send>> + R: RangeBounds<usize> + Send

source§

type PayloadRange<R> = Pin<Box<dyn Stream<Item = Fetch<PayloadQueryData<Types>>> + Send>> where - R: RangeBounds<usize> + Send

source§

type VidCommonRange<R> = Pin<Box<dyn Stream<Item = Fetch<VidCommonQueryData<Types>>> + Send>> + R: RangeBounds<usize> + Send

source§

type VidCommonRange<R> = Pin<Box<dyn Stream<Item = Fetch<VidCommonQueryData<Types>>> + Send>> where R: RangeBounds<usize> + Send

\ No newline at end of file diff --git a/hotshot_query_service/data_source/fetching/index.html b/hotshot_query_service/data_source/fetching/index.html index c87f6d93d..b2c78cf43 100644 --- a/hotshot_query_service/data_source/fetching/index.html +++ b/hotshot_query_service/data_source/fetching/index.html @@ -1,4 +1,4 @@ -hotshot_query_service::data_source::fetching - Rust

Module hotshot_query_service::data_source::fetching

source ·
Expand description

Asynchronous retrieval of missing data.

+hotshot_query_service::data_source::fetching - Rust

Module hotshot_query_service::data_source::fetching

source ·
Expand description

Asynchronous retrieval of missing data.

FetchingDataSource combines a local storage implementation with a remote data availability provider to create a data sources which caches data locally, but which is capable of fetching missing data from a remote source, either proactively or on demand.

diff --git a/hotshot_query_service/data_source/fetching/struct.Builder.html b/hotshot_query_service/data_source/fetching/struct.Builder.html index d7f8e0ef8..6ccdc4d52 100644 --- a/hotshot_query_service/data_source/fetching/struct.Builder.html +++ b/hotshot_query_service/data_source/fetching/struct.Builder.html @@ -1,37 +1,37 @@ -Builder in hotshot_query_service::data_source::fetching - Rust

Struct hotshot_query_service::data_source::fetching::Builder

source ·
pub struct Builder<Types, S, P> { /* private fields */ }
Expand description

Builder for FetchingDataSource with configuration.

-

Implementations§

source§

impl<Types, S, P> Builder<Types, S, P>

source

pub fn new(storage: S, provider: P) -> Self

Construct a new builder with the given storage and fetcher and the default options.

-
source

pub fn with_retry_delay(self, retry_delay: Duration) -> Self

Set the maximum delay between retries of fetches.

-
source

pub fn with_rate_limit(self, with_rate_limit: usize) -> Self

Set the maximum delay between retries of fetches.

-
source

pub fn with_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when loading a range or stream.

+Builder in hotshot_query_service::data_source::fetching - Rust

Struct hotshot_query_service::data_source::fetching::Builder

source ·
pub struct Builder<Types, S, P> { /* private fields */ }
Expand description

Builder for FetchingDataSource with configuration.

+

Implementations§

source§

impl<Types, S, P> Builder<Types, S, P>

source

pub fn new(storage: S, provider: P) -> Self

Construct a new builder with the given storage and fetcher and the default options.

+
source

pub fn with_retry_delay(self, retry_delay: Duration) -> Self

Set the maximum delay between retries of fetches.

+
source

pub fn with_rate_limit(self, with_rate_limit: usize) -> Self

Set the maximum delay between retries of fetches.

+
source

pub fn with_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when loading a range or stream.

This determines:

  • The number of objects to load from storage in a single request
  • The number of objects to buffer in memory per request/stream
  • The number of concurrent notification subscriptions per request/stream
-
source

pub fn with_minor_scan_interval(self, interval: Duration) -> Self

Set the time interval between minor proactive fetching scans.

+
source

pub fn with_minor_scan_interval(self, interval: Duration) -> Self

Set the time interval between minor proactive fetching scans.

See proactive fetching.

-
source

pub fn with_major_scan_interval(self, interval: usize) -> Self

Set the interval (denominated in minor scans) between +

source

pub fn with_major_scan_interval(self, interval: usize) -> Self

Set the interval (denominated in minor scans) between major proactive fetching scans.

See proactive fetching.

-
source

pub fn with_major_scan_offset(self, offset: usize) -> Self

Set the offset (denominated in minor scans) before the +

source

pub fn with_major_scan_offset(self, offset: usize) -> Self

Set the offset (denominated in minor scans) before the first major proactive fetching scan.

This is useful when starting multiple nodes at the same time: major proactive scans can have a measurable impact on the performance of the node for a brief time while the scan is running, so it may be desirable to prevent a group of nodes from all doing major scans at the same time. This can be achieved by giving each node a different major_scan_offset.

See also proactive fetching.

-
source

pub fn with_proactive_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when scanning for proactive fetching.

+
source

pub fn with_proactive_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when scanning for proactive fetching.

This is similar to Self::with_range_chunk_size, but only affects the chunk size for proactive fetching scans, not for normal subscription streams. This can be useful to tune the proactive scanner to be more or less greedy with the lock on persistent storage.

By default (i.e. if this method is not called) the proactive range chunk size will be set to whatever the normal range chunk size is.

-
source

pub fn with_active_fetch_delay(self, active_fetch_delay: Duration) -> Self

Add a delay between active fetches in proactive scans.

+
source

pub fn with_active_fetch_delay(self, active_fetch_delay: Duration) -> Self

Add a delay between active fetches in proactive scans.

This can be used to limit the rate at which this query service makes requests to other query services during proactive scans. This is useful if the query service has a lot of blocks to catch up on, as without a delay, scanning can be extremely burdensome on the peer.

-
source

pub fn with_chunk_fetch_delay(self, chunk_fetch_delay: Duration) -> Self

Adds a delay between chunk fetches during proactive scans.

+
source

pub fn with_chunk_fetch_delay(self, chunk_fetch_delay: Duration) -> Self

Adds a delay between chunk fetches during proactive scans.

In a proactive scan, we retrieve a range of objects from a provider or local storage (e.g., a database). Without a delay between fetching these chunks, the process can become very CPU-intensive, especially when chunks are retrieved from local storage. While there is already a delay for active fetches @@ -40,21 +40,21 @@

This additional delay helps to limit constant maximum CPU usage and ensures that local storage remains accessible to all processes, not just the proactive scanner.

-
source

pub fn disable_proactive_fetching(self) -> Self

Run without proactive fetching.

+
source

pub fn disable_proactive_fetching(self) -> Self

Run without proactive fetching.

This can reduce load on the CPU and the database, but increases the probability that requests will fail due to missing resources. If resources are constrained, it is recommended to run with rare proactive fetching (see with_major_scan_interval, with_minor_scan_interval), rather than disabling it entirely.

-
source§

impl<Types, S, P> Builder<Types, S, P>
where +

source§

impl<Types, S, P> Builder<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types>, - S: PruneStorage + VersionedDataSource + 'static, + S: PruneStorage + VersionedDataSource + HasMetrics + 'static, for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + PrunedHeightStorage + NodeStorage<Types>, for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>, - P: AvailabilityProvider<Types>,

source

pub async fn build(self) -> Result<FetchingDataSource<Types, S, P>>

Build a FetchingDataSource with these options.

+ P: AvailabilityProvider<Types>,
source

pub async fn build(self) -> Result<FetchingDataSource<Types, S, P>>

Build a FetchingDataSource with these options.

Auto Trait Implementations§

§

impl<Types, S, P> Freeze for Builder<Types, S, P>
where S: Freeze, P: Freeze,

§

impl<Types, S, P> RefUnwindSafe for Builder<Types, S, P>
where diff --git a/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.html b/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.html index ff73c0222..3ccb01ace 100644 --- a/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.html +++ b/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.html @@ -1,4 +1,4 @@ -FetchingDataSource in hotshot_query_service::data_source::fetching - Rust
pub struct FetchingDataSource<Types, S, P>
where +FetchingDataSource in hotshot_query_service::data_source::fetching - Rust
pub struct FetchingDataSource<Types, S, P>
where Types: NodeType,
{ /* private fields */ }
Expand description

The most basic kind of data source.

A data source is constructed modularly by combining a storage implementation with a Fetcher. The former allows the query service to store the @@ -13,14 +13,14 @@ sources can be constructed out of FetchingDataSource by changing the storage and fetcher implementations used, and more complex data sources can be built on top using data source combinators.

-

Implementations§

source§

impl<Types, S, P> FetchingDataSource<Types, S, P>
where +

Implementations§

source§

impl<Types, S, P> FetchingDataSource<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types>, - S: VersionedDataSource + PruneStorage + 'static, + S: VersionedDataSource + PruneStorage + HasMetrics + 'static, for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>, for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage, - P: AvailabilityProvider<Types>,

source

pub fn builder(storage: S, provider: P) -> Builder<Types, S, P>

Build a FetchingDataSource with the given storage and provider.

+ P: AvailabilityProvider<Types>,

source

pub fn builder(storage: S, provider: P) -> Builder<Types, S, P>

Build a FetchingDataSource with the given storage and provider.

source§

impl<Types: NodeType, P> FetchingDataSource<Types, FileSystemStorage<Types>, P>
where Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types>, @@ -56,81 +56,81 @@ AtomicStore::commit_version, the version of this FileSystemDataSource must be advanced, either by commit or, if there are no outstanding changes, skip_version.

-

source§

impl<Types, P: AvailabilityProvider<Types>> FetchingDataSource<Types, SqlStorage, P>
where +

source§

impl<Types, P: AvailabilityProvider<Types>> FetchingDataSource<Types, SqlStorage, P>
where Types: NodeType, Header<Types>: QueryableHeader<Types>, - Payload<Types>: QueryablePayload<Types>,

source

pub async fn connect( - config: Config, + Payload<Types>: QueryablePayload<Types>,

source

pub async fn connect( + config: Config, provider: P, ) -> Result<Builder<Types, P>, Error>

Connect to a remote database.

This function returns a fetching::Builder which can be used to set options on the underlying FetchingDataSource, before constructing the SqlDataSource with build. For a convenient constructor that uses the default fetching options, see Config::connect.

-

Trait Implementations§

source§

impl<Types, S, P> AsRef<S> for FetchingDataSource<Types, S, P>
where - Types: NodeType,

source§

fn as_ref(&self) -> &S

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<Types, S, P> AvailabilityDataSource<Types> for FetchingDataSource<Types, S, P>
where +

Trait Implementations§

source§

impl<Types, S, P> AsRef<S> for FetchingDataSource<Types, S, P>
where + Types: NodeType,

source§

fn as_ref(&self) -> &S

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<Types, S, P> AvailabilityDataSource<Types> for FetchingDataSource<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, S: VersionedDataSource + 'static, for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>, for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage, - P: AvailabilityProvider<Types>,

source§

type LeafRange<R> = Pin<Box<dyn Stream<Item = Fetch<LeafQueryData<Types>>> + Send>> + P: AvailabilityProvider<Types>,

source§

type LeafRange<R> = Pin<Box<dyn Stream<Item = Fetch<LeafQueryData<Types>>> + Send>> where - R: RangeBounds<usize> + Send

source§

type BlockRange<R> = Pin<Box<dyn Stream<Item = Fetch<BlockQueryData<Types>>> + Send>> + R: RangeBounds<usize> + Send

source§

type BlockRange<R> = Pin<Box<dyn Stream<Item = Fetch<BlockQueryData<Types>>> + Send>> where - R: RangeBounds<usize> + Send

source§

type PayloadRange<R> = Pin<Box<dyn Stream<Item = Fetch<PayloadQueryData<Types>>> + Send>> + R: RangeBounds<usize> + Send

source§

type PayloadRange<R> = Pin<Box<dyn Stream<Item = Fetch<PayloadQueryData<Types>>> + Send>> where - R: RangeBounds<usize> + Send

source§

type VidCommonRange<R> = Pin<Box<dyn Stream<Item = Fetch<VidCommonQueryData<Types>>> + Send>> + R: RangeBounds<usize> + Send

source§

type VidCommonRange<R> = Pin<Box<dyn Stream<Item = Fetch<VidCommonQueryData<Types>>> + Send>> where - R: RangeBounds<usize> + Send

source§

fn get_leaf<'life0, 'async_trait, ID>( + R: RangeBounds<usize> + Send

source§

fn get_leaf<'life0, 'async_trait, ID>( &'life0 self, id: ID, ) -> Pin<Box<dyn Future<Output = Fetch<LeafQueryData<Types>>> + Send + 'async_trait>>
where ID: Into<LeafId<Types>> + Send + Sync + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_block<'life0, 'async_trait, ID>( + 'life0: 'async_trait,

source§

fn get_block<'life0, 'async_trait, ID>( &'life0 self, id: ID, ) -> Pin<Box<dyn Future<Output = Fetch<BlockQueryData<Types>>> + Send + 'async_trait>>
where ID: Into<BlockId<Types>> + Send + Sync + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_payload<'life0, 'async_trait, ID>( + 'life0: 'async_trait,

source§

fn get_payload<'life0, 'async_trait, ID>( &'life0 self, id: ID, ) -> Pin<Box<dyn Future<Output = Fetch<PayloadQueryData<Types>>> + Send + 'async_trait>>
where ID: Into<BlockId<Types>> + Send + Sync + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_vid_common<'life0, 'async_trait, ID>( + 'life0: 'async_trait,

source§

fn get_vid_common<'life0, 'async_trait, ID>( &'life0 self, id: ID, ) -> Pin<Box<dyn Future<Output = Fetch<VidCommonQueryData<Types>>> + Send + 'async_trait>>
where ID: Into<BlockId<Types>> + Send + Sync + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_leaf_range<'life0, 'async_trait, R>( + 'life0: 'async_trait,

source§

fn get_leaf_range<'life0, 'async_trait, R>( &'life0 self, range: R, ) -> Pin<Box<dyn Future<Output = Self::LeafRange<R>> + Send + 'async_trait>>
where R: RangeBounds<usize> + Send + 'static + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_block_range<'life0, 'async_trait, R>( + 'life0: 'async_trait,

source§

fn get_block_range<'life0, 'async_trait, R>( &'life0 self, range: R, ) -> Pin<Box<dyn Future<Output = Self::BlockRange<R>> + Send + 'async_trait>>
where R: RangeBounds<usize> + Send + 'static + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_payload_range<'life0, 'async_trait, R>( + 'life0: 'async_trait,

source§

fn get_payload_range<'life0, 'async_trait, R>( &'life0 self, range: R, ) -> Pin<Box<dyn Future<Output = Self::PayloadRange<R>> + Send + 'async_trait>>
where R: RangeBounds<usize> + Send + 'static + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_vid_common_range<'life0, 'async_trait, R>( + 'life0: 'async_trait,

source§

fn get_vid_common_range<'life0, 'async_trait, R>( &'life0 self, range: R, ) -> Pin<Box<dyn Future<Output = Self::VidCommonRange<R>> + Send + 'async_trait>>
where R: RangeBounds<usize> + Send + 'static + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn get_transaction<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

fn get_transaction<'life0, 'async_trait>( &'life0 self, hash: TransactionHash<Types>, ) -> Pin<Box<dyn Future<Output = Fetch<TransactionQueryData<Types>>> + Send + 'async_trait>>
where @@ -155,118 +155,118 @@ from: usize, ) -> Pin<Box<dyn Future<Output = BoxStream<'static, VidCommonQueryData<Types>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, - 'life0: 'async_trait,

source§

impl<Types, S, P> Clone for FetchingDataSource<Types, S, P>
where - Types: NodeType,

source§

fn clone(&self) -> Self

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<Types, S, P> Debug for FetchingDataSource<Types, S, P>
where + 'life0: 'async_trait,

source§

impl<Types, S, P> Clone for FetchingDataSource<Types, S, P>
where + Types: NodeType,

source§

fn clone(&self) -> Self

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<Types, S, P> Debug for FetchingDataSource<Types, S, P>
where Types: NodeType, S: Debug, - P: Debug,

source§

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

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

impl<Types, S, P> ExplorerDataSource<Types> for FetchingDataSource<Types, S, P>
where + P: Debug,

source§

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

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

impl<Types, S, P> ExplorerDataSource<Types> for FetchingDataSource<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, Transaction<Types>: ExplorerTransaction, S: VersionedDataSource + 'static, for<'a> S::ReadOnly<'a>: ExplorerStorage<Types>, - P: Send + Sync,

source§

fn get_block_summaries<'life0, 'async_trait>( + P: Send + Sync,

source§

fn get_block_summaries<'life0, 'async_trait>( &'life0 self, request: GetBlockSummariesRequest<Types>, ) -> Pin<Box<dyn Future<Output = Result<Vec<BlockSummary<Types>>, GetBlockSummariesError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_block_summaries is a method that retrieves a list of block summaries from the blockchain. The list is generated from the given -GetBlockSummariesRequest.
source§

fn get_block_detail<'life0, 'async_trait>( +GetBlockSummariesRequest.

source§

fn get_block_detail<'life0, 'async_trait>( &'life0 self, request: BlockIdentifier<Types>, ) -> Pin<Box<dyn Future<Output = Result<BlockDetail<Types>, GetBlockDetailError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_block_detail is a method that retrieves the details of a specific block from the blockchain. The block is identified by the given -BlockIdentifier.
source§

fn get_transaction_summaries<'life0, 'async_trait>( +BlockIdentifier.

source§

fn get_transaction_summaries<'life0, 'async_trait>( &'life0 self, request: GetTransactionSummariesRequest<Types>, ) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionSummary<Types>>, GetTransactionSummariesError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_transaction_summaries is a method that retrieves a list of transaction summaries from the blockchain. The list is generated from -the given GetTransactionSummariesRequest.
source§

fn get_transaction_detail<'life0, 'async_trait>( +the given GetTransactionSummariesRequest.

source§

fn get_transaction_detail<'life0, 'async_trait>( &'life0 self, request: TransactionIdentifier<Types>, ) -> Pin<Box<dyn Future<Output = Result<TransactionDetailResponse<Types>, GetTransactionDetailError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_transaction_detail is a method that retrieves the details of a specific transaction from the blockchain. The transaction is identified -by the given TransactionIdentifier.
source§

fn get_explorer_summary<'life0, 'async_trait>( +by the given TransactionIdentifier.

source§

fn get_explorer_summary<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<ExplorerSummary<Types>, GetExplorerSummaryError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_explorer_summary is a method that retrieves a summary overview of the blockchain. This is useful for displaying information that -indicates the overall status of the block chain.
source§

fn get_search_results<'life0, 'async_trait>( +indicates the overall status of the block chain.

source§

fn get_search_results<'life0, 'async_trait>( &'life0 self, query: String, ) -> Pin<Box<dyn Future<Output = Result<SearchResult<Types>, GetSearchResultsError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_search_results is a method that retrieves the results of a search query against the blockchain. The results are generated from the given -query string.
source§

impl<Types, S, P> HasMetrics for FetchingDataSource<Types, S, P>
where +query string.

source§

impl<Types, S, P> HasMetrics for FetchingDataSource<Types, S, P>
where Types: NodeType, - S: HasMetrics,

source§

impl<Types, S, P, State, const ARITY: usize> MerklizedStateDataSource<Types, State, ARITY> for FetchingDataSource<Types, S, P>
where + S: HasMetrics,

source§

impl<Types, S, P, State, const ARITY: usize> MerklizedStateDataSource<Types, State, ARITY> for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + 'static, for<'a> S::ReadOnly<'a>: MerklizedStateStorage<Types, State, ARITY>, P: Send + Sync, State: MerklizedState<Types, ARITY> + 'static, - <State as MerkleTreeScheme>::Commitment: Send,

source§

fn get_path<'life0, 'async_trait>( + <State as MerkleTreeScheme>::Commitment: Send,

source§

fn get_path<'life0, 'async_trait>( &'life0 self, snapshot: Snapshot<Types, State, ARITY>, key: State::Key, ) -> Pin<Box<dyn Future<Output = QueryResult<MerkleProof<State::Entry, State::Key, State::T, ARITY>>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

impl<Types, S, P> MerklizedStateHeightPersistence for FetchingDataSource<Types, S, P>
where + 'life0: 'async_trait,

source§

impl<Types, S, P> MerklizedStateHeightPersistence for FetchingDataSource<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, S: VersionedDataSource + 'static, for<'a> S::ReadOnly<'a>: MerklizedStateHeightStorage, - P: Send + Sync,

source§

fn get_last_state_height<'life0, 'async_trait>( + P: Send + Sync,

source§

fn get_last_state_height<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

impl<Types, S, P> NodeDataSource<Types> for FetchingDataSource<Types, S, P>
where + 'life0: 'async_trait,

source§

impl<Types, S, P> NodeDataSource<Types> for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + 'static, for<'a> S::ReadOnly<'a>: NodeStorage<Types>, - P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>( + P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn count_transactions<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

fn count_transactions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn payload_size<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

fn payload_size<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn vid_share<'life0, 'async_trait, ID>( + 'life0: 'async_trait,

source§

fn vid_share<'life0, 'async_trait, ID>( &'life0 self, id: ID, ) -> Pin<Box<dyn Future<Output = QueryResult<VidShare>> + Send + 'async_trait>>
where ID: Into<BlockId<Types>> + Send + Sync + 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

source§

fn sync_status<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

fn sync_status<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = QueryResult<SyncStatus>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

Search the database for missing objects and generate a report.
source§

fn get_header_window<'life0, 'async_trait>( + 'life0: 'async_trait,

Search the database for missing objects and generate a report.
source§

fn get_header_window<'life0, 'async_trait>( &'life0 self, start: impl 'async_trait + Into<WindowStart<Types>> + Send + Sync, end: u64, ) -> Pin<Box<dyn Future<Output = QueryResult<TimeWindowQueryData<Header<Types>>>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

impl<Types, S, P> StatusDataSource for FetchingDataSource<Types, S, P>
where + 'life0: 'async_trait,

source§

impl<Types, S, P> StatusDataSource for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + HasMetrics + Send + Sync + 'static, for<'a> S::ReadOnly<'a>: NodeStorage<Types>, - P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>( + P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait, @@ -278,14 +278,14 @@ &'life0 self, ) -> Pin<Box<dyn Future<Output = QueryResult<f64>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, - 'life0: 'async_trait,

source§

impl<Types, S, P> VersionedDataSource for FetchingDataSource<Types, S, P>
where + 'life0: 'async_trait,

source§

impl<Types, S, P> VersionedDataSource for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + Send + Sync, - P: Send + Sync,

source§

type Transaction<'a> = Transaction<'a, Types, <S as VersionedDataSource>::Transaction<'a>> + P: Send + Sync,

source§

type Transaction<'a> = Transaction<'a, Types, <S as VersionedDataSource>::Transaction<'a>> where - Self: 'a

A transaction which can read and modify the data source.
source§

type ReadOnly<'a> = Transaction<'a, Types, <S as VersionedDataSource>::ReadOnly<'a>> + Self: 'a

A transaction which can read and modify the data source.
source§

type ReadOnly<'a> = Transaction<'a, Types, <S as VersionedDataSource>::ReadOnly<'a>> where - Self: 'a

source§

async fn write(&self) -> Result<Self::Transaction<'_>>

Start an atomic transaction on the data source.
source§

async fn read(&self) -> Result<Self::ReadOnly<'_>>

Start a read-only transaction on the data source. Read more

Auto Trait Implementations§

§

impl<Types, S, P> Freeze for FetchingDataSource<Types, S, P>

§

impl<Types, S, P> !RefUnwindSafe for FetchingDataSource<Types, S, P>

§

impl<Types, S, P> Send for FetchingDataSource<Types, S, P>
where + Self: 'a

source§

async fn write(&self) -> Result<Self::Transaction<'_>>

Start an atomic transaction on the data source.
source§

async fn read(&self) -> Result<Self::ReadOnly<'_>>

Start a read-only transaction on the data source. Read more

Auto Trait Implementations§

§

impl<Types, S, P> Freeze for FetchingDataSource<Types, S, P>

§

impl<Types, S, P> !RefUnwindSafe for FetchingDataSource<Types, S, P>

§

impl<Types, S, P> Send for FetchingDataSource<Types, S, P>
where S: Sync + Send, P: Sync + Send,

§

impl<Types, S, P> Sync for FetchingDataSource<Types, S, P>
where S: Sync + Send, diff --git a/hotshot_query_service/data_source/fetching/struct.Pruner.html b/hotshot_query_service/data_source/fetching/struct.Pruner.html index 954d33412..c4e518650 100644 --- a/hotshot_query_service/data_source/fetching/struct.Pruner.html +++ b/hotshot_query_service/data_source/fetching/struct.Pruner.html @@ -1,9 +1,9 @@ -Pruner in hotshot_query_service::data_source::fetching - Rust

Struct hotshot_query_service::data_source::fetching::Pruner

source ·
pub struct Pruner<Types, S, P>
where - Types: NodeType,
{ /* private fields */ }

Trait Implementations§

source§

impl<Types, S, P> Clone for Pruner<Types, S, P>
where - Types: NodeType,

source§

fn clone(&self) -> Self

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<Types, S, P> Debug for Pruner<Types, S, P>
where +Pruner in hotshot_query_service::data_source::fetching - Rust

Struct hotshot_query_service::data_source::fetching::Pruner

source ·
pub struct Pruner<Types, S, P>
where + Types: NodeType,
{ /* private fields */ }

Trait Implementations§

source§

impl<Types, S, P> Clone for Pruner<Types, S, P>
where + Types: NodeType,

source§

fn clone(&self) -> Self

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<Types, S, P> Debug for Pruner<Types, S, P>
where Types: NodeType, S: Debug, - P: Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Types, S, P> Freeze for Pruner<Types, S, P>

§

impl<Types, S, P> RefUnwindSafe for Pruner<Types, S, P>
where + P: Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Types, S, P> Freeze for Pruner<Types, S, P>

§

impl<Types, S, P> RefUnwindSafe for Pruner<Types, S, P>

§

impl<Types, S, P> Send for Pruner<Types, S, P>
where diff --git a/hotshot_query_service/data_source/fetching/trait.AvailabilityProvider.html b/hotshot_query_service/data_source/fetching/trait.AvailabilityProvider.html index efa2fee45..6379c6736 100644 --- a/hotshot_query_service/data_source/fetching/trait.AvailabilityProvider.html +++ b/hotshot_query_service/data_source/fetching/trait.AvailabilityProvider.html @@ -1,8 +1,8 @@ -AvailabilityProvider in hotshot_query_service::data_source::fetching - Rust
pub trait AvailabilityProvider<Types: NodeType>:
+AvailabilityProvider in hotshot_query_service::data_source::fetching - Rust
pub trait AvailabilityProvider<Types: NodeType>:
     Provider<Types, LeafRequest>
     + Provider<Types, PayloadRequest>
     + Provider<Types, VidCommonRequest>
     + Sync
     + 'static { }
Expand description

A provider which can be used as a fetcher by the availability service.

-

Implementors§

source§

impl<Types: NodeType, P> AvailabilityProvider<Types> for P
where +

Implementors§

source§

impl<Types: NodeType, P> AvailabilityProvider<Types> for P
where P: Provider<Types, LeafRequest> + Provider<Types, PayloadRequest> + Provider<Types, VidCommonRequest> + Sync + 'static,

\ No newline at end of file diff --git a/hotshot_query_service/data_source/sql/index.html b/hotshot_query_service/data_source/sql/index.html index bd5c6a884..237002f0c 100644 --- a/hotshot_query_service/data_source/sql/index.html +++ b/hotshot_query_service/data_source/sql/index.html @@ -1,3 +1,3 @@ -hotshot_query_service::data_source::sql - Rust

Module hotshot_query_service::data_source::sql

source ·

Re-exports§

Modules§

Macros§

Structs§

  • The Error type, a wrapper around a dynamic error type.
  • Represents a schema migration to be run on the database, +hotshot_query_service::data_source::sql - Rust

    Module hotshot_query_service::data_source::sql

    source ·

    Re-exports§

    Modules§

    Macros§

    Structs§

    • The Error type, a wrapper around a dynamic error type.
    • Represents a schema migration to be run on the database, this struct is used by the embed_migrations! macro to gather migration files -and shouldn’t be needed by the user
    • PostgreSQL database driver.

    Type Aliases§

    \ No newline at end of file +and shouldn’t be needed by the user

Type Aliases§

  • A data source for the APIs provided in this crate, backed by a remote PostgreSQL database.
\ No newline at end of file diff --git a/hotshot_query_service/data_source/sql/macro.include_migrations.html b/hotshot_query_service/data_source/sql/macro.include_migrations.html index bd1d61b52..928b73bb6 100644 --- a/hotshot_query_service/data_source/sql/macro.include_migrations.html +++ b/hotshot_query_service/data_source/sql/macro.include_migrations.html @@ -1,4 +1,4 @@ -include_migrations in hotshot_query_service::data_source::sql - Rust
macro_rules! include_migrations {
+include_migrations in hotshot_query_service::data_source::sql - Rust
macro_rules! include_migrations {
     ($dir:tt) => { ... };
 }
Expand description

Embed migrations from the given directory into the current binary.

The macro invocation include_migrations!(path) evaluates to an expression of type impl Iterator<Item = Migration>. Each migration must be a text file which is an immediate child of diff --git a/hotshot_query_service/data_source/sql/sidebar-items.js b/hotshot_query_service/data_source/sql/sidebar-items.js index ec7d2258d..28a09231f 100644 --- a/hotshot_query_service/data_source/sql/sidebar-items.js +++ b/hotshot_query_service/data_source/sql/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"macro":["include_migrations"],"mod":["testing"],"struct":["Error","Migration","Postgres"],"type":["Builder","Config","SqlDataSource"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"macro":["include_migrations"],"mod":["testing"],"struct":["Error","Migration"],"type":["Builder","SqlDataSource"]}; \ No newline at end of file diff --git a/hotshot_query_service/data_source/sql/struct.Postgres.html b/hotshot_query_service/data_source/sql/struct.Postgres.html deleted file mode 100644 index 80e9d2d02..000000000 --- a/hotshot_query_service/data_source/sql/struct.Postgres.html +++ /dev/null @@ -1,267 +0,0 @@ -Postgres in hotshot_query_service::data_source::sql - Rust

Struct hotshot_query_service::data_source::sql::Postgres

pub struct Postgres;
Expand description

PostgreSQL database driver.

-

Trait Implementations§

§

impl Database for Postgres

§

type Connection = PgConnection

The concrete Connection implementation for this database.
§

type TransactionManager = PgTransactionManager

The concrete TransactionManager implementation for this database.
§

type Row = PgRow

The concrete Row implementation for this database.
§

type QueryResult = PgQueryResult

The concrete QueryResult implementation for this database.
§

type Column = PgColumn

The concrete Column implementation for this database.
§

type TypeInfo = PgTypeInfo

The concrete TypeInfo implementation for this database.
§

type Value = PgValue

The concrete type used to hold an owned copy of the not-yet-decoded value that was -received from the database.
§

type ValueRef<'r> = PgValueRef<'r>

The concrete type used to hold a reference to the not-yet-decoded value that has just been -received from the database.
§

type Arguments<'q> = PgArguments

The concrete Arguments implementation for this database.
§

type ArgumentBuffer<'q> = PgArgumentBuffer

The concrete type used as a buffer for arguments while encoding.
§

type Statement<'q> = PgStatement<'q>

The concrete Statement implementation for this database.
§

const NAME: &'static str = "PostgreSQL"

The display name for this database driver.
§

const URL_SCHEMES: &'static [&'static str] = _

The schemes for database URLs that should match this driver.
§

impl Debug for Postgres

§

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

Formats the value using the given formatter. Read more
§

impl<const N: usize> Decode<'_, Postgres> for [u8; N]

§

fn decode( - value: PgValueRef<'_>, -) -> Result<[u8; N], Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl Decode<'_, Postgres> for String

§

fn decode(value: PgValueRef<'_>) -> Result<String, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl Decode<'_, Postgres> for Vec<u8>

§

fn decode( - value: PgValueRef<'_>, -) -> Result<Vec<u8>, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl Decode<'_, Postgres> for bool

§

fn decode(value: PgValueRef<'_>) -> Result<bool, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Postgres> for &'r [u8]

§

fn decode( - value: PgValueRef<'r>, -) -> Result<&'r [u8], Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Postgres> for &'r str

§

fn decode( - value: PgValueRef<'r>, -) -> Result<&'r str, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl<'r, T, const N: usize> Decode<'r, Postgres> for [T; N]
where - T: for<'a> Decode<'a, Postgres> + Type<Postgres>,

§

fn decode(value: PgValueRef<'r>) -> Result<[T; N], Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl<'r> Decode<'r, Postgres> for OffsetDateTime

§

fn decode( - value: PgValueRef<'r>, -) -> Result<OffsetDateTime, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl<'r, T> Decode<'r, Postgres> for Vec<T>
where - T: for<'a> Decode<'a, Postgres> + Type<Postgres>,

§

fn decode(value: PgValueRef<'r>) -> Result<Vec<T>, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
§

impl Encode<'_, Postgres> for &[u8]

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl Encode<'_, Postgres> for &str

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl<const N: usize> Encode<'_, Postgres> for [u8; N]

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl Encode<'_, Postgres> for OffsetDateTime

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn size_hint(&self) -> usize

§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

impl Encode<'_, Postgres> for String

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl Encode<'_, Postgres> for Vec<u8>

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl Encode<'_, Postgres> for bool

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl<'q, T> Encode<'q, Postgres> for &[T]
where - T: Encode<'q, Postgres> + Type<Postgres>,

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl<'q, T, const N: usize> Encode<'q, Postgres> for [T; N]
where - &'a [T]: for<'a> Encode<'q, Postgres>, - T: Encode<'q, Postgres>,

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

§

impl<'q, T> Encode<'q, Postgres> for Option<T>
where - T: Encode<'q, Postgres> + Type<Postgres> + 'q,

§

fn produces(&self) -> Option<<Postgres as Database>::TypeInfo>

§

fn encode( - self, - buf: &mut <Postgres as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf in the expected format for the database.
§

fn encode_by_ref( - &self, - buf: &mut <Postgres as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn size_hint(&self) -> usize

§

impl<'q, T> Encode<'q, Postgres> for Vec<T>
where - &'a [T]: for<'a> Encode<'q, Postgres>, - T: Encode<'q, Postgres>,

§

fn encode_by_ref( - &self, - buf: &mut PgArgumentBuffer, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode( - self, - buf: &mut <DB as Database>::ArgumentBuffer<'q>, -) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where - Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockDetail<Types>
where - Types: NodeType, - Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, - Payload<Types>: QueryablePayload<Types>, - BalanceAmount<Types>: Into<MonetaryValue>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockQueryData<Types>
where - Types: NodeType, - Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockSummary<Types>
where - Types: NodeType, - Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, - Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for LeafQueryData<Types>
where - Types: NodeType,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for PayloadQueryData<Types>
where - Types: NodeType, - Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for VidCommonQueryData<Types>
where - Types: NodeType, - Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

§

impl MigrateDatabase for Postgres

§

fn create_database( - url: &str, -) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn database_exists( - url: &str, -) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + '_>>

§

fn drop_database( - url: &str, -) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn force_drop_database( - url: &str, -) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

impl TestSupport for Postgres

§

fn test_context( - args: &TestArgs, -) -> Pin<Box<dyn Future<Output = Result<TestContext<Postgres>, Error>> + Send + '_>>

Get parameters to construct a Pool suitable for testing. Read more
§

fn cleanup_test( - db_name: &str, -) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn cleanup_test_dbs() -> Pin<Box<dyn Future<Output = Result<Option<usize>, Error>> + Send>>

Cleanup any test databases that are no longer in-use. Read more
§

fn snapshot( - _conn: &mut <Postgres as Database>::Connection, -) -> Pin<Box<dyn Future<Output = Result<FixtureSnapshot<Postgres>, Error>> + Send + '_>>

Take a snapshot of the current state of the database (data only). Read more
§

impl<T> Type<Postgres> for [T]
where - T: PgHasArrayType,

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &PgTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl<T, const N: usize> Type<Postgres> for [T; N]
where - T: PgHasArrayType,

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &PgTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Postgres> for OffsetDateTime

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Postgres> for String

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &PgTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl<T> Type<Postgres> for Vec<T>
where - T: PgHasArrayType,

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &PgTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Postgres> for bool

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl Type<Postgres> for str

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &PgTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
§

impl TypeChecking for Postgres

§

const PARAM_CHECKING: ParamChecking = ::sqlx_core::type_checking::ParamChecking::Strong

Describes how the database in question typechecks query parameters.
§

fn param_type_for_id( - info: &<Postgres as Database>::TypeInfo, -) -> Option<&'static str>

Get the full path of the Rust type that corresponds to the given TypeInfo, if applicable. Read more
§

fn return_type_for_id( - info: &<Postgres as Database>::TypeInfo, -) -> Option<&'static str>

Get the full path of the Rust type that corresponds to the given TypeInfo, if applicable. Read more
§

fn get_feature_gate( - info: &<Postgres as Database>::TypeInfo, -) -> Option<&'static str>

Get the name of the Cargo feature gate that must be enabled to process the given TypeInfo, -if applicable.
§

fn fmt_value_debug( - value: &<Postgres as Database>::Value, -) -> FmtValue<'_, Postgres>

If value is a well-known type, decode and format it using Debug. Read more
§

impl HasStatementCache for Postgres

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<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( - _: &<T as ArchivePointee>::ArchivedMetadata, -) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

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( - self, - class: Class, - constructed: bool, - tag: u32, -) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where - Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<F, W, T, D> Deserialize<With<T, W>, D> for F
where - W: DeserializeWith<F, T, D>, - D: Fallible + ?Sized, - F: ?Sized,

§

fn deserialize( - &self, - deserializer: &mut D, -) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where - Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where - Self: Display,

Causes self to use its Display implementation when -Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where - Self: LowerExp,

Causes self to use its LowerExp implementation when -Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where - Self: LowerHex,

Causes self to use its LowerHex implementation when -Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where - Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where - Self: Pointer,

Causes self to use its Pointer implementation when -Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where - Self: UpperExp,

Causes self to use its UpperExp implementation when -Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where - Self: UpperHex,

Causes self to use its UpperHex implementation when -Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an -Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> -if into_left is true. -Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where - F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> -if into_left(&self) returns true. -Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
§

impl<T> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Gets the layout of the type.
§

impl<D> OwoColorize for D

§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where - C: Color,

Set the foreground color generically Read more
§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where - C: Color,

Set the background color generically. Read more
§

fn black<'a>(&'a self) -> FgColorDisplay<'a, Black, Self>

Change the foreground color to black
§

fn on_black<'a>(&'a self) -> BgColorDisplay<'a, Black, Self>

Change the background color to black
§

fn red<'a>(&'a self) -> FgColorDisplay<'a, Red, Self>

Change the foreground color to red
§

fn on_red<'a>(&'a self) -> BgColorDisplay<'a, Red, Self>

Change the background color to red
§

fn green<'a>(&'a self) -> FgColorDisplay<'a, Green, Self>

Change the foreground color to green
§

fn on_green<'a>(&'a self) -> BgColorDisplay<'a, Green, Self>

Change the background color to green
§

fn yellow<'a>(&'a self) -> FgColorDisplay<'a, Yellow, Self>

Change the foreground color to yellow
§

fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>

Change the background color to yellow
§

fn blue<'a>(&'a self) -> FgColorDisplay<'a, Blue, Self>

Change the foreground color to blue
§

fn on_blue<'a>(&'a self) -> BgColorDisplay<'a, Blue, Self>

Change the background color to blue
§

fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>

Change the foreground color to magenta
§

fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>

Change the background color to magenta
§

fn purple<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>

Change the foreground color to purple
§

fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>

Change the background color to purple
§

fn cyan<'a>(&'a self) -> FgColorDisplay<'a, Cyan, Self>

Change the foreground color to cyan
§

fn on_cyan<'a>(&'a self) -> BgColorDisplay<'a, Cyan, Self>

Change the background color to cyan
§

fn white<'a>(&'a self) -> FgColorDisplay<'a, White, Self>

Change the foreground color to white
§

fn on_white<'a>(&'a self) -> BgColorDisplay<'a, White, Self>

Change the background color to white
§

fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>

Change the foreground color to the terminal default
§

fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>

Change the background color to the terminal default
§

fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>

Change the foreground color to bright black
§

fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>

Change the background color to bright black
§

fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>

Change the foreground color to bright red
§

fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>

Change the background color to bright red
§

fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>

Change the foreground color to bright green
§

fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>

Change the background color to bright green
§

fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>

Change the foreground color to bright yellow
§

fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>

Change the background color to bright yellow
§

fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>

Change the foreground color to bright blue
§

fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>

Change the background color to bright blue
§

fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>

Change the foreground color to bright magenta
§

fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>

Change the background color to bright magenta
§

fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>

Change the foreground color to bright purple
§

fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>

Change the background color to bright purple
§

fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>

Change the foreground color to bright cyan
§

fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>

Change the background color to bright cyan
§

fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>

Change the foreground color to bright white
§

fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>

Change the background color to bright white
§

fn bold<'a>(&'a self) -> BoldDisplay<'a, Self>

Make the text bold
§

fn dimmed<'a>(&'a self) -> DimDisplay<'a, Self>

Make the text dim
§

fn italic<'a>(&'a self) -> ItalicDisplay<'a, Self>

Make the text italicized
§

fn underline<'a>(&'a self) -> UnderlineDisplay<'a, Self>

Make the text italicized
Make the text blink
Make the text blink (but fast!)
§

fn reversed<'a>(&'a self) -> ReversedDisplay<'a, Self>

Swap the foreground and background colors
§

fn hidden<'a>(&'a self) -> HiddenDisplay<'a, Self>

Hide the text
§

fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>

Cross out the text
§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where - Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at -compile-time. If the color is constant, use either OwoColorize::fg or -a color-specific method, such as OwoColorize::green, Read more
§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where - Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at -compile-time. If the color is constant, use either OwoColorize::bg or -a color-specific method, such as OwoColorize::on_yellow, Read more
§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( - &self, -) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( - &self, -) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
§

impl<T> Pipe for T
where - T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where - Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where - R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where - R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where - Self: Borrow<B>, - B: 'a + ?Sized, - R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( - &'a mut self, - func: impl FnOnce(&'a mut B) -> R, -) -> R
where - Self: BorrowMut<B>, - B: 'a + ?Sized, - R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe -function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where - Self: AsRef<U>, - U: 'a + ?Sized, - R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where - Self: AsMut<U>, - U: 'a + ?Sized, - R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe -function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where - Self: Deref<Target = T>, - T: 'a + ?Sized, - R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( - &'a mut self, - func: impl FnOnce(&'a mut T) -> R, -) -> R
where - Self: DerefMut<Target = T> + Deref, - T: 'a + ?Sized, - R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe -function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where - Self: Borrow<B>, - B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where - Self: BorrowMut<B>, - B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where - Self: AsRef<R>, - R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where - Self: AsMut<R>, - R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where - Self: Deref<Target = T>, - T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where - Self: DerefMut<Target = T> + Deref, - T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release -builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where - Self: Borrow<B>, - B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release -builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where - Self: BorrowMut<B>, - B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release -builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where - Self: AsRef<R>, - R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release -builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where - Self: AsMut<R>, - R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release -builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where - Self: Deref<Target = T>, - T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release -builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where - Self: DerefMut<Target = T> + Deref, - T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release -builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where - S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/hotshot_query_service/data_source/sql/testing/index.html b/hotshot_query_service/data_source/sql/testing/index.html index 4d7fbf87a..e87073b29 100644 --- a/hotshot_query_service/data_source/sql/testing/index.html +++ b/hotshot_query_service/data_source/sql/testing/index.html @@ -1 +1 @@ -hotshot_query_service::data_source::sql::testing - Rust

Module hotshot_query_service::data_source::sql::testing

source ·

Re-exports§

  • pub use sql::testing::TmpDb;
\ No newline at end of file +hotshot_query_service::data_source::sql::testing - Rust

Module hotshot_query_service::data_source::sql::testing

source ·

Re-exports§

  • pub use sql::testing::TmpDb;
\ No newline at end of file diff --git a/hotshot_query_service/data_source/sql/type.Config.html b/hotshot_query_service/data_source/sql/type.Config.html deleted file mode 100644 index 78a534cd4..000000000 --- a/hotshot_query_service/data_source/sql/type.Config.html +++ /dev/null @@ -1,16 +0,0 @@ -Config in hotshot_query_service::data_source::sql - Rust

Type Alias hotshot_query_service::data_source::sql::Config

source ·
pub type Config = Config<Postgres>;

Aliased Type§

struct Config { /* private fields */ }

Implementations§

source§

impl Config

source

pub async fn connect<Types, P: AvailabilityProvider<Types>>( - self, - provider: P, -) -> Result<SqlDataSource<Types, P>, Error>
where - Types: NodeType, - Header<Types>: QueryableHeader<Types>, - Payload<Types>: QueryablePayload<Types>,

Connect to the database with this config.

-
source

pub async fn builder<Types, P: AvailabilityProvider<Types>>( - self, - provider: P, -) -> Result<Builder<Types, P>, Error>
where - Types: NodeType, - Header<Types>: QueryableHeader<Types>, - Payload<Types>: QueryablePayload<Types>,

Connect to the database, setting options on the underlying FetchingDataSource using the -fetching::Builder interface.

-
\ No newline at end of file diff --git a/hotshot_query_service/data_source/sql/type.SqlDataSource.html b/hotshot_query_service/data_source/sql/type.SqlDataSource.html index f399e8fc2..aade956bc 100644 --- a/hotshot_query_service/data_source/sql/type.SqlDataSource.html +++ b/hotshot_query_service/data_source/sql/type.SqlDataSource.html @@ -1,4 +1,4 @@ -SqlDataSource in hotshot_query_service::data_source::sql - Rust

Type Alias hotshot_query_service::data_source::sql::SqlDataSource

source ·
pub type SqlDataSource<Types, P> = FetchingDataSource<Types, SqlStorage, P>;
Expand description

A data source for the APIs provided in this crate, backed by a remote PostgreSQL database.

+SqlDataSource in hotshot_query_service::data_source::sql - Rust

Type Alias hotshot_query_service::data_source::sql::SqlDataSource

source ·
pub type SqlDataSource<Types, P> = FetchingDataSource<Types, SqlStorage, P>;
Expand description

A data source for the APIs provided in this crate, backed by a remote PostgreSQL database.

§Administration

This data source will automatically connect to and perform queries on a remote SQL database. However, administration of the database, such as initialization, resetting, and backups, is @@ -11,7 +11,7 @@

§Schema

SqlDataSource is constructed. The name of the schema can be configured by setting Config::schema.

§Initialization

-

When creating a SqlDataSource, the caller can use Config to specify the host, user, and +

When creating a SqlDataSource, the caller can use Config to specify the host, user, and database to connect to. As such, SqlDataSource is not very opinionated about how the Postgres instance is set up. The administrator must simply ensure that there is a database dedicated to the SqlDataSource and a user with appropriate permissions (all on SCHEMA and @@ -25,7 +25,7 @@

§Initi GRANT ALL ON SCHEMA public TO hotshot_user; GRANT ALL ON DATABASE hotshot_query_service TO hotshot_user WITH GRANT OPTION;

-

One could then connect to this database with the following Config:

+

One could then connect to this database with the following Config:

Config::default()
     .host("postgres.database.hostname")
@@ -166,29 +166,29 @@ 

§Composition Ok(app) }

-

Aliased Type§

struct SqlDataSource<Types, P> { /* private fields */ }

Implementations§

source§

impl<Types, P: AvailabilityProvider<Types>> SqlDataSource<Types, P>
where +

Aliased Type§

struct SqlDataSource<Types, P> { /* private fields */ }

Implementations§

source§

impl<Types, P: AvailabilityProvider<Types>> SqlDataSource<Types, P>
where Types: NodeType, Header<Types>: QueryableHeader<Types>, - Payload<Types>: QueryablePayload<Types>,

source

pub async fn connect( - config: Config, + Payload<Types>: QueryablePayload<Types>,

source

pub async fn connect( + config: Config, provider: P, ) -> Result<Builder<Types, P>, Error>

Connect to a remote database.

This function returns a fetching::Builder which can be used to set options on the underlying FetchingDataSource, before constructing the SqlDataSource with build. For a convenient constructor that uses the default fetching options, see Config::connect.

-

Trait Implementations§

source§

impl<P: AvailabilityProvider<MockTypes> + Default> DataSourceLifeCycle for SqlDataSource<MockTypes, P>

source§

type Storage = TmpDb

Backing storage for the data source. Read more
source§

fn create<'async_trait>( +

Trait Implementations§

source§

impl<P: AvailabilityProvider<MockTypes> + Default> DataSourceLifeCycle for SqlDataSource<MockTypes, P>

source§

type Storage = TmpDb

Backing storage for the data source. Read more
source§

fn create<'async_trait>( _node_id: usize, ) -> Pin<Box<dyn Future<Output = Self::Storage> + Send + 'async_trait>>
where - Self: 'async_trait,

source§

fn connect<'life0, 'async_trait>( + Self: 'async_trait,

source§

fn connect<'life0, 'async_trait>( tmp_db: &'life0 Self::Storage, ) -> Pin<Box<dyn Future<Output = Self> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn reset<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

fn reset<'life0, 'async_trait>( tmp_db: &'life0 Self::Storage, ) -> Pin<Box<dyn Future<Output = Self> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn handle_event<'life0, 'life1, 'async_trait>( + 'life0: 'async_trait,

source§

fn handle_event<'life0, 'life1, 'async_trait>( &'life0 self, event: &'life1 Event<MockTypes>, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where diff --git a/hotshot_query_service/data_source/storage/pruning/trait.PruneStorage.html b/hotshot_query_service/data_source/storage/pruning/trait.PruneStorage.html index 0ed26c8c5..b38d3fdc4 100644 --- a/hotshot_query_service/data_source/storage/pruning/trait.PruneStorage.html +++ b/hotshot_query_service/data_source/storage/pruning/trait.PruneStorage.html @@ -24,5 +24,5 @@ ) -> Pin<Box<dyn Future<Output = Result<Option<u64>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

Implementors§

source§

impl PruneStorage for NoStorage

source§

impl PruneStorage for SqlStorage

source§

impl<Types: NodeType> PruneStorage for FileSystemStorage<Types>
where + 'life1: 'async_trait,

Implementors§

\ No newline at end of file diff --git a/hotshot_query_service/data_source/storage/pruning/trait.PrunerConfig.html b/hotshot_query_service/data_source/storage/pruning/trait.PrunerConfig.html index 3a67837e9..2911c5e1e 100644 --- a/hotshot_query_service/data_source/storage/pruning/trait.PrunerConfig.html +++ b/hotshot_query_service/data_source/storage/pruning/trait.PrunerConfig.html @@ -2,5 +2,5 @@ // Provided methods fn set_pruning_config(&mut self, _cfg: PrunerCfg) { ... } fn get_pruning_config(&self) -> Option<PrunerCfg> { ... } -}

Provided Methods§

Implementors§

source§

impl PrunerConfig for NoStorage

source§

impl PrunerConfig for SqlStorage

source§

impl<Types: NodeType> PrunerConfig for FileSystemStorage<Types>
where +}

Provided Methods§

Implementors§

\ No newline at end of file diff --git a/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html b/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html index a8b1b18fa..cf86fbe50 100644 --- a/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html +++ b/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html @@ -1,2 +1,2 @@ -default_migrations in hotshot_query_service::data_source::storage::sql - Rust
pub fn default_migrations() -> Vec<Migration>
Expand description

The migrations requied to build the default schema for this version of SqlStorage.

+default_migrations in hotshot_query_service::data_source::storage::sql - Rust
pub fn default_migrations() -> Vec<Migration>
Expand description

The migrations requied to build the default schema for this version of SqlStorage.

\ No newline at end of file diff --git a/hotshot_query_service/data_source/storage/sql/index.html b/hotshot_query_service/data_source/storage/sql/index.html index e1813b0bf..31ec25999 100644 --- a/hotshot_query_service/data_source/storage/sql/index.html +++ b/hotshot_query_service/data_source/storage/sql/index.html @@ -1,4 +1,4 @@ -hotshot_query_service::data_source::storage::sql - Rust

Module hotshot_query_service::data_source::storage::sql

source ·

Re-exports§

  • pub extern crate sqlx;

Modules§

Macros§

Structs§

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<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/data_source/storage/sql/struct.Transaction.html b/hotshot_query_service/data_source/storage/sql/struct.Transaction.html index a1984479f..d06a3b03c 100644 --- a/hotshot_query_service/data_source/storage/sql/struct.Transaction.html +++ b/hotshot_query_service/data_source/storage/sql/struct.Transaction.html @@ -98,7 +98,7 @@ hash: TransactionHash<Types>, ) -> Pin<Box<dyn Future<Output = QueryResult<TransactionQueryData<Types>>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

source§

impl<Mode: Debug> Debug for Transaction<Mode>

source§

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

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

impl<Mode> Deref for Transaction<Mode>

source§

type Target = Transaction<'static, Postgres>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<Mode> DerefMut for Transaction<Mode>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<Mode, Types> ExplorerStorage<Types> for Transaction<Mode>
where + 'life0: 'async_trait,

source§

impl<Mode: Debug> Debug for Transaction<Mode>

source§

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

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

impl<Mode> Deref for Transaction<Mode>

source§

type Target = Transaction<'static, Postgres>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<Mode> DerefMut for Transaction<Mode>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<Mode, Types> ExplorerStorage<Types> for Transaction<Mode>
where Mode: TransactionMode, Types: NodeType, Payload<Types>: QueryablePayload<Types>, diff --git a/hotshot_query_service/data_source/storage/sql/testing/index.html b/hotshot_query_service/data_source/storage/sql/testing/index.html index 400a1dc5e..df1a2b062 100644 --- a/hotshot_query_service/data_source/storage/sql/testing/index.html +++ b/hotshot_query_service/data_source/storage/sql/testing/index.html @@ -1 +1 @@ -hotshot_query_service::data_source::storage::sql::testing - Rust
\ No newline at end of file +hotshot_query_service::data_source::storage::sql::testing - Rust
\ No newline at end of file diff --git a/hotshot_query_service/data_source/storage/sql/testing/struct.TestMerkleTreeMigration.html b/hotshot_query_service/data_source/storage/sql/testing/struct.TestMerkleTreeMigration.html index 134a89ab2..b426c6530 100644 --- a/hotshot_query_service/data_source/storage/sql/testing/struct.TestMerkleTreeMigration.html +++ b/hotshot_query_service/data_source/storage/sql/testing/struct.TestMerkleTreeMigration.html @@ -1,4 +1,4 @@ -TestMerkleTreeMigration in hotshot_query_service::data_source::storage::sql::testing - Rust
pub struct TestMerkleTreeMigration;

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +TestMerkleTreeMigration in hotshot_query_service::data_source::storage::sql::testing - Rust
pub struct TestMerkleTreeMigration;

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<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/data_source/storage/sql/testing/struct.TmpDb.html b/hotshot_query_service/data_source/storage/sql/testing/struct.TmpDb.html index b73795f89..449573e98 100644 --- a/hotshot_query_service/data_source/storage/sql/testing/struct.TmpDb.html +++ b/hotshot_query_service/data_source/storage/sql/testing/struct.TmpDb.html @@ -1,4 +1,4 @@ -TmpDb in hotshot_query_service::data_source::storage::sql::testing - Rust

Struct hotshot_query_service::data_source::storage::sql::testing::TmpDb

source ·
pub struct TmpDb { /* private fields */ }

Implementations§

source§

impl TmpDb

source

pub async fn init() -> Self

source

pub async fn persistent() -> Self

source

pub fn host(&self) -> String

source

pub fn port(&self) -> u16

source

pub fn config(&self) -> Config<Postgres>

source

pub fn stop(&mut self)

source

pub async fn start(&mut self)

Trait Implementations§

source§

impl Debug for TmpDb

source§

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

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

impl Drop for TmpDb

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl Freeze for TmpDb

§

impl RefUnwindSafe for TmpDb

§

impl Send for TmpDb

§

impl Sync for TmpDb

§

impl Unpin for TmpDb

§

impl UnwindSafe for TmpDb

Blanket Implementations§

source§

impl<T> Any for T
where +TmpDb in hotshot_query_service::data_source::storage::sql::testing - Rust

Struct hotshot_query_service::data_source::storage::sql::testing::TmpDb

source ·
pub struct TmpDb { /* private fields */ }

Implementations§

source§

impl TmpDb

source

pub async fn init() -> Self

source

pub async fn persistent() -> Self

source

pub fn host(&self) -> String

source

pub fn port(&self) -> u16

source

pub fn config(&self) -> Config

source

pub fn stop(&mut self)

source

pub async fn start(&mut self)

Trait Implementations§

source§

impl Debug for TmpDb

source§

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

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

impl Drop for TmpDb

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl Freeze for TmpDb

§

impl RefUnwindSafe for TmpDb

§

impl Send for TmpDb

§

impl Sync for TmpDb

§

impl Unpin for TmpDb

§

impl UnwindSafe for TmpDb

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<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/data_source/storage/sql/trait.Database.html b/hotshot_query_service/data_source/storage/sql/trait.Database.html index c544fe7bc..8ec8969fe 100644 --- a/hotshot_query_service/data_source/storage/sql/trait.Database.html +++ b/hotshot_query_service/data_source/storage/sql/trait.Database.html @@ -1,4 +1,4 @@ -Database in hotshot_query_service::data_source::storage::sql - Rust
pub trait Database:
+Database in hotshot_query_service::data_source::storage::sql - Rust
pub trait Database:
     Sized
     + 'static
     + Send
@@ -35,4 +35,4 @@
 

type Statement<'q>: Statement<'q, Database = Self>

The concrete Statement implementation for this database.

Required Associated Constants§

const NAME: &'static str

The display name for this database driver.

const URL_SCHEMES: &'static [&'static str]

The schemes for database URLs that should match this driver.

-

Object Safety§

This trait is not object safe.

Implementors§

§

impl Database for Postgres

§

type Connection = PgConnection

§

type TransactionManager = PgTransactionManager

§

type Row = PgRow

§

type QueryResult = PgQueryResult

§

type Column = PgColumn

§

type TypeInfo = PgTypeInfo

§

type Value = PgValue

§

type ValueRef<'r> = PgValueRef<'r>

§

type Arguments<'q> = PgArguments

§

type ArgumentBuffer<'q> = PgArgumentBuffer

§

type Statement<'q> = PgStatement<'q>

§

const NAME: &'static str = "PostgreSQL"

§

const URL_SCHEMES: &'static [&'static str] = _

§

impl Database for Sqlite

§

type Connection = SqliteConnection

§

type TransactionManager = SqliteTransactionManager

§

type Row = SqliteRow

§

type QueryResult = SqliteQueryResult

§

type Column = SqliteColumn

§

type TypeInfo = SqliteTypeInfo

§

type Value = SqliteValue

§

type ValueRef<'r> = SqliteValueRef<'r>

§

type Arguments<'q> = SqliteArguments<'q>

§

type ArgumentBuffer<'q> = Vec<SqliteArgumentValue<'q>>

§

type Statement<'q> = SqliteStatement<'q>

§

const NAME: &'static str = "SQLite"

§

const URL_SCHEMES: &'static [&'static str] = _

§

impl Database for Any

§

type Connection = AnyConnection

§

type TransactionManager = AnyTransactionManager

§

type Row = AnyRow

§

type QueryResult = AnyQueryResult

§

type Column = AnyColumn

§

type TypeInfo = AnyTypeInfo

§

type Value = AnyValue

§

type ValueRef<'r> = AnyValueRef<'r>

§

type Arguments<'q> = AnyArguments<'q>

§

type ArgumentBuffer<'q> = AnyArgumentBuffer<'q>

§

type Statement<'q> = AnyStatement<'q>

§

const NAME: &'static str = "Any"

§

const URL_SCHEMES: &'static [&'static str] = _

\ No newline at end of file +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl Database for Postgres

§

type Connection = PgConnection

§

type TransactionManager = PgTransactionManager

§

type Row = PgRow

§

type QueryResult = PgQueryResult

§

type Column = PgColumn

§

type TypeInfo = PgTypeInfo

§

type Value = PgValue

§

type ValueRef<'r> = PgValueRef<'r>

§

type Arguments<'q> = PgArguments

§

type ArgumentBuffer<'q> = PgArgumentBuffer

§

type Statement<'q> = PgStatement<'q>

§

const NAME: &'static str = "PostgreSQL"

§

const URL_SCHEMES: &'static [&'static str] = _

Implementors§

§

impl Database for Sqlite

§

type Connection = SqliteConnection

§

type TransactionManager = SqliteTransactionManager

§

type Row = SqliteRow

§

type QueryResult = SqliteQueryResult

§

type Column = SqliteColumn

§

type TypeInfo = SqliteTypeInfo

§

type Value = SqliteValue

§

type ValueRef<'r> = SqliteValueRef<'r>

§

type Arguments<'q> = SqliteArguments<'q>

§

type ArgumentBuffer<'q> = Vec<SqliteArgumentValue<'q>>

§

type Statement<'q> = SqliteStatement<'q>

§

const NAME: &'static str = "SQLite"

§

const URL_SCHEMES: &'static [&'static str] = _

§

impl Database for Any

§

type Connection = AnyConnection

§

type TransactionManager = AnyTransactionManager

§

type Row = AnyRow

§

type QueryResult = AnyQueryResult

§

type Column = AnyColumn

§

type TypeInfo = AnyTypeInfo

§

type Value = AnyValue

§

type ValueRef<'r> = AnyValueRef<'r>

§

type Arguments<'q> = AnyArguments<'q>

§

type ArgumentBuffer<'q> = AnyArgumentBuffer<'q>

§

type Statement<'q> = AnyStatement<'q>

§

const NAME: &'static str = "Any"

§

const URL_SCHEMES: &'static [&'static str] = _

\ No newline at end of file diff --git a/hotshot_query_service/data_source/storage/sql/trait.Executor.html b/hotshot_query_service/data_source/storage/sql/trait.Executor.html index 0f774757c..6eb339046 100644 --- a/hotshot_query_service/data_source/storage/sql/trait.Executor.html +++ b/hotshot_query_service/data_source/storage/sql/trait.Executor.html @@ -160,7 +160,7 @@ is transparently prepared and executed.

This explicit API is provided to allow access to the statement metadata available after it prepared but before the first row is returned.

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl<'c> Executor<'c> for &'c mut PgConnection

§

type Database = Postgres

§

fn fetch_many<'e, 'q, E>( +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl<'c> Executor<'c> for &'c mut PgConnection

§

type Database = Postgres

§

fn fetch_many<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Stream<Item = Result<Either<PgQueryResult, PgRow>, Error>> + Send + 'e>>
where @@ -178,7 +178,7 @@ parameters: &'e [PgTypeInfo], ) -> Pin<Box<dyn Future<Output = Result<PgStatement<'q>, Error>> + Send + 'e>>
where 'q: 'e, - 'c: 'e,

§

impl<'c> Executor<'c> for &'c mut PgListener

§

type Database = Postgres

§

fn fetch_many<'e, 'q, E>( + 'c: 'e,

§

impl<'c> Executor<'c> for &'c mut PgListener

§

type Database = Postgres

§

fn fetch_many<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Stream<Item = Result<Either<PgQueryResult, PgRow>, Error>> + Send + 'e>>
where diff --git a/hotshot_query_service/data_source/storage/sql/type.Db.html b/hotshot_query_service/data_source/storage/sql/type.Db.html index 2ee3655e3..8320f4465 100644 --- a/hotshot_query_service/data_source/storage/sql/type.Db.html +++ b/hotshot_query_service/data_source/storage/sql/type.Db.html @@ -1,4 +1,4 @@ -Db in hotshot_query_service::data_source::storage::sql - Rust

Type Alias hotshot_query_service::data_source::storage::sql::Db

source ·
pub type Db = Postgres;
Expand description

The concrete database backing a SQL data source.

+Db in hotshot_query_service::data_source::storage::sql - Rust

Type Alias hotshot_query_service::data_source::storage::sql::Db

source ·
pub type Db = Postgres;
Expand description

The concrete database backing a SQL data source.

Currently only Postgres is supported. In the future we can support SQLite as well by making this an enum with variants for each (we’ll then need to create enums and trait implementations for all the associated types as well; it will be messy).

@@ -19,4 +19,4 @@ for<'a> i64: Type<DB> + Encode<'a, DB>, {}

etc.

-

Aliased Type§

struct Db;
\ No newline at end of file +

Aliased Type§

struct Db;
\ No newline at end of file diff --git a/hotshot_query_service/data_source/trait.VersionedDataSource.html b/hotshot_query_service/data_source/trait.VersionedDataSource.html index 51d9cabd6..f10c9dc41 100644 --- a/hotshot_query_service/data_source/trait.VersionedDataSource.html +++ b/hotshot_query_service/data_source/trait.VersionedDataSource.html @@ -41,9 +41,9 @@ where Self: 'a
source§

type ReadOnly<'a> = Transaction<'a> where - Self: 'a

source§

impl VersionedDataSource for SqlStorage

source§

type Transaction<'a> = Transaction<Write> + Self: 'a

source§

impl VersionedDataSource for SqlStorage

source§

type Transaction<'a> = Transaction<Write> where - Self: 'a

source§

type ReadOnly<'a> = Transaction<Read> + Self: 'a

source§

type ReadOnly<'a> = Transaction<Read> where Self: 'a

source§

impl<D, U> VersionedDataSource for ExtensibleDataSource<D, U>
where D: VersionedDataSource + Send, @@ -51,12 +51,12 @@ where Self: 'a

source§

type ReadOnly<'a> = <D as VersionedDataSource>::ReadOnly<'a> where - Self: 'a

source§

impl<Types, S, P> VersionedDataSource for FetchingDataSource<Types, S, P>
where + Self: 'a

source§

impl<Types, S, P> VersionedDataSource for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + Send + Sync, - P: Send + Sync,

source§

type Transaction<'a> = Transaction<'a, Types, <S as VersionedDataSource>::Transaction<'a>> + P: Send + Sync,

source§

type Transaction<'a> = Transaction<'a, Types, <S as VersionedDataSource>::Transaction<'a>> where - Self: 'a

source§

type ReadOnly<'a> = Transaction<'a, Types, <S as VersionedDataSource>::ReadOnly<'a>> + Self: 'a

source§

type ReadOnly<'a> = Transaction<'a, Types, <S as VersionedDataSource>::ReadOnly<'a>> where Self: 'a

source§

impl<Types: NodeType> VersionedDataSource for FileSystemStorage<Types>
where Payload<Types>: QueryablePayload<Types>,

source§

type Transaction<'a> = Transaction<RwLockWriteGuard<'a, FileSystemStorageInner<Types>>> diff --git a/hotshot_query_service/explorer/struct.BlockDetail.html b/hotshot_query_service/explorer/struct.BlockDetail.html index 68b9da638..1f8fe224b 100644 --- a/hotshot_query_service/explorer/struct.BlockDetail.html +++ b/hotshot_query_service/explorer/struct.BlockDetail.html @@ -14,7 +14,7 @@ Header<Types>: ExplorerHeader<Types>,

source§

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

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

impl<'de, Types: NodeType> Deserialize<'de> for BlockDetail<Types>
where Header<Types>: ExplorerHeader<Types>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Types: NodeType> From<BlockDetail<Types>> for BlockDetailResponse<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn from(block_detail: BlockDetail<Types>) -> Self

Converts to this type from the input type.
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockDetail<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn from(block_detail: BlockDetail<Types>) -> Self

Converts to this type from the input type.
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockDetail<Types>
where Types: NodeType, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, Payload<Types>: QueryablePayload<Types>, diff --git a/hotshot_query_service/explorer/struct.BlockSummary.html b/hotshot_query_service/explorer/struct.BlockSummary.html index 52485b3ae..e3bc470a5 100644 --- a/hotshot_query_service/explorer/struct.BlockSummary.html +++ b/hotshot_query_service/explorer/struct.BlockSummary.html @@ -12,7 +12,7 @@

Fields§

§hash: BlockHash<Types>§height: u64§proposer_id: ProposerId<Types>§num_transactions: u64§size: u64§time: Timestamp

Trait Implementations§

source§

impl<Types: Debug + NodeType> Debug for BlockSummary<Types>
where Header<Types>: ExplorerHeader<Types>,

source§

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

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

impl<'de, Types: NodeType> Deserialize<'de> for BlockSummary<Types>
where Header<Types>: ExplorerHeader<Types>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockSummary<Types>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockSummary<Types>
where Types: NodeType, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: PartialEq + NodeType> PartialEq for BlockSummary<Types>
where diff --git a/hotshot_query_service/explorer/trait.ExplorerDataSource.html b/hotshot_query_service/explorer/trait.ExplorerDataSource.html index b29d415d0..5ec025e72 100644 --- a/hotshot_query_service/explorer/trait.ExplorerDataSource.html +++ b/hotshot_query_service/explorer/trait.ExplorerDataSource.html @@ -100,7 +100,7 @@ Types: NodeType, Payload<Types>: QueryablePayload<Types>, Header<Types>: ExplorerHeader<Types> + QueryableHeader<Types>, - Transaction<Types>: ExplorerTransaction,

source§

impl<Types, S, P> ExplorerDataSource<Types> for FetchingDataSource<Types, S, P>

source§

impl<Types, S, P> ExplorerDataSource<Types> for FetchingDataSource<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, diff --git a/hotshot_query_service/fetching/provider/struct.AnyProvider.html b/hotshot_query_service/fetching/provider/struct.AnyProvider.html index c39d0ea09..e2e8e8a7e 100644 --- a/hotshot_query_service/fetching/provider/struct.AnyProvider.html +++ b/hotshot_query_service/fetching/provider/struct.AnyProvider.html @@ -185,6 +185,6 @@

§Examples

V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where +[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where Types: NodeType, P: Provider<Types, LeafRequest> + Provider<Types, PayloadRequest> + Provider<Types, VidCommonRequest> + Sync + 'static,

\ No newline at end of file diff --git a/hotshot_query_service/fetching/provider/struct.NoFetching.html b/hotshot_query_service/fetching/provider/struct.NoFetching.html index 12d35ba4a..f421f799e 100644 --- a/hotshot_query_service/fetching/provider/struct.NoFetching.html +++ b/hotshot_query_service/fetching/provider/struct.NoFetching.html @@ -137,6 +137,6 @@ V: MultiLane<T>,
§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where +[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where Types: NodeType, P: Provider<Types, LeafRequest> + Provider<Types, PayloadRequest> + Provider<Types, VidCommonRequest> + Sync + 'static,

\ No newline at end of file diff --git a/hotshot_query_service/fetching/provider/struct.QueryServiceProvider.html b/hotshot_query_service/fetching/provider/struct.QueryServiceProvider.html index 2bc0cf018..43b5fc0d6 100644 --- a/hotshot_query_service/fetching/provider/struct.QueryServiceProvider.html +++ b/hotshot_query_service/fetching/provider/struct.QueryServiceProvider.html @@ -151,6 +151,6 @@ V: MultiLane<T>,
§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where +[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where Types: NodeType, P: Provider<Types, LeafRequest> + Provider<Types, PayloadRequest> + Provider<Types, VidCommonRequest> + Sync + 'static,

\ No newline at end of file diff --git a/hotshot_query_service/fetching/provider/struct.TestProvider.html b/hotshot_query_service/fetching/provider/struct.TestProvider.html index c812b5498..c5709414e 100644 --- a/hotshot_query_service/fetching/provider/struct.TestProvider.html +++ b/hotshot_query_service/fetching/provider/struct.TestProvider.html @@ -156,6 +156,6 @@ V: MultiLane<T>,
§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where +[WithDispatch] wrapper. Read more
source§

impl<Types, P> AvailabilityProvider<Types> for P
where Types: NodeType, P: Provider<Types, LeafRequest> + Provider<Types, PayloadRequest> + Provider<Types, VidCommonRequest> + Sync + 'static,

\ No newline at end of file diff --git a/hotshot_query_service/macro.include_migrations.html b/hotshot_query_service/macro.include_migrations.html index 6b5d7d16a..df3fb27a2 100644 --- a/hotshot_query_service/macro.include_migrations.html +++ b/hotshot_query_service/macro.include_migrations.html @@ -1,4 +1,4 @@ -include_migrations in hotshot_query_service - Rust

Macro hotshot_query_service::include_migrations

source ·
macro_rules! include_migrations {
+include_migrations in hotshot_query_service - Rust

Macro hotshot_query_service::include_migrations

source ·
macro_rules! include_migrations {
     ($dir:tt) => { ... };
 }
Expand description

Embed migrations from the given directory into the current binary.

The macro invocation include_migrations!(path) evaluates to an expression of type impl Iterator<Item = Migration>. Each migration must be a text file which is an immediate child of diff --git a/hotshot_query_service/merklized_state/trait.MerklizedStateDataSource.html b/hotshot_query_service/merklized_state/trait.MerklizedStateDataSource.html index a54f08c52..ba5f061ad 100644 --- a/hotshot_query_service/merklized_state/trait.MerklizedStateDataSource.html +++ b/hotshot_query_service/merklized_state/trait.MerklizedStateDataSource.html @@ -21,7 +21,7 @@ D: MerklizedStateDataSource<Types, State, ARITY> + Sync, U: Send + Sync, Types: NodeType, - State: MerklizedState<Types, ARITY>,

source§

impl<Types, S, P, State, const ARITY: usize> MerklizedStateDataSource<Types, State, ARITY> for FetchingDataSource<Types, S, P>
where + State: MerklizedState<Types, ARITY>,

source§

impl<Types, S, P, State, const ARITY: usize> MerklizedStateDataSource<Types, State, ARITY> for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + 'static, for<'a> S::ReadOnly<'a>: MerklizedStateStorage<Types, State, ARITY>, diff --git a/hotshot_query_service/merklized_state/trait.MerklizedStateHeightPersistence.html b/hotshot_query_service/merklized_state/trait.MerklizedStateHeightPersistence.html index fe7469de4..f0bc96210 100644 --- a/hotshot_query_service/merklized_state/trait.MerklizedStateHeightPersistence.html +++ b/hotshot_query_service/merklized_state/trait.MerklizedStateHeightPersistence.html @@ -11,7 +11,7 @@ Self: 'async_trait, 'life0: 'async_trait,

Implementors§

source§

impl<D, U> MerklizedStateHeightPersistence for ExtensibleDataSource<D, U>

source§

impl<Types, S, P> MerklizedStateHeightPersistence for FetchingDataSource<Types, S, P>
where + U: Send + Sync,

source§

impl<Types, S, P> MerklizedStateHeightPersistence for FetchingDataSource<Types, S, P>
where Types: NodeType, Payload<Types>: QueryablePayload<Types>, S: VersionedDataSource + 'static, diff --git a/hotshot_query_service/node/trait.NodeDataSource.html b/hotshot_query_service/node/trait.NodeDataSource.html index c7181cbf2..ef43a369f 100644 --- a/hotshot_query_service/node/trait.NodeDataSource.html +++ b/hotshot_query_service/node/trait.NodeDataSource.html @@ -66,7 +66,7 @@

Object Safety§

This trait is not object safe.

Implementors§

source§

impl NodeDataSource<MockTypes> for DataSource

source§

impl<D, U, Types> NodeDataSource<Types> for ExtensibleDataSource<D, U>
where D: NodeDataSource<Types> + Send + Sync, U: Send + Sync, - Types: NodeType,

source§

impl<Types, S, P> NodeDataSource<Types> for FetchingDataSource<Types, S, P>
where + Types: NodeType,

source§

impl<Types, S, P> NodeDataSource<Types> for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + 'static, for<'a> S::ReadOnly<'a>: NodeStorage<Types>, diff --git a/hotshot_query_service/status/trait.HasMetrics.html b/hotshot_query_service/status/trait.HasMetrics.html index 56293d79b..2ef6ce3f1 100644 --- a/hotshot_query_service/status/trait.HasMetrics.html +++ b/hotshot_query_service/status/trait.HasMetrics.html @@ -1,9 +1,9 @@ HasMetrics in hotshot_query_service::status - Rust

Trait hotshot_query_service::status::HasMetrics

source ·
pub trait HasMetrics {
     // Required method
     fn metrics(&self) -> &PrometheusMetrics;
-}

Required Methods§

Implementors§

Required Methods§

Implementors§

source§

impl HasMetrics for DataSource

source§

impl HasMetrics for NoStorage

source§

impl HasMetrics for SqlStorage

source§

impl HasMetrics for MetricsDataSource

source§

impl<D, U> HasMetrics for ExtensibleDataSource<D, U>
where D: HasMetrics,

source§

impl<Types> HasMetrics for FileSystemStorage<Types>
where Types: NodeType, - Payload<Types>: QueryablePayload<Types>,

source§

impl<Types, S, P> HasMetrics for FetchingDataSource<Types, S, P>
where + Payload<Types>: QueryablePayload<Types>,

source§

impl<Types, S, P> HasMetrics for FetchingDataSource<Types, S, P>
where Types: NodeType, S: HasMetrics,

\ No newline at end of file diff --git a/hotshot_query_service/status/trait.StatusDataSource.html b/hotshot_query_service/status/trait.StatusDataSource.html index 43c528e40..b72fd181e 100644 --- a/hotshot_query_service/status/trait.StatusDataSource.html +++ b/hotshot_query_service/status/trait.StatusDataSource.html @@ -32,7 +32,7 @@ Self: Sync + 'async_trait, 'life0: 'async_trait,

Implementors§

source§

impl StatusDataSource for DataSource

source§

impl StatusDataSource for MetricsDataSource

source§

impl<D, U> StatusDataSource for ExtensibleDataSource<D, U>
where D: StatusDataSource + Send + Sync, - U: Send + Sync,

source§

impl<Types, S, P> StatusDataSource for FetchingDataSource<Types, S, P>
where + U: Send + Sync,

source§

impl<Types, S, P> StatusDataSource for FetchingDataSource<Types, S, P>
where Types: NodeType, S: VersionedDataSource + HasMetrics + Send + Sync + 'static, for<'a> S::ReadOnly<'a>: NodeStorage<Types>, diff --git a/hotshot_query_service/testing/consensus/trait.DataSourceLifeCycle.html b/hotshot_query_service/testing/consensus/trait.DataSourceLifeCycle.html index 58606b38e..8a8b4d01e 100644 --- a/hotshot_query_service/testing/consensus/trait.DataSourceLifeCycle.html +++ b/hotshot_query_service/testing/consensus/trait.DataSourceLifeCycle.html @@ -63,4 +63,4 @@

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file + U: Clone + Default + Send + Sync + 'static,
source§

impl<P: AvailabilityProvider<MockTypes> + Default> DataSourceLifeCycle for FileSystemDataSource<MockTypes, P>

source§

impl<P: AvailabilityProvider<MockTypes> + Default> DataSourceLifeCycle for SqlDataSource<MockTypes, P>

\ No newline at end of file diff --git a/search-index.js b/search-index.js index 961efcbb7..978b0b2f6 100644 --- a/search-index.js +++ b/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = new Map(JSON.parse('[["hotshot_query_service",{"t":"FPPPGPFPIFPIPFPPFPFIGIKIPIIIINNNNNNNNNNNNNCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNQQQQQNNNNNNNNNNNNNNNNNNNNNNNCOCCONNNNNNNNNNONHNNNNNCNNOCCNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNCNNNNNNNNNNNOOOOOOOOKIGFRFPFGGPFPFPFPPRFPFRIGFRPPFPFRPKKPPFIIIIRFFKFRNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMMMMMMNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNOMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNNNNNNNNNNNNNONNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOEFEEFREKRKKNNNNCNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNCNNNNMNNNMNCCCNNNNNNNNNMNNNNMNHHKFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIENNNNNNNNNHHHHHHHHHIIFFFIENNNNNNQNCEHKKEKKEKEMMCMMMMMMMMMMMMMMMMMMMCMCCMMFFKFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNGPPPPPPGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOKKRFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRRFRKRIFKKFTKFFIIFRFRFFRFRKRTRRFNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNHNNNNNNNNNNNNNNDNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIRPFFGIPFFFPPPGFGPPPKKFFFKFPPPFPGPPGPFPGPGPGPGPFPPPPPFPPPPPPFRRPIRPPPPPPPFFPPPFGPPFFGIPFFFGPPPPPPPIRPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMMMMMMOOOONNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMOOOMOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFKEENNNNNNNNNNNNNNNNNCCMMNNNNNNNNFFKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFKRFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPRPRRGPRKKKFPPGRKNNONNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNMMNNNMNNNNMMNNNNNNNNNNNMNMNNNNNMNNNNNNNNNNNNOOOOFFFFFFGPPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOEEPFGPPKFPFPFPFPFFPFGNNNNNNNNNONNNNOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONMNNNNNNNNNNOONNNNONOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNOOOOOOOOOOGKPFPKKNONNNNMNNNNNNNNNNNHNNNNNNNNNNNNONNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNOOFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCHHKIFISRKNNMMNNNNNNNNNMNNNNNNNNMNNNNNNNNNNIIIIIIFIIIIFFNNNOONNNNNNONNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOHNNNNONNNONONNNONNONNNNONNNNNNNNNNOOONNNKM","n":["ApiState","Availability","Custom","Err","Error","","ErrorSnafu","Explorer","Header","Leaf","MerklizedState","Metadata","Missing","MissingSnafu","Node","NotFound","NotFoundSnafu","Ok","Options","Payload","QueryError","QueryResult","Resolvable","SignatureKey","Status","Transaction","VidCommitment","VidCommon","VidShare","__clone_box","","","","","","","as_error","","as_error_source","","","","availability","","backtrace","","block_header","block_header_mut","block_payload","borrow","","","","","","","","borrow_mut","","","","","","","","build","","","catch_all","cause","","clone","","","","","","","clone_into","","","","","","","clone_to_uninit","","","","","","","commit","","commitment","","create_random_transaction","data_source","default","deref","","","","","","","","","deref_mut","","","","","","","","description","","deserialize","","","","","","","","","","","drop","","","","","","","","eq","equivalent","","","","explorer","extends_upgrade","fail","","","fetching","fill_block_payload","fill_block_payload_unchecked","fmt","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","from_fd","from_filelike","from_into_filelike","from_into_socketlike","from_quorum_proposal","from_socketlike","genesis","get_hash","hash","header","","","height","in_current_span","","include_migrations","init","","","","","","","","instantiate_availability_tests","instantiate_data_source_tests","instantiate_node_tests","instantiate_persistence_tests","instantiate_status_tests","internal","into","","","","","","","","into_error","","","justify_qc","layout_raw","","","","","","","","load","","merklized_state","message","metrics","node","","parent_commitment","payload_commitment","pointer_metadata","","","","","","","","port","read","run_standalone_service","serialize","","","source","","status","","","","task","testing","to_owned","","","","","","","to_string","","","try_from","","","","","","","","try_into","","","","","","","","try_resolve","","type_id","","","","","","","","types","unfill_block_payload","upgrade_certificate","view_number","vzip","","","","","","","","message","source","","","","","status","message","AvailabilityDataSource","BlockHash","BlockId","BlockQueryData","BlockRange","BlockSummaryQueryData","Custom","CustomSnafu","Error","Fetch","FetchBlock","FetchBlockSnafu","FetchLeaf","FetchLeafSnafu","FetchTransaction","FetchTransactionSnafu","Hash","","InclusionProof","InconsistentLeafError","InvalidTransactionIndex","InvalidTransactionIndexSnafu","Iter","LeafHash","LeafId","LeafQueryData","LeafRange","Number","","Options","PayloadHash","PayloadQueryData","PayloadRange","Pending","QueryableHeader","QueryablePayload","Ready","Request","RequestSnafu","Timestamp","TransactionHash","TransactionInclusionProof","TransactionIndex","","TransactionQueryData","TransactionSummaryQueryData","UpdateAvailabilityData","VidCommonQueryData","VidCommonRange","__clone_box","","","","","","","","","","","","","","","","","api_path","as_error","","as_error_source","","","","backtrace","","block_hash","","","","block_height","borrow","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","build","","","","","by_hash","","cause","","clone","","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","","cmp","","common","compare","","context","data","default","define_api","deref","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","description","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","enumerate","","","eq","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","extensions","fail","","","","","fetch_timeout","fmt","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","","","genesis","","","","get_block","get_block_range","get_hash","","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","hash","","","","","","","header","","","","","","","height","","","","","","in_current_span","","index","","init","","","","","","","","","","","","","","","","","","","insert_block","insert_leaf","insert_vid","internal","into","","","","","","","","","","","","","","","","","","","into_error","","","","","","into_future","is_empty","","","iter","layout_raw","","","","","","","","","","","","","","","","","","","leaf","","len","","map","message","metadata","new","","","nth","","nth_transaction","","nth_transaction_with_proof","","num_transactions","","partial_cmp","","payload","payload_hash","","","pointer_metadata","","","","","","","","","","","","","","","","","","","proof","","","qc","qc_leaf","resolve","resource","","","serialize","","","","","","","","size","","","source","","status","","subscribe_blocks","","subscribe_leaves","","subscribe_payloads","","subscribe_vid_common","","timestamp","to_owned","","","","","","","","","","","","","","","","","to_string","","","","transaction","","","","transaction_by_hash","","","transaction_by_hash_with_proof","","transaction_with_proof","try_from","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","try_resolve","type_id","","","","","","","","","","","","","","","","","","","vzip","","","","","","","","","","","","","","","","","","","with_context","with_timeout","height","index","message","resource","","","source","status","AvailabilityProvider","ExtensibleDataSource","FetchingDataSource","FileSystemDataSource","MetricsDataSource","ReadOnly","SqlDataSource","Transaction","","UpdateDataSource","VersionedDataSource","__clone_box","","as_mut","as_ref","availability_tests","block_height","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","commit","connect","","count_transactions","create","","default","deref","","deref_mut","","deserialize","","drop","","fetching","fmt","","from","","fs","get_block","get_block_detail","get_block_range","get_block_summaries","get_explorer_summary","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_range","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_range","handle_event","","init","","inner","inner_mut","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","layout_raw","","metrics","","new","node_tests","payload_size","persistence_tests","pointer_metadata","","populate_metrics","","read","","reset","","revert","set_last_state_height","sql","status_tests","storage","sync_status","to_owned","","try_from","","try_into","","type_id","","update","","vid_share","vzip","","write","","test_range","test_update","AvailabilityProvider","Builder","FetchingDataSource","Pruner","Transaction","__clone_box","","as_mut","as_ref","","block_height","","","borrow","","","","borrow_mut","","","","build","builder","clone","","clone_into","","clone_to_uninit","","commit","connect","count_transactions","","create","create_with_store","deref","","","","deref_mut","","","","deserialize","","","","disable_proactive_fetching","drop","","","","fmt","","","from","","","","get_block","","get_block_detail","","get_block_range","","get_block_summaries","","get_explorer_summary","","get_header","get_header_window","","get_last_state_height","","get_leaf","","get_leaf_range","","get_path","","get_payload","","get_payload_range","","get_search_results","","get_transaction","","get_transaction_detail","","get_transaction_summaries","","get_vid_common","","get_vid_common_range","","init","","","","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","","","layout_raw","","","","load_pruned_height","metrics","new","open","open_with_store","payload_size","","pointer_metadata","","","","populate_metrics","read","revert","set_last_state_height","skip_version","sync_status","","to_owned","","try_from","","","","try_into","","","","type_id","","","","update","vid_share","","vzip","","","","with_active_fetch_delay","with_chunk_fetch_delay","with_major_scan_interval","with_major_scan_offset","with_minor_scan_interval","with_proactive_range_chunk_size","with_range_chunk_size","with_rate_limit","with_retry_delay","write","FileSystemDataSource","Transaction","connect","create","","create_with_store","handle_event","open","open_with_store","reset","skip_version","test_counters","test_sync_status","test_timestamp_window","test_vid_monotonicity","test_vid_recovery","test_vid_shares","test_drop_tx","test_reset","test_revert","Builder","Config","Error","Migration","Postgres","SqlDataSource","Transaction","builder","connect","","","create","handle_event","include_migrations","reset","testing","TmpDb","test_metrics","AvailabilityStorage","ExplorerStorage","FileSystemStorage","MerklizedStateHeightStorage","MerklizedStateStorage","NoStorage","NodeStorage","SqlStorage","block_height","count_transactions","fs","get_block","get_block_detail","get_block_range","get_block_summaries","get_explorer_summary","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_range","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_range","no_storage","payload_size","pruning","sql","sync_status","vid_share","FileSystemStorage","FileSystemStorageInner","Revert","Transaction","block_height","borrow","","","borrow_mut","","","commit","","count_transactions","create","create_with_store","deref","","","deref_mut","","","deserialize","","","drop","","","","fmt","","","from","","","get_block","get_block_range","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","metrics","open","open_with_store","payload_size","pointer_metadata","","","read","revert","","","skip_version","sync_status","try_from","","","try_into","","","type_id","","","update","vid_share","vzip","","","write","NoStorage","Transaction","__clone_box","block_height","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","commit","count_transactions","default","deref","","deref_mut","","deserialize","","drop","","fmt","from","","get_block","get_block_range","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","init","","insert_block","insert_leaf","insert_vid","into","","layout_raw","","metrics","payload_size","pointer_metadata","","read","revert","sync_status","testing","to_owned","try_from","","try_into","","type_id","","update","vid_share","vzip","","write","DataSource","NoStorage","","","Sql","","","Storage","Transaction","__clone_box","block_height","","","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","commit","connect","count_transactions","","create","deref","","","deref_mut","","","deserialize","","","drop","","","fmt","from","","","get_block","get_block_range","get_header_window","","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","handle_event","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","metrics","payload_size","","pointer_metadata","","","populate_metrics","read","reset","revert","setup","sync_status","","to_owned","try_from","","","try_into","","","type_id","","","update","vid_share","","vzip","","","write","fetch_from_port","PruneStorage","PrunedHeightStorage","Pruner","PrunerCfg","PrunerConfig","__clone_box","batch_size","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","fmt","from","get_disk_usage","get_pruning_config","init","interval","into","layout_raw","load_pruned_height","max_usage","minimum_retention","new","pointer_metadata","prune","pruning_threshold","set_pruning_config","target_retention","to_owned","try_from","try_into","type_id","validate","vzip","with_batch_size","with_interval","with_max_usage","with_minimum_retention","with_pruning_threshold","with_target_retention","ArgumentBuffer","Arguments","Column","Config","Connection","Database","","Db","Error","Executor","FixedLengthParams","Migration","NAME","Params","Postgres","Pruner","Query","QueryAs","QueryBuilder","QueryResult","Read","Row","SqlStorage","Sqlite","Statement","Transaction","TransactionManager","TransactionMode","TypeInfo","URL_SCHEMES","Value","ValueRef","Write","__clone_box","","","","applied","applied_on","archive","as_ref","","backtrace","begin","","","bind","","block_height","borrow","","","","","","","","","","","borrow_mut","","","","","","","","","","","bounds_to_where_clause","builder","chain","checksum","cleanup_test","","cleanup_test_dbs","","clone","","","","clone_into","","","","clone_to_uninit","","","","cmp","commit","compare","connect","","connection_timeout","context","count_transactions","create_database","","database","database_exists","","default","","","","","default_migrations","deref","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","deserialize","","","","","","","","","","","display","","","downcast","downcast_mut","downcast_ref","drop","","","","","","","","","","","","drop_database","","eq","equivalent","","","","execute","","execute_many","","","execute_many_with_retries","execute_one","execute_one_with_retries","fetch","","fetch_all","","fetch_many","fetch_one","","fetch_optional","fmt","","","","","","","","","","","","","fmt_value_debug","","force_drop_database","from","","","","","","","","","","","","","","from_str","get_block","get_block_detail","get_block_range","get_block_summaries","get_disk_usage","get_explorer_summary","get_feature_gate","","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_range","get_pruning_config","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_range","header","","header_where_clause","host","idle_connection_timeout","include_dir","include_migrations","init","","","","","","","","","","","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","","","","","","","","","","is","layout_raw","","","","","","","","","","","load_header","load_pruned_height","max_connections","metrics","migrations","min_connections","msg","name","new","no_migrations","param_type_for_id","","partial_cmp","password","payload_size","pointer_metadata","","","","","","","","","","","port","prefix","prepare","","prepare_with","prune","pruner_cfg","query","","query_as","","read","reset_schema","return_type_for_id","","revert","root_cause","schema","set_applied","set_last_state_height","set_pruning_config","snapshot","","sql","sqlx","sync_status","test_context","","testing","tls","to_owned","","","","to_string","","try_from","","","","","","","","","","","try_into","","","","","","","","","","","type_id","","","","","","","","","","","unapplied","update","upsert","user","version","vid_share","vzip","","","","","","","","","","","write","TestMerkleTreeMigration","TmpDb","borrow","","borrow_mut","","config","deref","","deref_mut","","deserialize","","drop","","","fmt","from","","host","init","","","into","","layout_raw","","persistent","pointer_metadata","","port","start","stop","try_from","","try_into","","type_id","","vzip","","BalanceAmount","","Block","BlockDetail","BlockDetailResponse","BlockIdentifier","BlockNamespaceId","BlockNotFound","BlockRange","BlockSummary","BlockSummaryResponse","Btc","CryptoEnd","CryptoStart","CurrencyCode","CurrencyMismatchError","Error","Esp","Eth","Eur","ExplorerDataSource","ExplorerHeader","ExplorerHistograms","ExplorerSummary","ExplorerSummaryResponse","ExplorerTransaction","FeeAttribution","FiatCurrencyEnd","FiatCurrencyStart","Gbp","GenesisOverview","GetBlockDetail","GetBlockDetailError","","GetBlockSummaries","GetBlockSummariesError","","GetBlockSummariesRequest","GetExplorerSummary","GetExplorerSummaryError","GetSearchResults","GetSearchResultsError","GetTransactionDetail","GetTransactionDetailError","GetTransactionSummaries","GetTransactionSummariesError","","GetTransactionSummariesRequest","Hash","","Height","HeightAndOffset","IntError","InvalidCurrencyCodeError","InvalidLimit","","InvalidQuery","Jpy","Latest","","MonetaryValue","NamespaceId","","None","ProposerId","","QueryError","","","","","","RollUp","SearchResult","SearchResultResponse","TargetNotFound","","TimeError","Timestamp","TimestampConversionError","TokenEnd","TokenStart","TransactionDetail","TransactionDetailResponse","TransactionIdentifier","TransactionNamespaceId","TransactionNotFound","TransactionRange","TransactionSummariesResponse","TransactionSummary","TransactionSummaryFilter","Unimplemented","","","","","","Usd","WalletAddress","","Xxx","__clone_box","","","","","","","","","","","","","","","","add","as_error","","","","","","","","as_error_source","","","","","","","","","","","","","","","","block_confirmed","block_detail","block_heights","block_reward","block_size","block_summaries","block_time","block_transactions","blocks","","borrow","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","btc","clone","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","cmp","compare","currency","","currency1","currency2","default","define_api","deref","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","eq","","","","","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","esp","eth","explorer_summary","fee_details","fee_info_account","fee_info_balance","fee_recipient","fees","filter","fmt","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","genesis_overview","get_block_detail","get_block_summaries","get_explorer_summary","get_search_results","get_transaction_detail","get_transaction_summaries","hash","","","","header","","","","","","","","","","","","","","height","","","","histograms","in_current_span","","","","","","","","init","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into_resettable","is_crypto","is_fiat","is_token","latest_block","latest_blocks","latest_transactions","layout_raw","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","namespace_id","namespace_ids","new","num_blocks","num_transactions","","","","","offset","","partial_cmp","pointer_metadata","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","proposer_id","","","range","reward_balance","rollups","","search_results","sequencing_fees","serialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","significant_digits","size","","","source","","","","","","","","status","","","","","","","sub","target","","","time","","","","to_owned","","","","","","","","","","","","","","","","to_string","","","","","","","","","","","","","","transaction_detail","transaction_summaries","transactions","","try_from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","usd","value","vzip","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Callback","Fetcher","LocalCallback","Provider","Request","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","fmt","from","init","into","layout_raw","pointer_metadata","provider","request","run","","spawn_fetch","to_owned","try_from","try_into","type_id","vzip","with_rate_limit","with_retry_delay","AnyProvider","NoFetching","Provider","QueryServiceProvider","TestProvider","__clone_box","","","","block","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","default","","deref","","","","deref_mut","","","","deserialize","","","","drop","","","","fail","fetch","","","","","","","","","fmt","","","","from","","","","init","","","","into","","","","layout_raw","","","","new","","pointer_metadata","","","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","unblock","unfail","vzip","","","","with_block_provider","with_leaf_provider","with_provider","with_vid_common_provider","LeafRequest","PayloadRequest","Request","Response","VidCommonRequest","__clone_box","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","deref","","","deref_mut","","","deserialize","","","drop","","","eq","","","equivalent","","","","","","","","","","","","fmt","","","from","","","","get_hash","","","hash","","","init","","","into","","","layout_raw","","","pointer_metadata","","","to_owned","","","try_from","","","try_into","","","type_id","","","vzip","","","Commit","","Custom","Digest","Entry","Error","Index","Key","MerklizedState","MerklizedStateDataSource","MerklizedStateHeightPersistence","Options","Query","Request","Snapshot","T","UpdateStateData","__clone_box","","api_path","as_error","as_error_source","","backtrace","borrow","","","borrow_mut","","","cause","clone","","clone_into","","clone_to_uninit","","cmp","compare","default","define_api","deref","","","deref_mut","","","description","deserialize","","","","drop","","","eq","equivalent","","","","extensions","fmt","","","","from","","","","","","get_hash","get_last_state_height","get_path","hash","header","","header_state_commitment_field","in_current_span","init","","","insert_merkle_nodes","insert_path","into","","","layout_raw","","","partial_cmp","pointer_metadata","","","serialize","set_last_state_height","source","state_type","status","to_owned","","to_string","","tree_height","try_from","","","try_into","","","type_id","","","vzip","","","message","source","","status","Counter","CounterFamily","Gauge","GaugeFamily","Histogram","HistogramFamily","MetricsError","NoSuchMetric","NoSuchSubgroup","Prometheus","PrometheusMetrics","TextFamily","__clone_box","","","","","","","","add","add_point","as_error","as_error_source","","backtrace","borrow","","","","","","","","","borrow_mut","","","","","","","","","cause","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","counter_family","create","","","","create_counter","create_gauge","create_histogram","create_text","default","deref","","","","","","","","","deref_mut","","","","","","","","","description","deserialize","","","","","","","","","drop","","","","","","","","","export","fmt","","","","","","","","","","from","","","","","","","","","","gauge_family","","get","","","","","get_counter","get_counter_family","get_gauge","get_histogram","get_histogram_family","get_subgroup","header","histogram_family","in_current_span","init","","","","","","","","","into","","","","","","","","","layout_raw","","","","","","","","","mean","pointer_metadata","","","","","","","","","sample_count","set","source","subgroup","sum","text_family","to_owned","","","","","","","","to_string","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","update","vzip","","","","","","","","","name","namespace","path","source","BlockHash","BlockId","Custom","CustomSnafu","Error","Hash","Height","NodeDataSource","Options","Query","QuerySnafu","QueryVid","QueryVidSnafu","QueryWindow","QueryWindowSnafu","Request","RequestSnafu","SyncStatus","Time","TimeWindowQueryData","WindowStart","__clone_box","","","","","","","","","api_path","as_error","as_error_source","","backtrace","block","block_height","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","build","cause","clone","","","","","","","","","clone_into","","","","","","","","","clone_to_uninit","","","","","","","","","cmp","compare","count_transactions","default","","define_api","deref","","","","","","","","","","deref_mut","","","","","","","","","","description","deserialize","","","","","","","","","","","","","drop","","","","","","","","","","end","eq","","equivalent","","","","","","","","extensions","fail","fmt","","","","","","","","","","from","","","","","","","","","","","","","","","fully_synced","get_hash","get_header_window","hash","header","in_current_span","init","","","","","","","","","","internal","into","","","","","","","","","","into_error","","","","","is_fully_synced","layout_raw","","","","","","","","","","message","missing_blocks","missing_leaves","missing_vid_common","missing_vid_shares","next","partial_cmp","payload_size","pointer_metadata","","","","","","","","","","prev","pruned_height","serialize","","","source","start","status","","sync_status","to_owned","","","","","","","","","to_string","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","vid_share","vzip","","","","","","","","","","window","block","end","message","source","","","","start","status","Error","HasMetrics","Internal","Options","Request","StatusDataSource","UpdateStatusData","__clone_box","api_path","as_error","as_error_source","","backtrace","block_height","borrow","","borrow_mut","","cause","clone","clone_into","clone_to_uninit","consensus_metrics","","default","define_api","deref","","deref_mut","","description","deserialize","","","drop","","elapsed_time_since_last_decide","","extensions","fmt","","from","","","","header","in_current_span","init","","into","","layout_raw","","metrics","pointer_metadata","","populate_metrics","serialize","source","status","success_rate","","to_owned","to_string","try_from","","try_into","","type_id","","vzip","","reason","source","BackgroundTask","Task","__clone_box","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","","deref_mut","","deserialize","","drop","","","fmt","","from","","init","","into","","join","layout_raw","","pointer_metadata","","spawn","","to_owned","try_from","","try_into","","type_id","","vzip","","consensus","mocks","setup_test","sleep","DataSourceLifeCycle","MockDataSource","MockNetwork","MockSqlDataSource","NUM_NODES","Storage","TestableDataSource","borrow","borrow_mut","connect","create","data_source","data_source_index","deref","deref_mut","deserialize","drop","","from","handle","handle_event","init","","init_with_config","into","layout_raw","num_nodes","pointer_metadata","proposer","reset","setup","shut_down","spawn","start","storage","submit_transaction","try_from","try_into","type_id","vzip","MockAuctionResults","MockBase","MockHeader","MockMembership","MockMerkleTree","MockNetwork","MockNodeImpl","MockPayload","MockQuorumProposal","MockStorage","MockTransaction","MockTypes","MockVersions","__clone_box","","","block_header","block_number","borrow","","","borrow_mut","","","builder_commitment","clone","","","clone_into","","","clone_to_uninit","","","cmp","","compare","","decided_upgrade_certificate","default","","delay_config","deref","","","deref_mut","","","deserialize","","","","","drop","","","eq","","equivalent","","","","","","","","fee_info_account","fee_info_balance","fmt","","","from","","","get_hash","","hash","","header_state_commitment_field","height","init","","","insert_path","into","","","iter","justify_qc","layout_raw","","","len","metadata","mock_transaction","namespace_id","namespace_ids","partial_cmp","","payload_commitment","pointer_metadata","","","proposal_certificate","proposer_id","random","reward_balance","serialize","","should_return_err","state_type","timestamp","","to_owned","","","transaction_with_proof","transactions","tree_height","try_from","","","try_into","","","type_id","","","upgrade_certificate","urls","view_number","vzip","","","HeightIndexed","height"],"q":[[0,"hotshot_query_service"],[308,"hotshot_query_service::Error"],[315,"hotshot_query_service::QueryError"],[316,"hotshot_query_service::availability"],[993,"hotshot_query_service::availability::Error"],[1001,"hotshot_query_service::data_source"],[1118,"hotshot_query_service::data_source::availability_tests"],[1120,"hotshot_query_service::data_source::fetching"],[1281,"hotshot_query_service::data_source::fs"],[1292,"hotshot_query_service::data_source::node_tests"],[1298,"hotshot_query_service::data_source::persistence_tests"],[1301,"hotshot_query_service::data_source::sql"],[1317,"hotshot_query_service::data_source::sql::testing"],[1318,"hotshot_query_service::data_source::status_tests"],[1319,"hotshot_query_service::data_source::storage"],[1355,"hotshot_query_service::data_source::storage::fs"],[1441,"hotshot_query_service::data_source::storage::no_storage"],[1506,"hotshot_query_service::data_source::storage::no_storage::testing"],[1603,"hotshot_query_service::data_source::storage::no_storage::testing::Storage"],[1604,"hotshot_query_service::data_source::storage::pruning"],[1650,"hotshot_query_service::data_source::storage::sql"],[2050,"hotshot_query_service::data_source::storage::sql::testing"],[2091,"hotshot_query_service::explorer"],[3168,"hotshot_query_service::fetching"],[3202,"hotshot_query_service::fetching::provider"],[3312,"hotshot_query_service::fetching::request"],[3402,"hotshot_query_service::merklized_state"],[3518,"hotshot_query_service::merklized_state::Error"],[3522,"hotshot_query_service::metrics"],[3764,"hotshot_query_service::metrics::MetricsError"],[3768,"hotshot_query_service::node"],[4065,"hotshot_query_service::node::Error"],[4074,"hotshot_query_service::status"],[4146,"hotshot_query_service::status::Error"],[4148,"hotshot_query_service::task"],[4191,"hotshot_query_service::testing"],[4195,"hotshot_query_service::testing::consensus"],[4235,"hotshot_query_service::testing::mocks"],[4369,"hotshot_query_service::types"],[4371,"dyn_clone::sealed"],[4372,"core::error"],[4373,"hotshot_query_service::error"],[4374,"std::backtrace"],[4375,"core::option"],[4376,"hotshot_types::data"],[4377,"hotshot_types::traits::node_implementation"],[4378,"alloc::string"],[4379,"core::convert"],[4380,"tide_disco::status"],[4381,"core::clone"],[4382,"hotshot_types::message"],[4383,"committable"],[4384,"hotshot_query_service::resolvable"],[4385,"rand_core"],[4386,"core::result"],[4387,"serde::de"],[4388,"rkyv::with"],[4389,"hotshot_types::simple_vote"],[4390,"hotshot_types::simple_certificate"],[4391,"async_lock::rwlock"],[4392,"alloc::sync"],[4393,"anyhow"],[4394,"core::fmt"],[4395,"hotshot_query_service::explorer::query_data"],[4396,"sqlx_core::error"],[4397,"std::os::fd::owned"],[4398,"io_lifetimes::portability"],[4399,"core::hash"],[4400,"core::marker"],[4401,"color_eyre::section"],[4402,"core::alloc::layout"],[4403,"arc_swap::access"],[4404,"core::future::future"],[4405,"alloc::boxed"],[4406,"core::pin"],[4407,"futures_core::future"],[4408,"core::ops::function"],[4409,"hotshot::types::handle"],[4410,"hotshot_query_service::availability::data_source"],[4411,"hotshot_query_service::node::data_source"],[4412,"hotshot_query_service::status::data_source"],[4413,"hotshot_query_service::data_source::update"],[4414,"vbs::version"],[4415,"serde::ser"],[4416,"core::any"],[4417,"hotshot_query_service::availability::query_data"],[4418,"core::cmp"],[4419,"core::iter::traits::iterator"],[4420,"hotshot_types::vid"],[4421,"hotshot_query_service::availability::fetch"],[4422,"snafu"],[4423,"tide_disco::api"],[4424,"tide_disco::method"],[4425,"tide_disco::request"],[4426,"futures_core::stream"],[4427,"core::ops::range"],[4428,"core::time"],[4429,"hotshot_query_service::data_source::extension"],[4430,"hotshot_query_service::data_source::metrics"],[4431,"hotshot_query_service::explorer::data_source"],[4432,"hotshot_query_service::merklized_state::data_source"],[4433,"hotshot_types::event"],[4434,"core::default"],[4435,"jf_merkle_tree::internal"],[4436,"alloc::vec"],[4437,"hotshot_types::traits::metrics"],[4438,"hotshot_query_service::data_source::fetching::notify_storage"],[4439,"std::path"],[4440,"atomic_store::atomic_store"],[4441,"core::ops::deref"],[4442,"atomic_store::error"],[4443,"time::offset_date_time"],[4444,"refinery_core::runner"],[4445,"sqlx_core::database"],[4446,"hotshot_query_service::data_source::storage::sql::transaction"],[4447,"hotshot_query_service::data_source::storage::sql::queries"],[4448,"hotshot_query_service::data_source::storage::sql::db"],[4449,"sqlx_core::encode"],[4450,"sqlx_core::types"],[4451,"sqlx_postgres::database"],[4452,"sqlx_core::executor"],[4453,"sqlx_sqlite::database"],[4454,"sqlx_core::type_checking"],[4455,"sqlx_postgres::options"],[4456,"core::iter::traits::collect"],[4457,"sqlx_core::from_row"],[4458,"sqlx_core::testing"],[4459,"refinery_core::error"],[4460,"hotshot_query_service::explorer::monetary_value"],[4461,"hotshot_query_service::explorer::currency"],[4462,"hotshot_query_service::explorer::traits"],[4463,"core::num::error"],[4464,"time::error::component_range"],[4465,"clap_builder::builder::resettable"],[4466,"async_lock::semaphore"],[4467,"hotshot_query_service::fetching::provider::testing"],[4468,"hotshot_query_service::fetching::provider::any"],[4469,"hotshot_query_service::fetching::provider::query_service"],[4470,"url"],[4471,"jf_merkle_tree"],[4472,"core::str::traits"],[4473,"ark_serialize"],[4474,"tagged_base64"],[4475,"prometheus::errors"],[4476,"hotshot_query_service::node::query_data"],[4477,"hotshot_types::signature_key"],[4478,"hotshot_types"],[4479,"include_dir_macros"]],"i":"`j0AKf`A``2``2`0`20`1``````2````Ab3AhAjAl4Bf757755`Cf86555584326015843260143288658432615843261584326155Bn66`16954371226954371297669954377126954371266666`6543`6666995437726999999954377712222222262666697697`69543712`````96954371254366954371222`3``1666954371212`69797`971``695437269769543712695437120669543712`66669543712BMdBMfBMhBMjBMlBMn5BN`````Il`El```0`0`0`MhMjLj`3`0```421`1`4Nh``04`````1````532K`JnMlKdKfKhMnN`NbKjKlKnL`LbElOd>1>>11>1?<;::Nh1MhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbEl54321Lj0>1MhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElMhMj<10Nh>Od`1032K`JnMlKdKfKhMnN`NbKjKlKnL`LbElNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbEl=0NhOdMhMjK`0JnMl0Kd0Kf0Kh0Mn0N`0NbKjKlKnL`LbEl0NhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElLj0=MhMjK`MlKdKfKhMnN`888877776666555544443333222211110000OdKjKlKnL`Lb5>>===0000000>=<;:87>==<;9410:4NhOdMhMjK`6MlKdKfKhMnN`NbKjKlKnL`LbElAAj001NhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbEl654321NhLj0>01OdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbEl>=Lj=Nh3>K`?=222222?;MhMjMl30Kf5Od435Jn3Kd3KhMnN`NbKjKlKnL`LbElLj0:K`=Nh8761Ml>Kf>=<51?=Jn667Il0000000ABdMhMj846Kd6KhMnN`NbKjKlKnL`LbEl<;?0Lj0Ml;110111NhOdMhMjK`Jn6KdKfKhMnN`NbKjKlKnL`LbElNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElNh0OdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbElNh0BNb0BNdBNfBNhBNjBNl4`````Jb``0``ABhABj11`1101010101010ABl21221121212121`2121`22222222222222222221212222222121212`2`2121322102```221212121AEl333243```````AF`AFjAEn02022AFd132013203323232131333013201320132001321320132131313131311313131313131313131313131301321111013201321303313013233113133201320132013211301320000000003``AH`00000000````````````````AFl0AHb000`0```````````AFb0`AGfAGh10012AGj22AGl33232233`4``44````AHdAHjAGb21022220010210210210221021022222222222210222210210200021020AHf3313213213213332131``AIfAId010111100101010101101000000000000100001011001100`101010100011`BNnAIhAIj210``0100210210000101002102102102100210001000000000210111210210010210000101002102102101102100BO```AFf``AIn00000000000001AJb1111AGn22223212222222222222AJn00`0`AM``````1``````1`1``1`1`1111`AJjALfALhAJl330Dn00AL`43AK`AKdAKn48AMdALb39827ALjALl8<325;:4910598<3232<;:9<;:9<;:9<4<91984329325;:90`88<325;:4491088<325;:449108<325;:49107;:88888<325;:491032<<<<<====4444========88<<325;:4910322888<325;:499109444414324444444414444448<599``8<325;:491044448<325;:491088<325;:49104491998<8932<948<325;:49109<===19`5`51932489<4132<`432`9<;:98<8<325;:49108<325;:49108<325;:4910<449<48<325;:49101``BObANl1001010101000100100101001000010101010`BCbBAd````AOn```AOf00```000```````000`Fb`B@f1`0`1`1`1`1`0`AC`AD`10Ff`B@`B@dB@h854`;BCj;`<:3B@b382<``435``::````0````;40382:`=:AObAOd>22==99<<00;;11BA`BAnBAhB@j1BB`22BAfBAl?>AOf>AC`AD`?>=6B@lFfB@nBAj;AOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhAObAOdAOfANnAC`AD`AOhAOjAOlB@jB@lFfB@nBA`BAbACdBAdADbBAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhANnAObAOdAOf3AC`AD`AOhAOjAOlAOnB@`B@bB@dB@fB@hFb>==>ADb`?>=ANn=<;:9B@jB@lFfB@nBA`BAbACdBAd9BAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhAObAOdAOfANnAC`AD`AOhAOjAOlB@jB@lFfB@nBA`BAbACdBAdADbBAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhAOb0AOd0AOf0ANn0AC`AD`AOhAOjAOl0B@j0B@l0FfB@n0BA`0BAb0ACdBAd0ADbBAf0BAh0BAj0BAl0AOn0B@`0B@b0B@d0B@f0B@h0Fb0BAn0BB`0BBb0BBd0BBf0BBh0AObAOdAOfANnAC`AD`AOhAOjAOlB@jB@lFfB@nBA`BAbACdBAdADbBAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhAOfANnAC`AD`AOhAOjAOlB@jB@lFfB@nBA`BAbACd====<<<<;;;;::::9999888877776666555544443333222211110000<=B@nBA`BAb0ACdBAdADbBAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhAObAOdAOfANnAC`AD`AOhAOjAOlB@jB@lFfB@nBA`BAbACdBAdADbBAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhAObAOdAOfANnAC`AD`AOhAOjAOlB@jB@lFfB@nBA`BAbACdBAdADbBAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBhANn0AObAOdAOf3AC`AD`AOhAOjAOlB@jB@lFfB@nBA`BAbACdBAdADbBAfBAhBAjBAlAOnB@`B@bB@dB@fB@hFbBAnBB`BBbBBdBBfBBh`````BCl0000000000000000``BCnBD`22222222`````BDjBDlBDhBDn1321032103210321032103032103210321032101BDd444333214321432143214321432132432143214321432143212243214444```BDb`BE`BEbBEd2102102102102102102102102102102222111100002102100210210210210210210210210210210210ACjAClF`11`21````00`1`20BEh11113013011313131330`3013011301130133333033113011113AChACn55343523AE`563463466344045464645634634634634BOdBOfBOh2```````BH`00``AEbBGjBHbBGlBHdBHfBHhBHj648888876543210876543210876543210765432107654321073210777778765432108765432108876543210876543210788765432108876543210776532177777787887654321087654321087654321048765432104587477654321088765432108765432108765432105876543210BOj0BOlBOn``Ej``ACf0``1`1`1`1``0``0BJbBJdBJfBJhBJjBJlBJ`8BJn99993In987165432:987165432:2:98765432:98765432:98765432:88071`987165432:987165432::98877165432::987165432:387888877771298765432::99877165432::::8808::987165432::987165432:654328987165432:28888780987165432:7887::3:2098765432::987165432:987165432:987165432:0987165432:7C@`C@bC@dC@fC@h4332``En`0``0BKd1111J`12122222001`121221221200122122222121212AEd23BKf444224434343434C@jC@l``BKh0BKj10111101010100101010100101010110101010`````````BKl`AIl01100000000010000000011000000000`````````````ADdBL`BKnC@nBLl43243204324324324242CA`530543543554335435355553333115435435353BLn26540654BM`476503`BLj486487654448632448761128768768765CAb6987`BKb","f":"`````````````````````````````{{bd}f}000000{b{{b{h}}}}00000``{{{b{j}}}{{n{{b{l}}}}}}{{{b{A`}}}{{n{{b{l}}}}}}{{{b{{Ab{c}}}}}bAd}{{{b{Af{Ab{c}}}}}{{b{Af}}}Ad}{{{b{{Ab{c}}}}}nAd}{b{{b{c}}}{}}0000000{{{b{Af}}}{{b{Afc}}}{}}0000000{AhA`}{AjA`}{{{Al{c}}}A`{{B`{An}}}}{{BbAn}j}{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}{{{b{{Ab{c}}}}}{{Ab{c}}}{BdAd}}{{{b{j}}}j}{{{b{Ah}}}Ah}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}Bd}{{{b{A`}}}A`}{{{b{{Bf{c}}}}}{{Bf{c}}}Bd}{{b{b{Afc}}}f{}}000000{bf}000000{{{b{{Ab{c}}}}{b{{Bh{ce}}}}}{{Bj{{Ab{c}}}}}AdBl}{{{b{{Ab{c}}}}}{{Bj{{Ab{c}}}}}Ad}{{{b{Bn}}}{{Bj{c}}}C`}{b{{Bj{c}}}{}}{{{b{{Ab{c}}}}{b{AfCb}}Cd}{}Ad}`{{}Cf}{Ch{{b{c}}}{}}0000000{{{b{{Bf{c}}}}}{{b{e}}}{}{}}{Ch{{b{Afc}}}{}}0000000{{{b{j}}}{{b{Cj}}}}{{{b{A`}}}{{b{Cj}}}}{c{{Cl{{Ab{e}}}}}CnAd}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{c{{Cl{j}}}Cn}111{c{{Cl{A`}}}Cn}222{Chf}0000000{{{b{{Ab{c}}}}{b{{Ab{c}}}}}DbAd}{{b{b{c}}}Db{}}000`{{{b{{Ab{c}}}}{b{{Ab{c}}}}{b{{Dl{{Dj{{n{{Dh{c{Dd{c}}Df}}}}}}}}}}}{{Cl{fDn}}}Ad}{Ah{{Cl{cA`}}}{}}{Aj{{Cl{cA`}}}{}}{{{Al{c}}}{{Cl{eA`}}}{{B`{An}}}{}}`{{{b{Af{Ab{c}}}}Ch}{{Cl{fE`}}}Ad}{{{b{Af{Ab{c}}}}}fAd}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cl{fEd}}}Ad}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cl{fEd}}}{EfAd}}{{{b{j}}{b{AfEb}}}Eh}0{{{b{Ah}}{b{AfEb}}}Eh}{{{b{Aj}}{b{AfEb}}}Eh}{{{b{{Al{c}}}}{b{AfEb}}}EhEf}{{{b{A`}}{b{AfEb}}}Eh}0{{{b{{Bf{c}}}}{b{AfEb}}}EhEf}{cc{}}{Ejj}1{Elj}{Enj}{F`j}{Fbj}{{{Fd{AnBb}}}j}666{FfA`}7{FhA`}8{Fjc{}}9{{{Dl{c}}}{{Bf{c}}}{}}{c{{Bf{c}}}{}}{Flc{}}0{ceFn{}}{ceG`{}}{{{b{{Gb{c}}}}}{{Ab{c}}}Ad}3{{bb}{{Ab{c}}}Ad}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{{Ab{c}}}}{b{Afe}}}fAdGj}{c{{Gl{ce}}}{GnH`Hb}{}}00{{{b{{Ab{c}}}}}CdAd}{{}}0`{{}Ch}0000000`````{cjGn}{{}c{}}0000000{{Ahc}A`{}}{{Ajc}A`{}}{{{Al{c}}e}A`{{B`{An}}}{}}{{{b{{Ab{c}}}}}{{Dh{c{Hd{c}}Hf}}}Ad}{{}{{Cl{HhHj}}}}0000000{b}{b{{Hl{c}}}{}}`````{{{b{{Ab{c}}}}}{{Bj{{Ab{c}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}33333333`{{{b{{Bf{c}}}}i}{{Ib{{I`{Hn}}}}}{H`Hb}{}{}{H`{Ih{{b{e}}}{{Id{{If{g}}}}}}}}{{Cfe{Ij{cgi}}k}{{Cl{fj}}}Ad{{Il{c}}{In{c}}J`JbH`Hb}{{Jd{c}}}BlJf}{{{b{{Ab{c}}}}e}Cl{AdJh}Jj}{{{b{j}}c}ClJj}{{{b{A`}}c}ClJj}{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}`{{{b{j}}}Bb}{{{b{A`}}}Bb}```{bc{}}000000{bAn}00{c{{Cl{e}}}{}{}}0000000{{}{{Cl{c}}}{}}0000000{Bn{{Cl{cBn}}}C`}{{}{{Cl{cc}}}{}}{bJl}0000000`{{{b{Af{Ab{c}}}}}nAd}{{{b{{Ab{c}}}}}{{n{{Dh{c{Dd{c}}Df}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}{{}c{}}0000000`````````````````````````````````````````````````````````{{bd}f}0000000000000000`{b{{b{h}}}}00000{{{b{{Jn{c}}}}}{{n{{b{l}}}}}Ad}{{{b{El}}}{{n{{b{l}}}}}}{{{b{{K`{c}}}}}{{Kb{c}}}Ad}{{{b{{Kd{c}}}}}{{Kb{c}}}Ad}{{{b{{Kf{c}}}}}{{Kb{c}}}Ad}{{{b{{Kh{c}}}}}{{Kb{c}}}Ad}{{{b{{Kh{c}}}}}CdAd}{b{{b{c}}}{}}000000000000000000{{{b{Af}}}{{b{Afc}}}{}}000000000000000000{{{Kj{c}}}El{{B`{An}}}}{{{Kl{c}}}El{{B`{An}}}}{{{Kn{c}}}El{{B`{An}}}}{{{L`{ce}}}El{{B`{Cd}}}{{B`{Cd}}}}{{{Lb{ce}}}El{{B`{An}}}{{B`{Bb}}}}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{Bj{k}}}{{n{c}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Jn{c}}}}}{{n{{b{h}}}}}Ad}{{{b{El}}}{{n{{b{h}}}}}}{{{b{{Mh{c}}}}}{{Mh{c}}}Ad}{{{b{{Mj{c}}}}}{{Mj{c}}}Ad}{{{b{{K`{c}}}}}{{K`{c}}}{BdAd}}{{{b{{Jn{c}}}}}{{Jn{c}}}{BdAd}}{{{b{{Ml{c}}}}}{{Ml{c}}}{BdAd}}{{{b{{Kd{c}}}}}{{Kd{c}}}{BdAd}}{{{b{{Kf{c}}}}}{{Kf{c}}}{BdAd}}{{{b{{Kh{c}}}}}{{Kh{c}}}{BdAd}}{{{b{{Mn{c}}}}}{{Mn{c}}}{BdAd}}{{{b{{N`{c}}}}}{{N`{c}}}{BdAd}}{{{b{Nb}}}Nb}{{{b{{Kj{c}}}}}{{Kj{c}}}Bd}{{{b{{Kl{c}}}}}{{Kl{c}}}Bd}{{{b{{Kn{c}}}}}{{Kn{c}}}Bd}{{{b{{L`{ce}}}}}{{L`{ce}}}BdBd}{{{b{{Lb{ce}}}}}{{Lb{ce}}}BdBd}{{{b{El}}}El}{{b{b{Afc}}}f{}}0000000000000000{bf}0000000000000000{{{b{{Mh{c}}}}{b{{Mh{c}}}}}NdAd}{{{b{{Mj{c}}}}{b{{Mj{c}}}}}NdAd}{{{b{{Kf{c}}}}}{{b{Nf}}}Ad}{{b{b{c}}}Nd{}}0{{{Nh{c}}g}{{Cl{ce}}}{}{hNj}{{O`{e}{{Nl{Nn}}}}}}{{{b{{Kd{c}}}}}{{b{{Ob{c}}}}}Ad}{{}Od}{{{b{Od}}c}{{Cl{{Of{eElc}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}000000000000000000{Ch{{b{Afc}}}{}}000000000000000000{{{b{{Jn{c}}}}}{{b{Cj}}}Ad}{{{b{El}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}000{c{{Cl{{K`{e}}}}}CnAd}111{c{{Cl{{Ml{e}}}}}CnAd}{c{{Cl{{Kd{e}}}}}CnAd}3{c{{Cl{{Kf{e}}}}}CnAd}4{c{{Cl{{Kh{e}}}}}CnAd}55{c{{Cl{{Mn{e}}}}}CnAd}{c{{Cl{{N`{e}}}}}CnAd}7777777{c{{Cl{El}}}Cn}8{Chf}000000000000000000{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}{{I`{Mf}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Ml{c}}}}}{{`{{Mf{}{{Md{{Fd{{Ol{c}}{On{c}}}}}}}}}}}Ad}{{{b{{Mh{c}}}}{b{{Mh{c}}}}}DbAd}{{{b{{Mj{c}}}}{b{{Mj{c}}}}}DbAd}{{{b{{K`{c}}}}{b{{K`{c}}}}}Db{LlAd}}{{{b{{Ml{c}}}}{b{{Ml{c}}}}}Db{LlAd}}{{{b{{Kd{c}}}}{b{{Kd{c}}}}}Db{LlAd}}{{{b{{Kf{c}}}}{b{{Kf{c}}}}}Db{LlAd}}{{{b{{Kh{c}}}}{b{{Kh{c}}}}}Db{LlAd}}{{{b{{Mn{c}}}}{b{{Mn{c}}}}}Db{LlAd}}{{{b{{N`{c}}}}{b{{N`{c}}}}}Db{LlAd}}{{b{b{c}}}Db{}}00000000000000000000000000000000000`{{{Kj{c}}}{{Cl{eEl}}}{{B`{An}}}{}}{{{Kl{c}}}{{Cl{eEl}}}{{B`{An}}}{}}{{{Kn{c}}}{{Cl{eEl}}}{{B`{An}}}{}}{{{L`{ce}}}{{Cl{gEl}}}{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lb{ce}}}{{Cl{gEl}}}{{B`{An}}}{{B`{Bb}}}{}}`{{{b{{Mh{c}}}}{b{AfEb}}}EhAd}0{{{b{{Mj{c}}}}{b{AfEb}}}EhAd}0{{{b{{K`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Jn{c}}}}{b{AfEb}}}EhAd}{{{b{{Jn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Ml{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Mn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{N`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{Nb}}{b{AfEb}}}Eh}{{{b{{Kj{c}}}}{b{AfEb}}}EhEf}{{{b{{Kl{c}}}}{b{AfEb}}}EhEf}{{{b{{Kn{c}}}}{b{AfEb}}}EhEf}{{{b{{L`{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{Lb{ce}}}}{b{AfEb}}}EhEfEf}{{{b{El}}{b{AfEb}}}Eh}0{cc{}}00{{{A@`{c}}}{{Mh{c}}}Ad}{Ch{{Mh{c}}}Ad}2{Ch{{Mj{c}}}Ad}{{{Kb{c}}}{{Mj{c}}}Ad}4444{{{Ml{c}}}{{Kd{c}}}Ad}555{{{Ml{c}}}{{Mn{c}}}Ad}66666666{A@bEl}{{{Fd{AnBb}}}El}{b{{A@d{{K`{c}}}}}Ad}{b{{A@d{{Ml{c}}}}}Ad}{b{{A@d{{Kd{c}}}}}Ad}{b{{A@d{{Kf{c}}}}}Ad}{{bb}{{K`{c}}}Ad}{{bb}{{Ml{c}}}Ad}{{bb}{{Kd{c}}}Ad}{{bb}{{Kf{c}}}Ad}{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}m}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}{{B`{{Mj{e}}}}H`Hb}}{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}m}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}{{AAb{Ch}}H`}}{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}m}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}{{B`{{Mh{e}}}}H`Hb}}232{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}{AAd{e}}}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}}43{{{b{{Mh{c}}}}{b{Afe}}}fAdGj}{{{b{{Mj{c}}}}{b{Afe}}}fAdGj}{{{b{{K`{c}}}}}{{A@`{c}}}Ad}{{{b{{Ml{c}}}}}{{Kb{c}}}Ad}{{{b{{Kd{c}}}}}AAfAd}{{{b{{Kh{c}}}}}{{AAd{c}}}Ad}{{{b{{Mn{c}}}}}{{Kb{c}}}Ad}{c{{Gl{ce}}}{GnH`Hb}{}}0{{{b{{K`{c}}}}}{{b{{AAh{c}}}}}Ad}1{{{b{{Ml{c}}}}}{{b{{AAh{c}}}}}Ad}{{{b{{Mn{c}}}}}{{b{{AAh{c}}}}}Ad}3{{{b{{K`{c}}}}}CdAd}{{{b{{Ml{c}}}}}CdAd}{{{b{{Kd{c}}}}}CdAd}{{{b{{Kf{c}}}}}CdAd}{{{b{{Mn{c}}}}}CdAd}`{{}}0{{{b{{Kh{c}}}}}CdAd}`{{}Ch}000000000000000000{{{b{AfAAj}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAAj}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAAj}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{cElGn}{{}c{}}000000000000000000{{Nbc}El{}}{{{Kj{c}}e}El{{B`{An}}}{}}{{{Kl{c}}e}El{{B`{An}}}{}}{{{Kn{c}}e}El{{B`{An}}}{}}{{{L`{ce}}g}El{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lb{ce}}g}El{{B`{An}}}{{B`{Bb}}}{}}{{{Nh{c}}}eH`{}}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}Db{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Ml{c}}}}}DbAd}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}e{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}{{}{{Cl{HhHj}}}}000000000000000000{{{b{{K`{c}}}}}{{b{{Ab{c}}}}}Ad}`{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}Ch{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}{{{b{{Ml{c}}}}}ChAd}{{{Nh{c}}g}{{Nh{e}}}{}{}{H`{Ih{c}{{Id{e}}}}}}`{{{b{{Ml{c}}}}}{{b{{AAn{c}}}}}Ad}{{{Ab{c}}{AB`{c}}}{{Cl{{K`{c}}{Jn{c}}}}}Ad}{{{AAh{c}}{Ob{c}}}{{Ml{c}}}Ad}{{{AAh{c}}Nf}{{Kf{c}}}Ad}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}Ch}{{n{c}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}Ch}{{n{k}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}Ch}{{n{{Fd{kg}}}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Ml{c}}}}}CdAd}{{{b{{Mn{c}}}}}CdAd}{{{b{{Mh{c}}}}{b{{Mh{c}}}}}{{n{Nd}}}Ad}{{{b{{Mj{c}}}}{b{{Mj{c}}}}}{{n{Nd}}}Ad}{{{b{{Ml{c}}}}}{{b{{Ob{c}}}}}Ad}{{{b{{K`{c}}}}}AAfAd}{{{b{{Ml{c}}}}}AAfAd}{{{b{{Kf{c}}}}}AAfAd}{b}000000000000000000{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{b{c}}}{{n{g}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Kh{c}}}}}{{b{{ABb{c}}}}}Ad}{{{b{{K`{c}}}}}{{b{{AB`{c}}}}}Ad}`{{{Nh{c}}}cH`}```{{{b{{K`{c}}}}e}ClAdJj}{{{b{{Ml{c}}}}e}ClAdJj}{{{b{{Kd{c}}}}e}ClAdJj}{{{b{{Kf{c}}}}e}ClAdJj}{{{b{{Kh{c}}}}e}ClAdJj}{{{b{{Mn{c}}}}e}ClAdJj}{{{b{{N`{c}}}}e}ClAdJj}{{{b{El}}c}ClJj}{{{b{{Ml{c}}}}}CdAd}{{{b{{Kd{c}}}}}CdAd}{{{b{{Mn{c}}}}}CdAd}{{{b{{Jn{c}}}}}{{n{{b{h}}}}}Ad}{{{b{El}}}{{n{{b{h}}}}}}{{{b{El}}}Bb}`{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}Ch}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}}0000000{{{b{ABd}}}Cd}{bc{}}0000000000000000{bAn}000{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{b{c}}}{{n{k}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Ml{c}}}}{b{{Ol{c}}}}}{{n{{On{c}}}}}Ad}{{{b{{Kh{c}}}}}{{b{{On{c}}}}}Ad}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{Bj{k}}}{{n{k}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Ml{c}}}}{Bj{{On{c}}}}}{{n{{Ol{c}}}}}Ad}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{Bj{k}}}{{n{{Fd{kg}}}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{b{c}}}{{n{{Fd{kg}}}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}{c{{Cl{e}}}{}{}}000000000000000000{{}{{Cl{c}}}{}}000000000000000000{{{Nh{c}}}{{Cl{c{Nh{c}}}}}{}}{bJl}000000000000000000{{}c{}}000000000000000000{{{Nh{c}}i}{{Cl{ce}}}{}{hNj}{{O`{e}{{Nl{Nn}}}}}{{Ih{}{{Id{g}}}}}}{{{Nh{c}}ABf}{{n{c}}}H`}```````````````````{{bd}f}0{{{b{Af{ABh{ce}}}}}{{b{Afe}}}{}{}}{{{b{{ABh{ce}}}}}{{b{e}}}{}{}}`{{{b{{ABh{eg}}}}}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}}{{{b{{ABh{ce}}}}}{{Ib{{I`{Hn}}}}}{J`H`Hb}{H`Hb}}{{{b{ABj}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{{ABh{ce}}}}}{{ABh{ce}}}BdBd}{{{b{ABj}}}ABj}{{b{b{Afc}}}f{}}0{bf}0{ABl{{`{{Hn{}{{Id{{ABn{f}}}}}}H`}}}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}0:{Ch{{Ib{{I`{Hn}}}}}}0{{}ABj}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{Chf}0`{{{b{{ABh{ce}}}}{b{AfEb}}}EhEfEf}{{{b{ABj}}{b{AfEb}}}Eh}{cc{}}0`{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}{{B`{{Mj{c}}}}H`Hb}}{{{b{{ABh{eg}}}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}{{AAb{Ch}}H`}}{{{b{{ABh{eg}}}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}iCd}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}{{B`{{ACf{c}}}}H`Hb}}{{{b{{ABh{ce}}}}}{{Ib{{I`{Hn}}}}}{AChHb}{H`Hb}}{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}{{B`{{Mh{c}}}}H`Hb}}5{{{b{{ABh{gi}}}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{ACn{ce}}Hb}{H`Hb}}86{{{b{{ABh{eg}}}}An}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}}{{{b{{ABh{eg}}}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}<:{{{b{{ABh{ce}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}ADh{BdADjH`Hb}}{{{b{ABj}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}}{{}Ch}0{{{b{{ABh{ce}}}}}{{b{c}}}{}{}}{{{b{Af{ABh{ce}}}}}{{b{Afc}}}{}{}}{{{b{Af{ABh{eg}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}{H`Hb}}{{{b{Af{ABh{eg}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}{H`Hb}}{{{b{Af{ABh{gi}}}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}{H`Hb}}{{{b{Af{ABh{eg}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}{H`Hb}}{{}c{}}0{{}{{Cl{HhHj}}}}0{{{b{{ABh{ce}}}}}{{b{AEb}}}AEd{}}{{{b{ABj}}}{{b{AEb}}}}{{ce}{{ABh{ce}}}{}{}}`{{{b{{ABh{eg}}}}}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}}`{b}0{b{{I`{AEf}}}}0{{{b{{Jb{}{{AEh{c}}{AEj{e}}}}}}}{{`{{Hn{}{{Id{{ABn{e}}}}}}H`}}}ABlABl}{{{b{{ABh{ce}}}}}{{ABn{g}}}{JbH`}{H`Hb}{}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}0{ABl{{`{HnH`}}}}{{{b{Af{ABh{gi}}}}Ch}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}{H`Hb}}```7{bc{}}0{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}0{{{b{AfAEl}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}{{B`{{Mj{c}}}}H`Hb}}{{}c{}}0{{{b{{Jb{}{{AEh{c}}{AEj{e}}}}}}}{{`{{Hn{}{{Id{{ABn{c}}}}}}H`}}}ABlABl}<{{}f}0`````{{bd}f}0{{{b{Af{AEn{ce}}}}}{{b{Afe}}}Ad{}}{{{b{{AEn{ce}}}}}{{b{e}}}Ad{}}{{{b{{AF`{ceg}}}}}{{b{e}}}Ad{}{}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}Ad{JbAEdH`Hb}{H`Hb}}{b{{b{c}}}{}}000{{{b{Af}}}{{b{Afc}}}{}}000{{{AFd{ceg}}}{{ABn{{AF`{ceg}}}}}Ad{AFfJb}{{AFh{c}}}}{{cg}{{AFd{ecg}}}{JbAFf}Ad{{AFh{e}}}}{{{b{{AF`{ceg}}}}}{{AF`{ceg}}}Ad{}{}}{{{b{{AFj{ceg}}}}}{{AFj{ceg}}}Ad{}{}}{{b{b{Afc}}}f{}}0{bf}0{{{AEn{ce}}}{{ABn{f}}}AdABl}{{AFle}{{Cl{{AFn{ce}}Dn}}}Ad{{AFh{c}}}}<;{{{b{AG`}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{{{b{AfAGd}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{Ch{{b{c}}}{}}000{Ch{{b{Afc}}}{}}000{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}000{{{AFd{ceg}}}{{AFd{ceg}}}{}{}{}}{Chf}000{{{b{{AEn{ce}}}}{b{AfEb}}}Eh{AdEf}Ef}{{{b{{AF`{ceg}}}}{b{AfEb}}}EhAdEfEf}{{{b{{AFj{ceg}}}}{b{AfEb}}}EhAdEfEf}{cc{}}000{{{b{Af{AEn{ce}}}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{B`{{Mj{c}}}}H`Hb}}{{{b{Af{AEn{ce}}}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{AC`{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}g}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}{{AAb{Ch}}H`}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{AAb{Ch}}H`}}{{{b{Af{AEn{ce}}}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{ACd{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}9{{{b{Af{AEn{ce}}}}gCd}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}{{B`{{ACf{c}}}}H`Hb}}{{{b{{AF`{ceg}}}}iCd}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}{{B`{{ACf{c}}}}H`Hb}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{AGjH`}}3{{{b{Af{AEn{ce}}}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{B`{{Mh{c}}}}H`Hb}}:9{{{b{Af{AEn{cg}}}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AGl{ce}}H`}}{{{b{{AF`{ceg}}}}{ACj{ci}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}{{ACl{c}}}}{{{b{Af{AEn{ce}}}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{B`{{Mj{c}}}}H`Hb}}>={{{b{Af{AEn{ce}}}}An}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}An}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}}{{{b{Af{AEn{ce}}}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{AD`{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{ADb{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}98{{{b{Af{AEn{ce}}}}g}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}{{AAb{Ch}}H`}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{AAb{Ch}}H`}}{{}Ch}000{{{b{Af{AEn{ce}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}}{{{b{Af{AEn{ce}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}}{{{b{Af{AEn{cg}}}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}}{{{b{Af{AEn{ce}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}}{{}c{}}000{{}{{Cl{HhHj}}}}000{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{AGnH`}}{{{b{{AF`{ceg}}}}}{{b{AEb}}}AdAEd{}}{{ce}{{AFd{gce}}}{}{}{}}{{{b{AG`}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{{{b{AfAGd}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{b}000{b{{I`{AEf}}}}{{{b{{AF`{ceg}}}}}{{ABn{i}}}Ad{JbH`Hb}{H`Hb}{}}{{{AEn{ce}}}{{`{HnH`}}}AdABl}{{{b{Af{AEn{cg}}}}Ch}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}}{{{b{{AF`{c{AGb{c}}e}}}}}{{ABn{f}}}Ad{{AFh{c}}}}76{bc{}}0{c{{Cl{e}}}{}{}}000{{}{{Cl{c}}}{}}000{bJl}000{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AEn{ce}}}}g}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}{{B`{{Mj{c}}}}H`Hb}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}{{B`{{Mj{c}}}}H`Hb}}{{}c{}}000{{{AFd{ceg}}ABf}{{AFd{ceg}}}{}{}{}}0{{{AFd{ceg}}Ch}{{AFd{ceg}}}{}{}{}}010001=``{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{Ch{{Ib{{I`{Hn}}}}}}{{{b{AG`}}e}{{ABn{{AH`{ce}}}}}Ad{{AFh{c}}}}{{{b{AfAGd}}e}{{ABn{{AH`{ce}}}}}Ad{{AFh{c}}}}{{{b{{AH`{ADdc}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}{{AFh{ADd}}ADj}}214{{{b{{AH`{ce}}}}}{{ABn{f}}}Ad{{AFh{c}}}}{{}f}00000000```````{{AFle}{{Cl{{AFn{ce}}Dn}}}Ad{{AFh{c}}}}{{AFle}{{Cl{{AHb{ce}}Dn}}}Ad{{AFh{c}}}}187{{{b{{AHb{ADdc}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}{{AFh{ADd}}ADj}}`9``3````````{{{b{AfAFb}}}{{Ib{{I`{Hn}}}}}}0`{{{b{AfAGf}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGf}}c}{{Ib{{I`{Hn}}}}}{{AAb{Ch}}H`}}{{{b{AfAGh}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}}{{Ib{{I`{Hn}}}}}}4{{{b{AfAFb}}eCd}{{Ib{{I`{Hn}}}}}Ad{{B`{{ACf{c}}}}H`Hb}}{{{b{AfAGj}}}{{Ib{{I`{Hn}}}}}}{{{b{AfAGf}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad}5{{{b{AfAGl}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}}86{{{b{AfAGh}}An}{{Ib{{I`{Hn}}}}}}{{{b{AfAGf}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad}<:`=``={{{b{AfAFb}}e}{{Ib{{I`{Hn}}}}}Ad{{B`{{Mj{c}}}}H`Hb}}````{{{b{Af{AHd{e}}}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{AHd{{AHn{{AHj{c}}}}}}}{{ABn{f}}}Ad}{{{AHd{{AI`{{AHj{c}}}}}}}{{ABn{f}}}Ad}4{{{b{AG`}}}{{Cl{{AGb{c}}AIb}}}Ad}{{{b{AfAGd}}}{{Cl{{AGb{c}}AIb}}}Ad}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{Chf}0{{{b{Af{AHd{c}}}}}fAHf}1{{{b{{AHj{c}}}}{b{AfEb}}}EhAd}{{{b{{AGb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AHd{c}}}}{b{AfEb}}}Eh{EfAHf}}{cc{}}00{{{b{Af{AHd{e}}}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}}{{{b{Af{AHd{e}}}}g}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}{{AAb{Ch}}H`}}1{{{b{Af{AHd{e}}}}gCd}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}{{B`{{ACf{c}}}}H`Hb}}{{{b{Af{AHd{e}}}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}}232{{{b{Af{AHd{e}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}}43{{}Ch}00{{{b{Af{AHd{{AI`{{AHj{c}}}}}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AHd{{AI`{{AHj{c}}}}}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AHd{{AI`{{AHj{c}}}}}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{{}c{}}00{{}{{Cl{HhHj}}}}00{{{b{{AGb{c}}}}}{{b{AEb}}}Ad}{{{b{AG`}}}{{Cl{{AGb{c}}AIb}}}Ad}{{{b{AfAGd}}}{{Cl{{AGb{c}}AIb}}}Ad}{{{b{Af{AHd{e}}}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}}{b}00{{{b{{AGb{c}}}}}{{ABn{e}}}Ad{}}{{{b{AfAHf}}}f}{{{AHd{{AI`{{AHj{c}}}}}}}{{`{HnH`}}}Ad}{{{AHd{{AHn{{AHj{c}}}}}}}{{`{HnH`}}}Ad}{{{b{{AGb{c}}}}}{{Cl{fAIb}}}Ad}6{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AHd{e}}}}g}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}{{B`{{Mj{c}}}}H`Hb}}{{}c{}}00:``{{bd}f}{{{b{AfAId}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{AIf}}}AIf}{{b{b{Afc}}}f{}}{bf}{AId{{ABn{f}}}}6{{}AIf}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{Chf}0{{{b{AIf}}{b{AfEb}}}Eh}{cc{}}0{{{b{AfAId}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAId}}c}{{Ib{{I`{Hn}}}}}{{AAb{Ch}}H`}}1{{{b{AfAId}}eCd}{{Ib{{I`{Hn}}}}}Ad{{B`{{ACf{c}}}}H`Hb}}{{{b{AfAId}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad}232{{{b{AfAId}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad}43{{}Ch}0{{{b{AfAId}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAId}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAId}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{{}c{}}0{{}{{Cl{HhHj}}}}0{{{b{AIf}}}{{b{AEb}}}}{{{b{AfAId}}}{{Ib{{I`{Hn}}}}}}{b}0{{{b{AIf}}}{{ABn{c}}}{}}{AId{{`{HnH`}}}}3`{bc{}}{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}0{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{AfAId}}e}{{Ib{{I`{Hn}}}}}Ad{{B`{{Mj{c}}}}H`Hb}}<<7`````````{{bd}f}{{{b{Af{AIh{c}}}}}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}}{{{b{AIj}}}{{Ib{{I`{Hn}}}}}}0{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{AIj}}}AIj}{{b{b{Afc}}}f{}}{bf}{{{AIh{c}}}{{ABn{f}}}ABl}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}87{Ch{{Ib{{I`{Hn}}}}}}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{Chf}00{{{b{AIj}}{b{AfEb}}}Eh}{cc{}}00{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{B`{{Mj{ADd}}}}H`Hb}}{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{AAb{Ch}}H`}}{{{b{Af{AIh{c}}}}eCd}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}{{B`{{ACf{ADd}}}}H`Hb}}{{{b{AIj}}cCd}{{Ib{{I`{Hn}}}}}{{B`{{ACf{ADd}}}}H`Hb}}{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{B`{{Mh{ADd}}}}H`Hb}}343{{{b{AIj}}{AAd{ADd}}}{{Ib{{I`{Hn}}}}}}54{{{b{AIj}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}}{{}Ch}00{{{b{Af{AIh{c}}}}{Ml{ADd}}}{{Ib{{I`{Hn}}}}}{{AAj{ADd}}H`Hb}}{{{b{Af{AIh{c}}}}{K`{ADd}}}{{Ib{{I`{Hn}}}}}{{AAj{ADd}}H`Hb}}{{{b{Af{AIh{c}}}}{Kf{ADd}}{n{AAl}}}{{Ib{{I`{Hn}}}}}{{AAj{ADd}}H`Hb}}{{}c{}}00{{}{{Cl{HhHj}}}}00{{{b{AIj}}}{{b{AEb}}}}{{{b{Af{AIh{c}}}}}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}}{{{b{AIj}}}{{Ib{{I`{Hn}}}}}}{b}00{b{{I`{AEf}}}}{{{b{AIj}}}{{ABn{c}}}{}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{{{AIh{c}}}{{`{HnH`}}}ABl}{{{b{Af{AIl{AIj}}}}}{{Ib{{I`{Hn}}}}}}76{bc{}}{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AIh{c}}}}e}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}{{B`{{Mj{ADd}}}}H`Hb}}{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{B`{{Mj{ADd}}}}H`Hb}}{{}c{}}00;``````{{bd}f}{{{b{AIn}}}Cd}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{AIn}}}AIn}{{b{b{Afc}}}f{}}{bf}{{}AIn}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{Chf}{{{b{AIn}}{b{AfEb}}}Eh}{cc{}}{{{b{{AFf{}{{AJ`{c}}}}}}}{{Ib{{I`{Hn}}}}}{ADjH`}}{{{b{AJb}}}{{n{AIn}}}}{{}Ch}{{{b{AIn}}}ABf}{{}c{}}{{}{{Cl{HhHj}}}}{{{b{AfAGn}}}{{Ib{{I`{Hn}}}}}}{{{b{AIn}}}AJd}4>{b}{{{b{{AFf{}{{AJ`{c}}}}}}{b{Afc}}}{{Ib{{I`{Hn}}}}}{ADjH`}}{{{b{AIn}}}{{n{Cd}}}}{{{b{AfAJb}}AIn}f}8{bc{}}{c{{Cl{e}}}{}{}}{{}{{Cl{c}}}{}}{bJl}{{{b{AIn}}}{{ABn{f}}}}<{{AInCd}AIn}{{AInABf}AIn}{{AInAJd}AIn}121`````````````````````````````````{{bd}f}000{{AJfAnAJhCd}AJj}{{{b{AJj}}}{{n{{b{AJh}}}}}}{{{AJl{c}}}{{AJl{c}}}AJn}{{{b{Dn}}}{{b{h}}}}0{{{b{Dn}}}{{b{l}}}}{{{b{Af}}}{{`{{Hn{}{{Id{{ABn{f}}}}}}H`}}}}{{{b{Af}}}{{ABn{f}}}}0{{AK`AKb}AKb}{{{b{AfAKd}}c}{{AKf{An}}}{{AKj{AKh}}{AKl{AKh}}}}{{{b{Af{AKn{c}}}}}{{Ib{{I`{Hn}}}}}AL`}{b{{b{c}}}{}}0000000000{{{b{Af}}}{{b{Afc}}}{}}0000000000{{{b{AfAKd}}c{b{Cj}}}{{AKf{An}}}{{AAb{Ch}}}}{{{AJl{ALb}}e}{{Cl{{AFn{ce}}Dn}}}Ad{{AFh{c}}}}{{{b{Dn}}}ALd}{{{b{AJj}}}Cd}{{{b{Cj}}}{{Ib{{I`{Hn}}}}}}0{{}{{Ib{{I`{Hn}}}}}}0{{{b{AJj}}}AJj}{{{b{ALf}}}ALf}{{{b{ALh}}}ALh}{{{b{{AJl{c}}}}}{{AJl{c}}}{AJnBd}}{{b{b{Afc}}}f{}}000{bf}000{{{b{AJj}}{b{AJj}}}Nd}{{{AKn{c}}}{{ABn{f}}}AL`}{{b{b{c}}}Nd{}}{{{AJl{ALb}}e}{{Cl{{AHb{ce}}Dn}}}Ad{{AFh{c}}}}{{{AJl{c}}}{{Cl{ALjDn}}}AJn}{{{AJl{c}}ABf}{{AJl{c}}}AJn}{{Dnc}Dn{GnH`Hb}}{{{b{Af{AKn{c}}}}}{{Ib{{I`{Hn}}}}}AL`}??{{{AJl{ALb}}{b{Cj}}}{{AJl{ALb}}}}{{{b{Cj}}}{{Ib{{I`{Hn}}}}}}0{{}AKd}{{}ALf}{{}ALh}{{}{{AJl{ALb}}}}{{}ALl}{{}{{ADn{AJj}}}}{Ch{{b{c}}}{}}{{{b{Dn}}}b}111111{{{b{{AKn{c}}}}}{{b{e}}}{}{}}2222{{{b{AfDn}}}{{b{Af}}}}{Ch{{b{Afc}}}{}}0000000{{{b{Af{AKn{c}}}}}{{b{Afe}}}{}{}}111{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0000000000{{}{{b{Cj}}}}00{Dn{{Cl{cDn}}}{GnEfH`Hb}}{{{b{AfDn}}}{{n{{b{Afc}}}}}{GnEfH`Hb}}{{{b{Dn}}}{{n{{b{c}}}}}{GnEfH`Hb}}{Chf}{{{b{AfDn}}}f}1111111111{{{b{Cj}}}{{Ib{{I`{Hn}}}}}}0{{{b{AJj}}{b{AJj}}}Db}{{b{b{c}}}Db{}}000{{{AM`{}{{ALn{c}}}}e}{{Ib{{I`{Hn}}}}}AJn{{AMb{c}}}}0{{{AM`{}{{ALn{c}}}}e}{{Ib{{I`{A@n}}}}}AJn{{AMb{c}}}}0{{{b{Af{AKn{ALf}}}}c}{{ABn{Cd}}}{{AMb{AKh}}}}{{{b{Af{AKn{ALf}}}}{b{Cj}}c}{{ABn{Cd}}}{AK`Bd}}{{{b{Af{AKn{ALf}}}}c}{{ABn{f}}}{{AMb{AKh}}}}{{{b{Af{AKn{ALf}}}}{b{Cj}}c}{{ABn{f}}}{AK`Bd}}44554555{{{b{Dn}}{b{AfEb}}}{{Cl{fEd}}}}0{{{b{AJj}}{b{AfEb}}}{{Cl{fEd}}}}0{{{b{AMd}}{b{AfEb}}}{{Cl{fEd}}}}{{{b{ALb}}{b{AfEb}}}{{Cl{fEd}}}}{{{b{AKd}}{b{AfEb}}}Eh}{{{b{ALf}}{b{AfEb}}}Eh}{{{b{ALh}}{b{AfEb}}}Eh}{{{b{{AKn{c}}}}{b{AfEb}}}EhEf}{{{b{{AJl{c}}}}{b{AfEb}}}Eh{AJnEf}}{{{b{ALj}}{b{AfEb}}}Eh}{{{b{ALl}}{b{AfEb}}}Eh}{b{{AMf{AMd}}}}{b{{AMf{ALb}}}}{{{b{Cj}}}{{Ib{{I`{Hn}}}}}}{cc{}}{Fjc{}}{cDn{hH`Hb}}22222222{AMh{{AJl{ALb}}}}33{{{b{Cj}}}{{Cl{{AJl{ALb}}c}}}{}}{{{b{Af{AKn{c}}}}{Mj{e}}}{{Ib{{I`{Hn}}}}}AL`Ad}{{{b{Af{AKn{c}}}}{AC`{e}}}{{Ib{{I`{Hn}}}}}AL`Ad}{{{b{Af{AKn{c}}}}e}{{Ib{{I`{Hn}}}}}AL`{{AAb{Ch}}H`}}{{{b{Af{AKn{c}}}}{ACd{e}}}{{Ib{{I`{Hn}}}}}AL`Ad}{{{b{ALj}}}{{Ib{{I`{Hn}}}}}}{{{b{Af{AKn{c}}}}}{{Ib{{I`{Hn}}}}}AL`}{b{{n{{b{Cj}}}}}}06{{{b{Af{AKn{c}}}}gCd}{{Ib{{I`{Hn}}}}}AL`Ad{{B`{{ACf{e}}}}H`Hb}}2{{{b{Af{AKn{c}}}}{Mh{e}}}{{Ib{{I`{Hn}}}}}AL`Ad}6{{{b{Af{AKn{c}}}}{ACj{eg}}}{{Ib{{I`{Hn}}}}}AL`Ad{{ACl{e}}}}97{{{b{ALj}}}{{n{AIn}}}}{{{b{Af{AKn{c}}}}An}{{Ib{{I`{Hn}}}}}AL`}{{{b{Af{AKn{c}}}}{AAd{e}}}{{Ib{{I`{Hn}}}}}AL`Ad}{{{b{Af{AKn{c}}}}{AD`{e}}}{{Ib{{I`{Hn}}}}}AL`Ad}{{{b{Af{AKn{c}}}}{ADb{e}}}{{Ib{{I`{Hn}}}}}AL`Ad}><{c{{Gl{ce}}}{GnH`Hb}{}}0{{{b{AfAKd}}{Mj{c}}}{{AKf{An}}}Ad}{{{AJl{ALb}}c}{{AJl{ALb}}}{{B`{An}}}}{{{AJl{c}}ABf}{{AJl{c}}}AJn}``{{}Ch}0000000000{{{b{Af{AKn{ALf}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AKn{ALf}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AKn{ALf}}}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}}{{{b{Af{AKn{ALf}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{{}c{}}0000000000{{{b{Dn}}}Db}{{}{{Cl{HhHj}}}}0000000000{{{b{Af{AKn{c}}}}g}{{AKf{{AAh{e}}}}}{}Ad{{B`{{Mj{e}}}}H`}}{{{b{Af{AKn{c}}}}}{{Ib{{I`{Hn}}}}}AL`}{{{AJl{c}}AMj}{{AJl{c}}}AJn}{{{b{ALj}}}{{b{AEb}}}}{{{AJl{c}}e}{{AJl{c}}}AJn{{AMl{}{{Md{AJj}}}}}}2{cDn{GnEfH`Hb}}{{{b{AJj}}}{{b{Cj}}}}{cDn{hH`Hb}}{{{AJl{c}}}{{AJl{c}}}AJn}{b{{n{{b{Cj}}}}}}0{{{b{AJj}}{b{AJj}}}{{n{Nd}}}}{{{AJl{ALb}}{b{Cj}}}{{AJl{ALb}}}}:{b}0000000000{{{AJl{ALb}}AJd}{{AJl{ALb}}}}{{{b{AJj}}}{{b{AMn}}}}{{{AM`{}{{ALn{c}}}}{b{Cj}}}{{Ib{{I`{Hn}}}}}AJn}0{{{AM`{}{{ALn{c}}}}{b{Cj}}{b{AN`}}}{{Ib{{I`{Hn}}}}}AJn}{{{b{ALj}}{b{AfALl}}}{{Ib{{I`{Hn}}}}}}{{{AJl{c}}AIn}{{Cl{{AJl{c}}Dn}}}AJn}{{{b{Cj}}}AKb}{{AKd{b{Cj}}}AKb}{{{b{Cj}}}{{ANb{c}}}ANd}{{AKd{b{Cj}}}{{ANb{c}}}ANd}{{{b{ALj}}}{{ABn{{AKn{ALh}}}}}}?>>{{{AKn{c}}}{{`{HnH`}}}AL`}{{{b{Dn}}}{{b{h}}}}{{{AJl{c}}e}{{AJl{c}}}AJn{{B`{An}}}}{{{b{AfAJj}}}f}{{{b{Af{AKn{ALf}}}}Ch}{{Ib{{I`{Hn}}}}}}{{{b{AfALj}}AIn}f}{{{b{Af}}}{{Ib{{I`{Hn}}}}}}0{{{b{AJj}}}{{n{{b{Cj}}}}}}`{{{b{Af{AKn{c}}}}}{{Ib{{I`{Hn}}}}}AL`}{{{b{ANf}}}{{Ib{{I`{Hn}}}}}}0`{{{AJl{ALb}}}{{AJl{ALb}}}}{bc{}}000{bAn}0{c{{Cl{e}}}{}{}}0000000000{{}{{Cl{c}}}{}}0000000000{bJl}0000000000{{{b{Cj}}{b{Cj}}}{{Cl{AJjANh}}}}{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AKn{ALf}}}}{b{Cj}}{ANj{{b{Cj}}}}ce}{{ABn{f}}}{{AMl{}{{Md{{b{Cj}}}}}}}AMl}{{{AJl{ALb}}{b{Cj}}}{{AJl{ALb}}}}{{{b{AJj}}}AMj}{{{b{Af{AKn{c}}}}g}{{Ib{{I`{Hn}}}}}AL`Ad{{B`{{Mj{e}}}}H`Hb}}{{}c{}}0000000000{{{b{ALj}}}{{ABn{{AKn{ALf}}}}}}``{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{ANl}}}{{AJl{ALb}}}}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{Chf}{{{b{AfANl}}}f}1{{{b{ANl}}{b{AfEb}}}Eh}{cc{}}0{{{b{ANl}}}An}{{}Ch}{{}ANl}1>>{{}{{Cl{HhHj}}}}01{b}0{{{b{ANl}}}AJd}88{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}0{{}c{}}0`````````````````````````````````````````````````````````````````````````````````````````````````````{{bd}f}000000000000000{{ANnANn}c{}}{b{{b{h}}}}00000000000000000000000``````````{b{{b{c}}}{}}0000000000000000000000000000000000{{{b{Af}}}{{b{Afc}}}{}}0000000000000000000000000000000000{AO`ANn}{{{b{AOb}}}AOb}{{{b{AOd}}}AOd}{{{b{AOf}}}AOf}{{{b{ANn}}}ANn}{{{b{{AC`{c}}}}}{{AC`{c}}}{BdAd}}{{{b{{AD`{c}}}}}{{AD`{c}}}{BdAd}}{{{b{{AOh{c}}}}}{{AOh{c}}}{BdAd}}{{{b{{AOj{c}}}}}{{AOj{c}}}{BdAd}}{{{b{AOl}}}AOl}{{{b{AOn}}}AOn}{{{b{B@`}}}B@`}{{{b{B@b}}}B@b}{{{b{B@d}}}B@d}{{{b{B@f}}}B@f}{{{b{B@h}}}B@h}{{{b{Fb}}}Fb}{{b{b{Afc}}}f{}}000000000000000{bf}000000000000000{{{b{AOf}}{b{AOf}}}Nd}{{b{b{c}}}Nd{}}````{{}{{ADb{c}}}Ad}{c{{Cl{{Of{eFbc}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}0000000000000000000000000000000000{Ch{{b{Afc}}}{}}0000000000000000000000000000000000{c{{Cl{AOb}}}Cn}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{c{{Cl{AOd}}}Cn}1{c{{Cl{AOf}}}Cn}{c{{Cl{ANn}}}Cn}333333{c{{Cl{AOl}}}Cn}4{c{{Cl{{B@j{e}}}}}CnAd}{c{{Cl{{B@l{e}}}}}CnAd}66{c{{Cl{B@n}}}Cn}7{c{{Cl{{BA`{e}}}}}CnAd}88{c{{Cl{{BAb{e}}}}}CnAd}99{c{{Cl{BAd}}}Cn}::{c{{Cl{BAf}}}Cn};{c{{Cl{BAh}}}Cn}<{c{{Cl{{BAj{e}}}}}CnAd}={c{{Cl{{BAl{e}}}}}CnAd}>{c{{Cl{AOn}}}Cn}{c{{Cl{B@`}}}Cn}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{c{{Cl{B@b}}}Cn}1{c{{Cl{B@d}}}Cn}2{c{{Cl{B@f}}}Cn}{c{{Cl{B@h}}}Cn}44{c{{Cl{Fb}}}Cn}{c{{Cl{{BAn{e}}}}}CnAd}6{c{{Cl{{BB`{e}}}}}CnAd}7{c{{Cl{{BBb{e}}}}}CnAd}8{c{{Cl{{BBd{e}}}}}CnAd}99{c{{Cl{{BBf{e}}}}}CnAd}{c{{Cl{{BBh{e}}}}}CnAd};{Chf}0000000000000000000000000000000000{{{b{AOf}}{b{AOf}}}Db}{{{b{ANn}}{b{ANn}}}Db}{{{b{{AC`{c}}}}{b{{AC`{c}}}}}Db{LlAd}}{{{b{{AD`{c}}}}{b{{AD`{c}}}}}Db{LlAd}}{{{b{{AOh{c}}}}{b{{AOh{c}}}}}Db{LlAd}}{{{b{{AOj{c}}}}{b{{AOj{c}}}}}Db{LlAd}}{{{b{AOl}}{b{AOl}}}Db}{{{b{{B@j{c}}}}{b{{B@j{c}}}}}Db{LlAd}}{{{b{{B@l{c}}}}{b{{B@l{c}}}}}Db{LlAd}}{{{b{Ff}}{b{Ff}}}Db}{{{b{B@n}}{b{B@n}}}Db}{{{b{{BA`{c}}}}{b{{BA`{c}}}}}Db{LlAd}}{{{b{{BAb{c}}}}{b{{BAb{c}}}}}Db{LlAd}}{{{b{{ACd{c}}}}{b{{ACd{c}}}}}Db{LlAd}}{{b{b{c}}}Db{}}0000000000000000000000000000000000000000000000000000000{AO`ANn}0``{{{b{{BCb{}{{BBj{c}}{BBl{e}}{BBn{g}}{BC`{i}}}}}}}e{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}{{{b{{BCb{}{{BBj{c}}{BBl{e}}{BBn{g}}{BC`{i}}}}}}}c{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}```{{{b{AOb}}{b{AfEb}}}Eh}0{{{b{AOd}}{b{AfEb}}}Eh}0{{{b{AOf}}{b{AfEb}}}Eh}0{{{b{ANn}}{b{AfEb}}}Eh}0{{{b{{AC`{c}}}}{b{AfEb}}}EhAd}{{{b{{AC`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AD`{c}}}}{b{AfEb}}}EhAd}{{{b{{AD`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AOh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AOj{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{AOl}}{b{AfEb}}}Eh}{{{b{{B@j{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{B@l{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{Ff}}{b{AfEb}}}Eh}0{{{b{B@n}}{b{AfEb}}}Eh}{{{b{{BA`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{ACd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BAd}}{b{AfEb}}}Eh}{{{b{{ADb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BAf}}{b{AfEb}}}Eh}{{{b{BAh}}{b{AfEb}}}Eh}{{{b{{BAj{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{AOn}}{b{AfEb}}}Eh}0{{{b{B@`}}{b{AfEb}}}Eh}0{{{b{B@b}}{b{AfEb}}}Eh}0{{{b{B@d}}{b{AfEb}}}Eh}0{{{b{B@f}}{b{AfEb}}}Eh}0{{{b{B@h}}{b{AfEb}}}Eh}0{{{b{Fb}}{b{AfEb}}}Eh}0{{{b{{BAn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BB`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBh{c}}}}{b{AfEb}}}Eh{EfAd}}{cc{}}00{AO`ANn}11111111{BCdFf}{BCfFf}33333333333{A`AOn}{FhAOn}55{FhB@`}{A`B@`}7{FhB@b}{A`B@b}{FfB@b}{FhB@d}{A`B@d}<{FhB@f}{B@dB@f}{B@`B@f}{AOnB@f}{A`B@f}{cc{}}{A`B@h}{FhB@h}22{{{B@j{c}}}{{BAn{c}}}Ad}3{{{ADn{{B@l{c}}}}}{{BB`{c}}}Ad}444{{{ADn{{BAb{c}}}}}{{BBd{c}}}Ad}{{{BAj{c}}}{{BBf{c}}}Ad}6{{{BAl{c}}}{{BBh{c}}}Ad}7{b{{A@d{{B@j{c}}}}}Ad}{b{{A@d{{B@l{c}}}}}Ad}`{{{b{ACb}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{ACb}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{ACb}}}{{Ib{{I`{Hn}}}}}}{{{b{ACb}}An}{{Ib{{I`{Hn}}}}}}{{{b{ACb}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{ACb}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad}````{c{{Gl{ce}}}{GnH`Hb}{}}0000000000000`````{{}}0000000{{}Ch}0000000000000000000000000000000000{{}c{}}0000000000000000000000000000000000{{}{{BCh{An}}}}{{{b{AOf}}}Db}00```{{}{{Cl{HhHj}}}}0000000000000000000000000000000000{{{b{{BCj{}{{BC`{c}}}}}}}c{BdEfJhMbH`HbLlLn}}{{{b{{BCb{}{{BBj{c}}{BBl{e}}{BBn{g}}{BC`{i}}}}}}}{{ADn{i}}}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}{{AOfAO`}ANn}````````{{{b{AOf}}{b{AOf}}}{{n{Nd}}}}{b}0000000000000000000000000000000000{{{b{{BCb{}{{BBj{c}}{BBl{e}}{BBn{g}}{BC`{i}}}}}}}g{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}```{{{b{{BCb{}{{BBj{c}}{BBl{e}}{BBn{g}}{BC`{i}}}}}}}c{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}````{{{b{AOb}}c}ClJj}{{{b{AOd}}c}ClJj}{{{b{AOf}}c}ClJj}{{{b{ANn}}c}ClJj}{{{b{AOl}}c}ClJj}{{{b{{B@j{c}}}}e}ClAdJj}{{{b{{B@l{c}}}}e}ClAdJj}{{{b{B@n}}c}ClJj}{{{b{{BA`{c}}}}e}ClAdJj}{{{b{{BAb{c}}}}e}ClAdJj}{{{b{BAd}}c}ClJj}{{{b{BAf}}c}ClJj}{{{b{BAh}}c}ClJj}{{{b{{BAj{c}}}}e}ClAdJj}{{{b{{BAl{c}}}}e}ClAdJj}{{{b{AOn}}c}ClJj}{{{b{B@`}}c}ClJj}{{{b{B@b}}c}ClJj}{{{b{B@d}}c}ClJj}{{{b{B@f}}c}ClJj}{{{b{B@h}}c}ClJj}{{{b{Fb}}c}ClJj}{{{b{{BAn{c}}}}e}ClAdJj}{{{b{{BB`{c}}}}e}ClAdJj}{{{b{{BBb{c}}}}e}ClAdJj}{{{b{{BBd{c}}}}e}ClAdJj}{{{b{{BBf{c}}}}e}ClAdJj}{{{b{{BBh{c}}}}e}ClAdJj}{{{b{AOf}}}Ch}```{{{b{Ff}}}{{n{{b{h}}}}}}{{{b{AOn}}}{{n{{b{h}}}}}}{{{b{B@`}}}{{n{{b{h}}}}}}{{{b{B@b}}}{{n{{b{h}}}}}}{{{b{B@d}}}{{n{{b{h}}}}}}{{{b{B@f}}}{{n{{b{h}}}}}}{{{b{B@h}}}{{n{{b{h}}}}}}{{{b{Fb}}}{{n{{b{h}}}}}}{{{b{AOn}}}Bb}{{{b{B@`}}}Bb}{{{b{B@b}}}Bb}{{{b{B@d}}}Bb}{{{b{B@f}}}Bb}{{{b{B@h}}}Bb}{{{b{Fb}}}Bb}{{ANnANn}c{}}```````{bc{}}000000000000000{bAn}0000000000000````{c{{Cl{e}}}{}{}}0{{{b{Cj}}}{{Cl{AOfc}}}{}}1111111{{{Ml{c}}}{{Cl{{B@j{c}}e}}}Ad{}}22{{{Ml{c}}}{{Cl{{B@l{c}}e}}}Ad{}}3333{{{Fd{{b{{Ml{c}}}}Ch}}}{{Cl{{BAb{c}}e}}}Ad{}}44444444444444444444{{}{{Cl{c}}}{}}0000000000000000000000000000000000{bJl}0000000000000000000000000000000000{AO`ANn}`{{}c{}}0000000000000000000000000000000000`````{{bd}f}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{{BCl{ce}}}}}{{BCl{ce}}}{}{}}{{b{b{Afc}}}f{}}{bf}{{}{{BCl{ce}}}{}{}}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{Chf}{{{b{{BCl{ce}}}}{b{AfEb}}}Eh{}{}}{cc{}}{{}Ch}>{{}{{Cl{HhHj}}}}{b}``{{BCnc}f{}}{{BD`c}{{`{{Hn{}{{Id{f}}}}H`}}}{}}{{{b{{BCl{eg}}}}eik}f{}{{BDb{c}}}BD`{{BDd{ce}}}{{AMl{}{{Md{g}}}}H`}}{bc{}}{c{{Cl{e}}}{}{}}{{}{{Cl{c}}}{}}{bJl}{{}c{}}{{{BCl{ce}}{Dl{BDf}}}{{BCl{ce}}}{}{}}{{{BCl{ce}}ABf}{{BCl{ce}}}{}{}}`````{{bd}f}000{{{b{{BDh{c}}}}}f{}}{b{{b{c}}}{}}000{{{b{Af}}}{{b{Afc}}}{}}000{{{b{{BDj{c}}}}}{{BDj{c}}}Ad}{{{b{{BDl{c}}}}}{{BDl{c}}}{BdJf}}{{{b{{BDh{c}}}}}{{BDh{c}}}{}}{{{b{BDn}}}BDn}{{b{b{Afc}}}f{}}000{bf}000{{}{{BDj{c}}}Ad}{{}BDn}{Ch{{b{c}}}{}}000{Ch{{b{Afc}}}{}}000{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}000{Chf}000>{{{b{BDd}}e}{{Ib{{I`{Hn}}}}}{}{{BDb{c}}}}{{{b{{BDj{c}}}}BE`}{{Ib{{I`{Hn}}}}}Ad}{{{b{{BDj{c}}}}BEb}{{Ib{{I`{Hn}}}}}Ad}{{{b{{BDj{c}}}}BEd}{{Ib{{I`{Hn}}}}}Ad}{{{b{{BDl{c}}}}BE`}{{Ib{{I`{Hn}}}}}Jf}{{{b{{BDl{c}}}}BEb}{{Ib{{I`{Hn}}}}}Jf}{{{b{{BDl{c}}}}BEd}{{Ib{{I`{Hn}}}}}Jf}{{{b{{BDh{g}}}}e}{{Ib{{I`{Hn}}}}}Ad{{BDb{c}}}{{BDd{ce}}Hb}}{{{b{BDn}}e}{{Ib{{I`{Hn}}}}}{}{H`{BDb{c}}}}{{{b{{BDj{c}}}}{b{AfEb}}}EhAd}{{{b{{BDl{c}}}}{b{AfEb}}}Eh{EfJf}}{{{b{{BDh{c}}}}{b{AfEb}}}EhEf}{{{b{BDn}}{b{AfEb}}}Eh}{cc{}}000{{}Ch}000{{}c{}}000{{}{{Cl{HhHj}}}}000{{BEfc}{{BDl{c}}}Jf}{c{{BDh{c}}}{}}{b}000{bc{}}000{c{{Cl{e}}}{}{}}000{{}{{Cl{c}}}{}}000{bJl}000{{{b{{BDh{c}}}}}f{}}09999{{{BDj{c}}e}{{BDj{c}}}Ad{{BDd{cBE`}}Ef}}{{{BDj{c}}e}{{BDj{c}}}Ad{{BDd{cBEd}}Ef}}{{{BDj{c}}e}{{BDj{c}}}Ad{{AFh{c}}Ef}}{{{BDj{c}}e}{{BDj{c}}}Ad{{BDd{cBEb}}Ef}}`````{{bd}f}00{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{BE`}}}BE`}{{{b{BEb}}}BEb}{{{b{BEd}}}BEd}{{b{b{Afc}}}f{}}00{bf}00{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{Chf}00{{{b{BE`}}{b{BE`}}}Db}{{{b{BEb}}{b{BEb}}}Db}{{{b{BEd}}{b{BEd}}}Db}{{b{b{c}}}Db{}}00000000000{{{b{BE`}}{b{AfEb}}}Eh}{{{b{BEb}}{b{AfEb}}}Eh}{{{b{BEd}}{b{AfEb}}}Eh}{cc{}}00{ChBEd}{{{b{c}}{b{e}}}Cd{GdGf}Gh}00{{{b{BE`}}{b{Afc}}}fGj}{{{b{BEb}}{b{Afc}}}fGj}{{{b{BEd}}{b{Afc}}}fGj}{{}Ch}00{{}c{}}00{{}{{Cl{HhHj}}}}00{b}00{bc{}}00{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00666`````````````````{{bd}f}0`{b{{b{h}}}}00{{{b{F`}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{F`}}}{{n{{b{h}}}}}}{{{b{{ACj{ce}}}}}{{ACj{ce}}}Ad{{ACl{c}}}}{{{b{F`}}}F`}{{b{b{Afc}}}f{}}0{bf}0{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}NdAd{{ACl{c}}}}{{b{b{c}}}Nd{}}{{}BEh}{{{b{BEh}}}{{Cl{{Of{cF`e}}Oh}}}{H`HbOj}Jf}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{{b{F`}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{c{{Cl{F`}}}Cn}{Chf}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}DbAd{{ACl{c}}}}{{b{b{c}}}Db{}}000`{{{b{{ACj{ce}}}}{b{AfEb}}}EhAd{{ACl{c}}}}0{{{b{F`}}{b{AfEb}}}Eh}0{cc{}}0{{{Fd{AnBb}}}F`}1{A`F`}{A@bF`}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{ACh}}}{{Ib{{I`{Hn}}}}}}{{{b{ACn}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}}{{{b{{ACj{ce}}}}{b{Afg}}}fAd{{ACl{c}}}Gj}{c{{Gl{ce}}}{GnH`Hb}{}}0{{}{{b{Cj}}}}{{}}{{}Ch}00{{{b{AfAE`}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}}{{{b{Af{ACl{}{{BEj{c}}{BEl{e}}{BEn{g}}{BF`{i}}{BFb{k}}}}}}c{b{{ADl{ecg}}}}}{{ABn{f}}}{BFdH`HbJhBFfBFhMbGnBFjBFl}{BFnH`HbJhMbBFjBFl}{BG`H`}{{BGb{g}}H`{BGf{{b{BGd}}}}GnEf{B`{BGd}}}{{BGh{ecg}}}}{{}c{}}00{{}{{Cl{HhHj}}}}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}{{n{Nd}}}Ad{{ACl{c}}}}{b}00{{{b{F`}}c}ClJj}{{{b{AfAE`}}Ch}{{Ib{{I`{Hn}}}}}}{{{b{F`}}}{{n{{b{h}}}}}};{{{b{F`}}}Bb}{bc{}}0{bAn}0<{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00<<<````````````````{{bd}f}0000000{{{b{BGj}}Ch}f}{{{b{BGl}}BGn}f}{b{{b{h}}}}00{{{b{BH`}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00000000{{{b{Af}}}{{b{Afc}}}{}}00000000{{{b{BH`}}}{{n{{b{h}}}}}}{{{b{AEb}}}AEb}{{{b{BGj}}}BGj}{{{b{BHb}}}BHb}{{{b{BGl}}}BGl}{{{b{BHd}}}BHd}{{{b{BHf}}}BHf}{{{b{BHh}}}BHh}{{{b{BHj}}}BHj}{{b{b{Afc}}}f{}}0000000{bf}0000000{{{b{AEb}}An{ADn{An}}}{{I`{BHl}}}}{{{b{BHd}}{ADn{An}}}{{I`{BHn}}}}{{{b{BHf}}{ADn{An}}}{{I`{BI`}}}}{{{b{BHh}}{ADn{An}}}{{I`{BIb}}}}{{{b{BHj}}{ADn{An}}}f}{{{b{AEb}}An{n{An}}}{{I`{BHn}}}}{{{b{AEb}}An{n{An}}}{{I`{BI`}}}}{{{b{AEb}}An{n{An}}}{{I`{BIb}}}}{{{b{AEb}}An}f}{{}AEb}{Ch{{b{c}}}{}}00000000{Ch{{b{Afc}}}{}}00000000{{{b{BH`}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00000000{Chf}00000000{{{b{AEb}}}{{Cl{Anc}}}{}}{{{b{BH`}}{b{AfEb}}}Eh}0{{{b{AEb}}{b{AfEb}}}Eh}{{{b{BGj}}{b{AfEb}}}Eh}{{{b{BHb}}{b{AfEb}}}Eh}{{{b{BGl}}{b{AfEb}}}Eh}{{{b{BHd}}{b{AfEb}}}Eh}{{{b{BHf}}{b{AfEb}}}Eh}{{{b{BHh}}{b{AfEb}}}Eh}{{{b{BHj}}{b{AfEb}}}Eh}{BIdBH`}{cc{}}00000000{{{b{AEb}}An{ADn{An}}}{{I`{BIf}}}}{{{b{AEb}}{b{Cj}}}{{Cl{BHfBH`}}}}{{{b{BGj}}}Ch}{{{b{BHb}}}Ch}{{{b{BHd}}{b{{AN`{c}}}}}BGj{{BIh{Cj}}}}{{{b{BHf}}{b{{AN`{c}}}}}BHb{{BIh{Cj}}}}{{{b{BHh}}{b{{AN`{c}}}}}BGl{{BIh{Cj}}}}{{{b{AEb}}{b{Cj}}}{{Cl{BGjBH`}}}}{{{b{AEb}}{b{Cj}}}{{Cl{BHdBH`}}}}{{{b{AEb}}{b{Cj}}}{{Cl{BHbBH`}}}}{{{b{AEb}}{b{Cj}}}{{Cl{BGlBH`}}}}{{{b{AEb}}{b{Cj}}}{{Cl{BHhBH`}}}}{{{b{AEb}}c}{{Cl{AEbBH`}}}AMl}{c{{Gl{ce}}}{GnH`Hb}{}}{{{b{AEb}}An{ADn{An}}}{{I`{BIj}}}}{{}}{{}Ch}00000000{{}c{}}00000000{{}{{Cl{HhHj}}}}00000000{{{b{BGl}}}BGn}{b}00000000{{{b{BGl}}}Ch}{{{b{BHb}}Ch}f}{{{b{BH`}}}{{n{{b{h}}}}}}{{{b{AEb}}An}{{I`{AEf}}}}5{{{b{AEb}}An{ADn{An}}}{{I`{BIl}}}}{bc{}}0000000{bAn}{c{{Cl{e}}}{}{}}00000000{{}{{Cl{c}}}{}}00000000{bJl}00000000{{{b{BHb}}BIn}f}>>>>>>>>>`````````````````````````{{bd}f}00000000`{b{{b{h}}}}00{{{b{Ej}}}{{n{{b{l}}}}}}`{{{b{In}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}000000000{{{b{Af}}}{{b{Afc}}}{}}000000000{{{BJ`{ce}}}Ej{{B`{An}}}{{B`{Bb}}}}{{{b{Ej}}}{{n{{b{h}}}}}}{{{b{{ACf{c}}}}}{{ACf{c}}}Ad}{{{b{BJb}}}BJb}{{{b{{BJd{c}}}}}{{BJd{c}}}Bd}{{{b{BJf}}}BJf}{{{b{BJh}}}BJh}{{{b{{BJj{c}}}}}{{BJj{c}}}Bd}{{{b{{BJl{ce}}}}}{{BJl{ce}}}BdBd}{{{b{{BJ`{ce}}}}}{{BJ`{ce}}}BdBd}{{{b{Ej}}}Ej}{{b{b{Afc}}}f{}}00000000{bf}00000000{{{b{BJb}}{b{BJb}}}Nd}{{b{b{c}}}Nd{}}{{{b{In}}}{{Ib{{I`{Hn}}}}}}{{}{{BJd{c}}}{}}{{}BJn}{{{b{BJn}}c}{{Cl{{Of{eEjc}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}000000000{Ch{{b{Afc}}}{}}000000000{{{b{Ej}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{c{{Cl{BJb}}}Cn}{c{{Cl{{BJd{e}}}}}CnBK`}22222222{c{{Cl{Ej}}}Cn}{Chf}000000000`{{{b{BJb}}{b{BJb}}}Db}{{{b{{BJd{c}}}}{b{{BJd{c}}}}}DbLl}{{b{b{c}}}Db{}}0000000`{{{BJ`{ce}}}{{Cl{gEj}}}{{B`{An}}}{{B`{Bb}}}{}}{{{b{{ACf{c}}}}{b{AfEb}}}EhAd}{{{b{BJb}}{b{AfEb}}}Eh}{{{b{{BJd{c}}}}{b{AfEb}}}EhEf}{{{b{BJf}}{b{AfEb}}}Eh}{{{b{BJh}}{b{AfEb}}}Eh}{{{b{{BJj{c}}}}{b{AfEb}}}EhEf}{{{b{{BJl{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{BJ`{ce}}}}{b{AfEb}}}EhEfEf}{{{b{Ej}}{b{AfEb}}}Eh}0{cc{}}{{{Kb{c}}}{{ACf{c}}}Ad}11{{{b{{BJd{c}}}}}{{n{Cd}}}BKb}222222{A`Ej}{A@bEj}{{{Fd{AnBb}}}Ej}5{{}BJb}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{In}}eCd}{{Ib{{I`{Hn}}}}}Ad{{B`{{ACf{c}}}}H`Hb}}{{{b{BJb}}{b{Afc}}}fGj}{c{{Gl{ce}}}{GnH`Hb}{}}{{}}{{}Ch}000000000{cEjGn}{{}c{}}000000000{{BJfc}Ej{}}{{BJhc}Ej{}}{{{BJj{c}}e}Ej{{B`{An}}}{}}{{{BJl{ce}}g}Ej{{B`{An}}}{{B`{Cd}}}{}}{{{BJ`{ce}}g}Ej{{B`{An}}}{{B`{Bb}}}{}}{{{b{BJb}}}Db}{{}{{Cl{HhHj}}}}000000000``````{{{b{BJb}}{b{BJb}}}{{n{Nd}}}}{{{b{In}}}{{Ib{{I`{Hn}}}}}}{b}000000000``{{{b{BJb}}c}ClJj}{{{b{{BJd{c}}}}e}ClJhJj}{{{b{Ej}}c}ClJj}{{{b{Ej}}}{{n{{b{h}}}}}}`{{{b{Ej}}}Bb}`6{bc{}}00000000{bAn}{c{{Cl{e}}}{}{}}000000000{{}{{Cl{c}}}{}}000000000{bJl}000000000{{{b{In}}e}{{Ib{{I`{Hn}}}}}Ad{{B`{{Mj{c}}}}H`Hb}}{{}c{}}000000000`````````````````{{bd}f}`{b{{b{h}}}}00{{{b{En}}}{{n{{b{l}}}}}}{{{b{J`}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{En}}}{{n{{b{h}}}}}}{{{b{En}}}En}{{b{b{Afc}}}f{}}{bf}{{{b{J`}}}{{AKf{AEb}}}}0{{}BKd}{{{b{BKd}}c}{{Cl{{Of{eEnc}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{{b{En}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{c{{Cl{En}}}Cn}{Chf}0??`{{{b{En}}{b{AfEb}}}Eh}0{cc{}}{AnEn}1{A@bEn}{c{{Gl{ce}}}{GnH`Hb}{}}{{}}{{}Ch}0{{}c{}}0{{}{{Cl{HhHj}}}}0{{{b{AEd}}}{{b{AEb}}}}{b}0{{{b{BKf}}}{{I`{AEf}}}}{{{b{En}}c}ClJj}{{{b{En}}}{{n{{b{h}}}}}}{{{b{En}}}Bb}{{{b{J`}}}{{Ib{{I`{Hn}}}}}}0{bc{}}{bAn}{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}0==````{{bd}f}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{BKh}}}BKh}{{b{b{Afc}}}f{}}{bf}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{Chf}{{{b{Af{BKj{c}}}}}fH`}1{{{b{BKh}}{b{AfEb}}}Eh}{{{b{{BKj{c}}}}{b{AfEb}}}EhH`}{cc{}}0{{}Ch}0{{}c{}}0{{{BKj{c}}}cH`}{{}{{Cl{HhHj}}}}0{b}0{{ce}BKhGn{HnH`}}{{cg}{{BKj{e}}}GnH`{{Hn{}{{Id{e}}}}H`}}{bc{}}{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}099``{{}f}{ABff}```````{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{Ch{{Ib{{I`{Hn}}}}}}{{{b{{AIl{c}}}}}cBKl}{{{b{{AIl{c}}}}Ch}cBKl}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{{{b{Af{AIl{c}}}}}fBKl}{Chf}{cc{}}{{{b{{AIl{c}}}}}{{b{{Ij{ADdBKnBL`}}}}}BKl}{{{b{{BKl{}{{BLb{c}}}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}{H`Hb}}{{}{{AIl{c}}}{BKlBKf}}{{}Ch}{c{{AIl{e}}}{{Ih{{b{Af{BLf{BLd}}}}}}}{BKlBKf}}{{}c{}}{{}{{Cl{HhHj}}}}{{{b{{AIl{c}}}}}ChBKl}{b}{{{b{{AIl{c}}}}Ch}{{BLh{ADd}}}BKl}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AIl{{BKl{}{{BLb{c}}}}}}}}}{{Ib{{I`{Hn}}}}}{H`Hb}}{{{AIl{c}}}fBKl}{{{b{Af{AIl{c}}}}eg}fBKlGn{HnH`}}{{{b{Af{AIl{c}}}}}fBKl}{{{b{{AIl{c}}}}}bBKl}{{{b{{AIl{c}}}}BLj}fBKl}{c{{Cl{e}}}{}{}}{{}{{Cl{c}}}{}}{bJl}>`````````````{{bd}f}00``{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00`{{{b{ADd}}}ADd}{{{b{BL`}}}BL`}{{{b{BKn}}}BKn}{{b{b{Afc}}}f{}}00{bf}00{{{b{ADd}}{b{ADd}}}Nd}{{{b{BKn}}{b{BKn}}}Nd}{{b{b{c}}}Nd{}}0`{{}ADd}{{}BKn}`{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{c{{Cl{ADd}}}Cn}11{c{{Cl{BKn}}}Cn}{Chf}00{{{b{ADd}}{b{ADd}}}Db}{{{b{BKn}}{b{BKn}}}Db}{{b{b{c}}}Db{}}0000000{{{b{BLl}}}c{}}0{{{b{ADd}}{b{AfEb}}}Eh}{{{b{BL`}}{b{AfEb}}}Eh}{{{b{BKn}}{b{AfEb}}}Eh}{cc{}}00{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{ADd}}{b{Afc}}}fGj}{{{b{BKn}}{b{Afc}}}fGj}{{}{{b{Cj}}}}{{{b{BLl}}}Cd}{{}Ch}00{{{b{AfBLn}}c{b{{ADl{ecg}}}}}{{ABn{f}}}{}{}{}}{{}c{}}00{{{b{BM`}}{b{c}}}e{}{}}`{{}{{Cl{HhHj}}}}00{{{b{BM`}}{b{c}}}Ch{}}`{{{ADn{BMb}}}BLj}{{{b{BLj}}}c{}}{{{b{BLl}}}{{ADn{c}}}{}}{{{b{ADd}}{b{ADd}}}{{n{Nd}}}}{{{b{BKn}}{b{BKn}}}{{n{Nd}}}}`{b}00`{{{b{BLl}}}c{}}`0{{{b{ADd}}c}ClJj}{{{b{BKn}}c}ClJj}`{{}{{b{Cj}}}}{{{b{BLl}}}Cd}`{bc{}}00{{{b{BM`}}{b{c}}{b{e}}}{{n{{Fd{gi}}}}}{}{}{}{}}`{{}Ch}{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00```{{}c{}}00`{{{b{BKb}}}Cd}","D":"EGb","p":[[1,"reference"],[5,"Private",4371],[1,"unit"],[10,"Error",4372],[6,"Error",0,4373],[5,"Backtrace",4374],[6,"Option",4375],[6,"QueryError",0],[5,"Leaf",0,4376],[10,"NodeType",4377],[0,"mut"],[5,"NotFoundSnafu",0],[5,"MissingSnafu",0],[5,"ErrorSnafu",0],[5,"String",4378],[10,"Into",4379],[5,"StatusCode",4380],[10,"Clone",4381],[5,"ApiState",0],[5,"UpgradeLock",4382],[5,"Commitment",4383],[10,"Versions",4377],[10,"Resolvable",0,4384],[10,"Committable",4383],[10,"RngCore",4385],[1,"u64"],[5,"Options",0],[1,"usize"],[1,"str"],[6,"Result",4386],[10,"Deserializer",4387],[5,"With",4388],[1,"bool"],[5,"UpgradeProposalData",4389],[5,"UpgradeThreshold",4390],[5,"SimpleCertificate",4390],[5,"RwLock",4391],[5,"Arc",4392],[5,"Error",1650,4393],[6,"BlockError",4376],[5,"Formatter",4394],[5,"Error",4394],[10,"Debug",4394],[8,"Result",4394],[6,"Error",3768],[6,"Error",316],[6,"Error",4074],[6,"Error",3402],[6,"Error",2091],[1,"tuple"],[6,"TimestampConversionError",2091,4395],[6,"Error",4396],[1,"never"],[5,"OwnedFd",4397],[10,"IntoFilelike",4398],[10,"IntoSocketlike",4398],[5,"QuorumProposal",4376],[10,"Hash",4399],[10,"Sized",4400],[10,"BuildHasher",4399],[10,"Hasher",4399],[5,"IndentedSection",4401],[10,"Display",4394],[10,"Send",4400],[10,"Sync",4400],[5,"QuorumData",4389],[5,"SuccessThreshold",4390],[5,"Layout",4402],[5,"LayoutError",4402],[5,"DynGuard",4403],[10,"Future",4404],[5,"Box",4405],[5,"Pin",4406],[17,"Output"],[8,"BoxFuture",4407],[10,"FnOnce",4408],[5,"SystemContextHandle",4409],[10,"AvailabilityDataSource",316,4410],[10,"NodeDataSource",3768,4411],[10,"StatusDataSource",4074,4412],[10,"VersionedDataSource",1001,4413],[10,"NodeImplementation",4377],[10,"StaticVersionType",4414],[10,"Serialize",4415],[10,"Serializer",4415],[5,"TypeId",4416],[5,"InconsistentLeafError",316,4417],[5,"LeafQueryData",316,4417],[8,"BlockHash",316,4417],[5,"PayloadQueryData",316,4417],[5,"VidCommonQueryData",316,4417],[5,"TransactionQueryData",316,4417],[5,"FetchLeafSnafu",316],[5,"FetchBlockSnafu",316],[5,"FetchTransactionSnafu",316],[5,"InvalidTransactionIndexSnafu",316],[5,"CustomSnafu",316],[17,"TransactionIndex"],[17,"Iter"],[17,"InclusionProof"],[10,"QueryablePayload",316,4417],[10,"PartialEq",4418],[10,"Eq",4418],[10,"Ord",4418],[10,"DeserializeOwned",4387],[17,"Item"],[10,"Iterator",4419],[6,"LeafId",316,4410],[6,"BlockId",316,4410],[5,"BlockQueryData",316,4417],[5,"BlockSummaryQueryData",316,4417],[5,"TransactionSummaryQueryData",316,4417],[5,"RequestSnafu",316],[6,"Ordering",4418],[8,"VidCommon",0,4420],[6,"Fetch",316,4421],[10,"ErrorCompat",4422],[17,"Source"],[5,"NoneError",4422],[10,"IntoError",4422],[8,"Payload",0],[5,"Options",316],[5,"Api",4423],[6,"ApiError",4423],[10,"ReadState",4424],[8,"TransactionIndex",316,4417],[8,"Transaction",0],[8,"LeafHash",316,4417],[6,"RequestError",4425],[8,"Result",4396],[17,"LeafRange"],[17,"BlockRange"],[17,"PayloadRange"],[17,"VidCommonRange"],[10,"Stream",4426],[10,"Unpin",4400],[10,"RangeBounds",4427],[8,"TransactionHash",316,4417],[8,"VidCommitment",0,4420],[8,"Header",0],[10,"UpdateAvailabilityData",316,4410],[8,"VidShare",0,4420],[8,"Metadata",0],[8,"QuorumCertificate",4390],[8,"TransactionInclusionProof",316,4417],[10,"QueryableHeader",316,4417],[5,"Duration",4428],[5,"ExtensibleDataSource",1001,4429],[5,"MetricsDataSource",1001,4430],[10,"Transaction",1001,4413],[8,"Result",4393],[6,"BlockIdentifier",2091,4395],[10,"ExplorerDataSource",2091,4431],[5,"GetBlockSummariesRequest",2091,4395],[6,"WindowStart",3768,4411],[10,"MerklizedStateHeightPersistence",3402,4432],[6,"Snapshot",3402,4432],[10,"MerklizedState",3402,4432],[10,"MerklizedStateDataSource",3402,4432],[6,"TransactionIdentifier",2091,4395],[5,"GetTransactionSummariesRequest",2091,4395],[5,"MockTypes",4235],[5,"Event",4433],[10,"TestableDataSource",4195],[10,"Default",4434],[5,"MerkleProof",4435],[5,"Vec",4436],[10,"UpdateStateData",3402,4432],[5,"PrometheusMetrics",3522],[10,"HasMetrics",4074,4412],[10,"Metrics",4437],[17,"Transaction"],[17,"ReadOnly"],[10,"UpdateDataSource",1001,4413],[5,"Transaction",1120,4438],[5,"FetchingDataSource",1120],[10,"NodeStorage",1319],[5,"Builder",1120],[10,"PruneStorage",1604],[10,"AvailabilityProvider",1120],[5,"Pruner",1120],[8,"Config",1301],[8,"Builder",1301],[5,"Path",4439],[5,"FileSystemStorage",1355],[5,"AtomicStoreLoader",4440],[10,"AvailabilityStorage",1319],[10,"ExplorerStorage",1319],[10,"MerklizedStateHeightStorage",1319],[10,"MerklizedStateStorage",1319],[10,"PrunedHeightStorage",1604],[8,"FileSystemDataSource",1281],[8,"SqlDataSource",1301],[5,"Transaction",1355],[10,"Revert",1355],[17,"Target"],[5,"FileSystemStorageInner",1355],[10,"Deref",4441],[5,"RwLockReadGuard",4391],[5,"RwLockWriteGuard",4391],[6,"PersistenceError",4442],[5,"Transaction",1441],[5,"NoStorage",1441],[6,"Transaction",1506],[6,"DataSource",1506],[5,"MockNetwork",4195],[5,"PrunerCfg",1604],[17,"Pruner"],[10,"PrunerConfig",1604],[1,"u16"],[1,"i32"],[5,"OffsetDateTime",4443],[5,"Migration",1650,4444],[5,"Config",1650],[10,"Database",1650,4445],[10,"Params",1650,4446],[8,"Query",1650,4446],[5,"QueryBuilder",1650,4447],[8,"QueryResult",0],[8,"Db",1650,4448],[10,"Encode",4449],[10,"Type",4450],[5,"Transaction",1650,4446],[10,"TransactionMode",1650,4446],[5,"Postgres",1650,4451],[5,"Chain",4393],[5,"Write",1650,4446],[5,"Read",1650,4446],[5,"SqlStorage",1650],[5,"Pruner",1650],[17,"Database"],[10,"Executor",1650,4452],[10,"Execute",4452],[5,"Sqlite",1650,4453],[5,"FmtValue",4454],[5,"PgConnectOptions",4455],[1,"u32"],[10,"IntoIterator",4456],[6,"Type",4444],[1,"slice"],[8,"QueryAs",1650,4446],[10,"FromRow",4457],[5,"TestArgs",4458],[5,"Error",4459],[1,"array"],[5,"TmpDb",2050],[5,"MonetaryValue",2091,4460],[1,"i128"],[5,"CurrencyMismatchError",2091,4461],[5,"InvalidCurrencyCodeError",2091,4461],[6,"CurrencyCode",2091,4461],[5,"BlockRange",2091,4395],[5,"TransactionRange",2091,4395],[5,"Timestamp",2091,4395],[6,"GetBlockDetailError",2091,4395],[6,"GetBlockSummariesError",2091,4395],[6,"GetTransactionDetailError",2091,4395],[6,"GetTransactionSummariesError",2091,4395],[6,"GetExplorerSummaryError",2091,4395],[6,"GetSearchResultsError",2091,4395],[5,"BlockDetail",2091,4395],[5,"BlockSummary",2091,4395],[5,"FeeAttribution",2091,4395],[5,"TransactionDetail",2091,4395],[5,"TransactionSummary",2091,4395],[6,"TransactionSummaryFilter",2091,4395],[5,"GenesisOverview",2091,4395],[5,"ExplorerHistograms",2091,4395],[5,"ExplorerSummary",2091,4395],[5,"SearchResult",2091,4395],[5,"BlockDetailResponse",2091],[5,"BlockSummaryResponse",2091],[5,"TransactionDetailResponse",2091],[5,"TransactionSummariesResponse",2091],[5,"ExplorerSummaryResponse",2091],[5,"SearchResultResponse",2091],[17,"BalanceAmount"],[17,"WalletAddress"],[17,"ProposerId"],[17,"NamespaceId"],[10,"ExplorerHeader",2091,4462],[5,"TryFromIntError",4463],[5,"ComponentRange",4464],[6,"Resettable",4465],[10,"ExplorerTransaction",2091,4462],[5,"Fetcher",3168],[10,"LocalCallback",3168],[10,"Callback",3168],[10,"Request",3312],[10,"Provider",3202],[5,"Semaphore",4466],[5,"TestProvider",3202,4467],[5,"AnyProvider",3202,4468],[5,"QueryServiceProvider",3202,4469],[5,"NoFetching",3202],[5,"PayloadRequest",3312],[5,"VidCommonRequest",3312],[5,"LeafRequest",3312],[5,"Url",4470],[5,"Options",3402],[17,"Key"],[17,"Entry"],[17,"T"],[17,"Commit"],[17,"Digest"],[10,"Index",4471],[10,"ToTraversalPath",4471],[10,"FromStr",4472],[10,"CanonicalSerialize",4473],[10,"CanonicalDeserialize",4473],[10,"Element",4471],[10,"NodeValue",4471],[10,"MerkleCommitment",4471],[5,"TaggedBase64",4474],[10,"TryFrom",4379],[10,"DigestAlgorithm",4471],[5,"Counter",3522],[5,"Histogram",3522],[1,"f64"],[6,"MetricsError",3522],[5,"Gauge",3522],[5,"CounterFamily",3522],[5,"GaugeFamily",3522],[5,"HistogramFamily",3522],[5,"TextFamily",3522],[10,"CounterFamily",4437],[10,"Counter",4437],[10,"Gauge",4437],[10,"Histogram",4437],[6,"Error",4475],[10,"GaugeFamily",4437],[10,"AsRef",4379],[10,"HistogramFamily",4437],[10,"TextFamily",4437],[1,"i64"],[5,"CustomSnafu",3768],[5,"SyncStatus",3768,4476],[5,"TimeWindowQueryData",3768,4476],[5,"RequestSnafu",3768],[5,"QuerySnafu",3768],[5,"QueryVidSnafu",3768],[5,"QueryWindowSnafu",3768],[5,"Options",3768],[10,"Deserialize",4387],[10,"HeightIndexed",4369],[5,"Options",4074],[10,"UpdateStatusData",4074,4412],[5,"BackgroundTask",4148],[5,"Task",4148],[10,"DataSourceLifeCycle",4195],[5,"MockNodeImpl",4235],[5,"MockVersions",4235],[17,"Storage"],[8,"BLSPubKey",4477],[5,"HotShotConfig",4478],[8,"SignatureKey",0],[8,"MockTransaction",4235],[8,"MockHeader",4235],[8,"MockMerkleTree",4235],[8,"MockPayload",4235],[1,"u8"],[15,"Custom",308],[15,"Availability",308],[15,"Node",308],[15,"Status",308],[15,"MerklizedState",308],[15,"Explorer",308],[15,"Error",315],[15,"InvalidTransactionIndex",993],[15,"Custom",993],[15,"FetchLeaf",993],[15,"FetchBlock",993],[15,"FetchTransaction",993],[15,"Request",993],[6,"Storage",1506],[15,"NoStorage",1603],[5,"TestMerkleTreeMigration",2050],[15,"Custom",3518],[15,"Request",3518],[15,"Query",3518],[15,"NoSuchMetric",3764],[15,"NoSuchSubgroup",3764],[15,"Prometheus",3764],[15,"QueryVid",4065],[15,"QueryWindow",4065],[15,"Custom",4065],[15,"Request",4065],[15,"Query",4065],[15,"Internal",4146],[15,"Request",4146],[8,"MockQuorumProposal",4235],[8,"MockStorage",4235],[8,"MockAuctionResults",4235]],"r":[[4,4373],[9,4376],[22,4384],[26,4420],[27,4420],[28,4420],[316,4410],[317,4417],[318,4410],[319,4417],[321,4417],[325,4421],[335,4417],[339,4417],[340,4410],[341,4417],[347,4417],[350,4417],[351,4417],[355,4417],[356,4417],[357,4417],[358,4417],[360,4417],[361,4417],[362,4410],[363,4417],[1001,1120],[1002,4429],[1003,1120],[1004,1281],[1005,4430],[1007,1301],[1008,4413],[1010,4413],[1011,4413],[1124,4438],[1282,1355],[1303,4393],[1304,4444],[1305,4451],[1307,4446],[1314,0],[1317,2050],[1321,1355],[1324,1441],[1326,1650],[1655,4445],[1657,4448],[1658,4393],[1659,4452],[1660,4446],[1661,4444],[1663,4446],[1664,4451],[1666,4446],[1667,4446],[1668,4447],[1670,4446],[1673,4453],[1675,4446],[1677,4446],[1682,4446],[1897,4479],[1898,0],[1970,4446],[1972,4446],[2091,4395],[2094,4395],[2096,4395],[2097,4395],[2099,4395],[2100,4395],[2105,4461],[2106,4461],[2111,4431],[2112,4462],[2113,4395],[2114,4395],[2116,4462],[2117,4395],[2121,4395],[2123,4395],[2126,4395],[2128,4395],[2130,4395],[2132,4395],[2134,4395],[2136,4395],[2138,4395],[2144,4461],[2151,4460],[2155,4395],[2164,4395],[2169,4395],[2170,4395],[2173,4395],[2175,4395],[2176,4395],[2178,4395],[2180,4395],[2181,4395],[2189,4395],[3171,3202],[3172,3312],[3202,4468],[3205,4469],[3206,4467],[3410,4432],[3411,4432],[3412,4432],[3416,4432],[3418,4432],[3768,4417],[3769,4410],[3775,4411],[3785,4476],[3787,4476],[3788,4411],[4075,4412],[4079,4412],[4080,4412]],"b":[[92,"impl-Leaf%3CTYPES%3E"],[93,"impl-Committable-for-Leaf%3CTYPES%3E"],[150,"impl-Display-for-Leaf%3CTYPES%3E"],[151,"impl-Debug-for-Leaf%3CTYPES%3E"],[152,"impl-Display-for-Error"],[153,"impl-Debug-for-Error"],[157,"impl-Display-for-QueryError"],[158,"impl-Debug-for-QueryError"],[161,"impl-From%3CError%3E-for-Error"],[163,"impl-From%3CError%3E-for-Error"],[164,"impl-From%3CError%3E-for-Error"],[165,"impl-From%3CError%3E-for-Error"],[166,"impl-From%3CError%3E-for-Error"],[167,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[171,"impl-From%3CTimestampConversionError%3E-for-QueryError"],[173,"impl-From%3CError%3E-for-QueryError"],[177,"impl-From%3CArc%3CD%3E%3E-for-ApiState%3CD%3E"],[178,"impl-From%3CD%3E-for-ApiState%3CD%3E"],[644,"impl-Debug-for-LeafId%3CTypes%3E"],[645,"impl-Display-for-LeafId%3CTypes%3E"],[646,"impl-Display-for-BlockId%3CTypes%3E"],[647,"impl-Debug-for-BlockId%3CTypes%3E"],[649,"impl-Display-for-InconsistentLeafError%3CTypes%3E"],[650,"impl-Debug-for-InconsistentLeafError%3CTypes%3E"],[663,"impl-Display-for-Error"],[664,"impl-Debug-for-Error"],[668,"impl-From%3CCommitment%3CLeaf%3CTypes%3E%3E%3E-for-LeafId%3CTypes%3E"],[669,"impl-From%3Cusize%3E-for-LeafId%3CTypes%3E"],[671,"impl-From%3Cusize%3E-for-BlockId%3CTypes%3E"],[672,"impl-From%3CCommitment%3C%3CTypes+as+NodeType%3E::BlockHeader%3E%3E-for-BlockId%3CTypes%3E"],[690,"impl-From%3CRequestError%3E-for-Error"],[691,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[1017,"impl-NodeDataSource%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[1018,"impl-StatusDataSource-for-ExtensibleDataSource%3CD,+U%3E"],[1131,"impl-NodeDataSource%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1132,"impl-StatusDataSource-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1284,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+FileSystemStorage%3CMockTypes%3E,+P%3E"],[1285,"impl-FetchingDataSource%3CTypes,+FileSystemStorage%3CTypes%3E,+P%3E"],[1310,"impl-FetchingDataSource%3CTypes,+SqlStorage,+P%3E"],[1311,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+SqlStorage,+P%3E"],[1366,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1367,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1422,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1423,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1517,"impl-StatusDataSource-for-DataSource"],[1518,"impl-NodeDataSource%3CMockTypes%3E-for-DataSource"],[1690,"impl-AsRef%3Cdyn+Error+%2B+Send+%2B+Sync%3E-for-Error"],[1691,"impl-AsRef%3Cdyn+Error%3E-for-Error"],[1838,"impl-Debug-for-Error"],[1839,"impl-Display-for-Error"],[1840,"impl-Display-for-Migration"],[1841,"impl-Debug-for-Migration"],[2617,"impl-Display-for-CurrencyMismatchError"],[2618,"impl-Debug-for-CurrencyMismatchError"],[2619,"impl-Debug-for-InvalidCurrencyCodeError"],[2620,"impl-Display-for-InvalidCurrencyCodeError"],[2621,"impl-Display-for-CurrencyCode"],[2622,"impl-Debug-for-CurrencyCode"],[2623,"impl-Debug-for-MonetaryValue"],[2624,"impl-Display-for-MonetaryValue"],[2625,"impl-Display-for-BlockIdentifier%3CTypes%3E"],[2626,"impl-Debug-for-BlockIdentifier%3CTypes%3E"],[2627,"impl-Display-for-TransactionIdentifier%3CTypes%3E"],[2628,"impl-Debug-for-TransactionIdentifier%3CTypes%3E"],[2634,"impl-Debug-for-TimestampConversionError"],[2635,"impl-Display-for-TimestampConversionError"],[2646,"impl-Debug-for-GetBlockDetailError"],[2647,"impl-Display-for-GetBlockDetailError"],[2648,"impl-Debug-for-GetBlockSummariesError"],[2649,"impl-Display-for-GetBlockSummariesError"],[2650,"impl-Debug-for-GetTransactionDetailError"],[2651,"impl-Display-for-GetTransactionDetailError"],[2652,"impl-Display-for-GetTransactionSummariesError"],[2653,"impl-Debug-for-GetTransactionSummariesError"],[2654,"impl-Debug-for-GetExplorerSummaryError"],[2655,"impl-Display-for-GetExplorerSummaryError"],[2656,"impl-Display-for-GetSearchResultsError"],[2657,"impl-Debug-for-GetSearchResultsError"],[2658,"impl-Debug-for-Error"],[2659,"impl-Display-for-Error"],[2678,"impl-From%3CTryFromIntError%3E-for-TimestampConversionError"],[2679,"impl-From%3CComponentRange%3E-for-TimestampConversionError"],[2691,"impl-From%3CQueryError%3E-for-GetBlockDetailError"],[2692,"impl-From%3CError%3E-for-GetBlockDetailError"],[2695,"impl-From%3CError%3E-for-GetBlockSummariesError"],[2696,"impl-From%3CQueryError%3E-for-GetBlockSummariesError"],[2698,"impl-From%3CError%3E-for-GetTransactionDetailError"],[2699,"impl-From%3CQueryError%3E-for-GetTransactionDetailError"],[2700,"impl-From%3CTimestampConversionError%3E-for-GetTransactionDetailError"],[2701,"impl-From%3CError%3E-for-GetTransactionSummariesError"],[2702,"impl-From%3CQueryError%3E-for-GetTransactionSummariesError"],[2704,"impl-From%3CError%3E-for-GetExplorerSummaryError"],[2705,"impl-From%3CGetTransactionSummariesError%3E-for-GetExplorerSummaryError"],[2706,"impl-From%3CGetBlockSummariesError%3E-for-GetExplorerSummaryError"],[2707,"impl-From%3CGetBlockDetailError%3E-for-GetExplorerSummaryError"],[2708,"impl-From%3CQueryError%3E-for-GetExplorerSummaryError"],[2710,"impl-From%3CQueryError%3E-for-GetSearchResultsError"],[2711,"impl-From%3CError%3E-for-GetSearchResultsError"],[3252,"impl-Provider%3CTypes,+PayloadRequest%3E-for-AnyProvider%3CTypes%3E"],[3253,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-AnyProvider%3CTypes%3E"],[3254,"impl-Provider%3CTypes,+LeafRequest%3E-for-AnyProvider%3CTypes%3E"],[3255,"impl-Provider%3CTypes,+PayloadRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3256,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3257,"impl-Provider%3CTypes,+LeafRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3463,"impl-Display-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3464,"impl-Debug-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3465,"impl-Display-for-Error"],[3466,"impl-Debug-for-Error"],[3469,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[3471,"impl-From%3CQueryError%3E-for-Error"],[3472,"impl-From%3CRequestError%3E-for-Error"],[3639,"impl-Display-for-MetricsError"],[3640,"impl-Debug-for-MetricsError"],[3659,"impl-Metrics-for-PrometheusMetrics"],[3660,"impl-PrometheusMetrics"],[3925,"impl-Display-for-Error"],[3926,"impl-Debug-for-Error"],[3938,"impl-From%3CQueryError%3E-for-Error"],[3939,"impl-From%3CRequestError%3E-for-Error"],[3940,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[4113,"impl-Display-for-Error"],[4114,"impl-Debug-for-Error"],[4116,"impl-From%3CString%3E-for-Error"],[4118,"impl-From%3CRequestError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFoOHAECAAEABQAAAAgAAQALAAEADwAAABMAAwAYAAEAHgAMACwAAgAyAA8ARQAXAF4AAABgAAEAYwAsAJcACQCiAAAApAAEAKwAAACuAAAAsAAAALIABQC5AAAAuwAEAMEAAQDEAA0A2gACAN4ACQDpAAEA7AAAAO8ACQD6AAQAAAECAAQBGgAgAQgALQEPAD8BBABFAQAARwEAAEkBAABLAQAATQEBAFABAQBUAQsAYQEBAGQBAwBpASEAjQElALoBOQD1AVgAUAItAIUCFACdAgEAoAIBAKYCAACqAgAAswIRAMYCBgDOAg8A3wIXAAoDBgATAwAAFQMUACsDAAAtAwEAMAMBADgDGgBWAwEAWQMvAIsDAACPAwAAkwMlALoDJQDiAwgA7AMBAO8DAQD1AwMA+gMbABcEAQAbBBYANAQDADoEBABABAAAQgQDAEcEBQBPBAgAWQQDAF4EAgBkBBEAeAQGAIAEAQCEBAsAkQQGAJwELADNBAUA1gQJAOEEFgABBQAAAwUCAAgFAAALBQAADQUKABwFAAAgBQIAJAUDACoFAQAtBQYANQUAADgFBwBBBQAARAUFAEsFAABNBQwAXAUPAG8FEACDBQMAiQUHAJIFDwCjBRUAuwUPAM0FHADrBR8ADgYRACMGJwBMBgoAWAYCAF0GAQBhBgIAZQYAAGcGCwB5BgAAggYCAJQGBACbBgEAngYDAKMGFgC+BhIA1QYCANkGBgDhBicADAcSAC8HDwBABwEASgcAAE0HDQBcBwoAbAcOAIcHCgCTBwAAlQcAAJwHAgCgBwsAswcAALUHAAC3BwAAuQcCAL4HCgDKByYA8gcBAPYHHQAWCAMAHAgQAC4IAAAyCAEANwgCAD0IAgBHCAIASwgAAE0IAQBQCAAAUggAAFQIAABWCAAAWAgAAFoIAABcCAQAYggFAGsIAQBuCAYAdwgCAHwIAQCBCAEAhwgHAJAIEACiCGcACwk2AEMJSwCQCQUAlwmZADMKAQA3CgIAOwoBAD8KAQBCCigAdwoBAIQKAQCICgEAiwoEAJEKBACXCgEAmwoAAJ0KAAChCgEApAoAAKYKAgCvCkEAFAsqAEELKwBuCwIAcgsDAHgLAAB7CxYAkwsRAKYLlQA9DCMAZAwNAHMMAAB1DAEAeQwBAHwMBgCIDAMAjQwlALUMCwDFDAMAzQwZAOkMAwD2DC8AKQ0JADYNHABVDQMAWg0AAFwNKgCIDQMAjg0AAJANBwCZDQQAog0JAK0NBACzDQ8AyQ0DAM8NcwBMDgAATg4EAFkOCwBuDk0AvQ4FAMQOAADGDgAAyA4AAMoOAQDNDiQA8w5YAE4PCQBZDwAAYw8CAGcPEACCDyoArg9iABIQAQAVEAAAFxAEAB4QFgA3EBIATBABAFEQAwBXEBEAahALAHcQBAB9EAQAgxAJAI4QDQCeEAUApRAtANYQCQDjEAAA5RADAOoQBADwEAIA9BAAAPYQAgD6EAEA/RADAAIRCQAPEQIAExEAAA=="}]]')); +var searchIndex = new Map(JSON.parse('[["hotshot_query_service",{"t":"FPPPGPFPIFPIPFPPFPFIGIKIPIIIINNNNNNNNNNNNNCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNQQQQQNNNNNNNNNNNNNNNNNNNNNNNCOCCONNNNNNNNNNONHNNNNNCNNOCCNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNCNNNNNNNNNNNOOOOOOOOKIGFRFPFGGPFPFPFPPRFPFRIGFRPPFPFRPKKPPFIIIIRFFKFRNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMMMMMMNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNOMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNNNNNNNNNNNNNONNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOEFEEFREKRKKNNNNCNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNCNNNNMNNNMNCCCNNNNNNNNNMNNNNMNHHKFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIENNNNNNNNNHHHHHHHHHIEFFIENNNNQNCEHKKEKKEKEMMCMMMMMMMMMMMMMMMMMMMCMCCMMFFKFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNGPPPPPPGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOKKRFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRRFRKRIFKKFTKFIIFRFRFFRFRKRTRRFNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNHNNNNNNNNNNNNNDNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIRPFFGIPFFFPPPGFGPPPKKFFFKFPPPFPGPPGPFPGPGPGPGPFPPPPPFPPPPPPFRRPIRPPPPPPPFFPPPFGPPFFGIPFFFGPPPPPPPIRPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMMMMMMOOOONNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMOOOMOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFKEENNNNNNNNNNNNNNNNNCCMMNNNNNNNNFFKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFKRFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPRPRRGPRKKKFPPGRKNNONNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNMMNNNMNNNNMMNNNNNNNNNNNMNMNNNNNMNNNNNNNNNNNNOOOOFFFFFFGPPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOEEPFGPPKFPFPFPFPFFPFGNNNNNNNNNONNNNOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONMNNNNNNNNNNOONNNNONOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNOOOOOOOOOOGKPFPKKNONNNNMNNNNNNNNNNNHNNNNNNNNNNNNONNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNOOFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCHHKIFISRKNNMMNNNNNNNNNMNNNNNNNNMNNNNNNNNNNIIIIIIFIIIIFFNNNOONNNNNNONNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOHNNNNONNNONONNNONNONNNNONNNNNNNNNNOOONNNKM","n":["ApiState","Availability","Custom","Err","Error","","ErrorSnafu","Explorer","Header","Leaf","MerklizedState","Metadata","Missing","MissingSnafu","Node","NotFound","NotFoundSnafu","Ok","Options","Payload","QueryError","QueryResult","Resolvable","SignatureKey","Status","Transaction","VidCommitment","VidCommon","VidShare","__clone_box","","","","","","","as_error","","as_error_source","","","","availability","","backtrace","","block_header","block_header_mut","block_payload","borrow","","","","","","","","borrow_mut","","","","","","","","build","","","catch_all","cause","","clone","","","","","","","clone_into","","","","","","","clone_to_uninit","","","","","","","commit","","commitment","","create_random_transaction","data_source","default","deref","","","","","","","","","deref_mut","","","","","","","","description","","deserialize","","","","","","","","","","","drop","","","","","","","","eq","equivalent","","","","explorer","extends_upgrade","fail","","","fetching","fill_block_payload","fill_block_payload_unchecked","fmt","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","from_fd","from_filelike","from_into_filelike","from_into_socketlike","from_quorum_proposal","from_socketlike","genesis","get_hash","hash","header","","","height","in_current_span","","include_migrations","init","","","","","","","","instantiate_availability_tests","instantiate_data_source_tests","instantiate_node_tests","instantiate_persistence_tests","instantiate_status_tests","internal","into","","","","","","","","into_error","","","justify_qc","layout_raw","","","","","","","","load","","merklized_state","message","metrics","node","","parent_commitment","payload_commitment","pointer_metadata","","","","","","","","port","read","run_standalone_service","serialize","","","source","","status","","","","task","testing","to_owned","","","","","","","to_string","","","try_from","","","","","","","","try_into","","","","","","","","try_resolve","","type_id","","","","","","","","types","unfill_block_payload","upgrade_certificate","view_number","vzip","","","","","","","","message","source","","","","","status","message","AvailabilityDataSource","BlockHash","BlockId","BlockQueryData","BlockRange","BlockSummaryQueryData","Custom","CustomSnafu","Error","Fetch","FetchBlock","FetchBlockSnafu","FetchLeaf","FetchLeafSnafu","FetchTransaction","FetchTransactionSnafu","Hash","","InclusionProof","InconsistentLeafError","InvalidTransactionIndex","InvalidTransactionIndexSnafu","Iter","LeafHash","LeafId","LeafQueryData","LeafRange","Number","","Options","PayloadHash","PayloadQueryData","PayloadRange","Pending","QueryableHeader","QueryablePayload","Ready","Request","RequestSnafu","Timestamp","TransactionHash","TransactionInclusionProof","TransactionIndex","","TransactionQueryData","TransactionSummaryQueryData","UpdateAvailabilityData","VidCommonQueryData","VidCommonRange","__clone_box","","","","","","","","","","","","","","","","","api_path","as_error","","as_error_source","","","","backtrace","","block_hash","","","","block_height","borrow","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","build","","","","","by_hash","","cause","","clone","","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","","cmp","","common","compare","","context","data","default","define_api","deref","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","description","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","enumerate","","","eq","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","extensions","fail","","","","","fetch_timeout","fmt","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","","","genesis","","","","get_block","get_block_range","get_hash","","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","hash","","","","","","","header","","","","","","","height","","","","","","in_current_span","","index","","init","","","","","","","","","","","","","","","","","","","insert_block","insert_leaf","insert_vid","internal","into","","","","","","","","","","","","","","","","","","","into_error","","","","","","into_future","is_empty","","","is_pending","iter","layout_raw","","","","","","","","","","","","","","","","","","","leaf","","len","","map","message","metadata","new","","","nth","","nth_transaction","","nth_transaction_with_proof","","num_transactions","","partial_cmp","","payload","payload_hash","","","pointer_metadata","","","","","","","","","","","","","","","","","","","proof","","","qc","qc_leaf","resolve","resource","","","serialize","","","","","","","","size","","","source","","status","","subscribe_blocks","","subscribe_leaves","","subscribe_payloads","","subscribe_vid_common","","timestamp","to_owned","","","","","","","","","","","","","","","","","to_string","","","","transaction","","","","transaction_by_hash","","","transaction_by_hash_with_proof","","transaction_with_proof","try_from","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","try_resolve","type_id","","","","","","","","","","","","","","","","","","","vzip","","","","","","","","","","","","","","","","","","","with_context","with_timeout","height","index","message","resource","","","source","status","AvailabilityProvider","ExtensibleDataSource","FetchingDataSource","FileSystemDataSource","MetricsDataSource","ReadOnly","SqlDataSource","Transaction","","UpdateDataSource","VersionedDataSource","__clone_box","","as_mut","as_ref","availability_tests","block_height","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","commit","connect","","count_transactions","create","","default","deref","","deref_mut","","deserialize","","drop","","fetching","fmt","","from","","fs","get_block","get_block_detail","get_block_range","get_block_summaries","get_explorer_summary","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_range","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_range","handle_event","","init","","inner","inner_mut","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","layout_raw","","metrics","","new","node_tests","payload_size","persistence_tests","pointer_metadata","","populate_metrics","","read","","reset","","revert","set_last_state_height","sql","status_tests","storage","sync_status","to_owned","","try_from","","try_into","","type_id","","update","","vid_share","vzip","","write","","test_range","test_update","AvailabilityProvider","Builder","FetchingDataSource","Pruner","Transaction","__clone_box","","as_mut","as_ref","","block_height","","","borrow","","","","borrow_mut","","","","build","builder","clone","","clone_into","","clone_to_uninit","","commit","connect","count_transactions","","create","create_with_store","deref","","","","deref_mut","","","","deserialize","","","","disable_proactive_fetching","drop","","","","fmt","","","from","","","","get_block","","get_block_detail","","get_block_range","","get_block_summaries","","get_explorer_summary","","get_header","get_header_window","","get_last_state_height","","get_leaf","","get_leaf_range","","get_path","","get_payload","","get_payload_range","","get_search_results","","get_transaction","","get_transaction_detail","","get_transaction_summaries","","get_vid_common","","get_vid_common_range","","init","","","","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","","","layout_raw","","","","load_pruned_height","metrics","new","open","open_with_store","payload_size","","pointer_metadata","","","","populate_metrics","read","revert","set_last_state_height","skip_version","sync_status","","to_owned","","try_from","","","","try_into","","","","type_id","","","","update","vid_share","","vzip","","","","with_active_fetch_delay","with_chunk_fetch_delay","with_major_scan_interval","with_major_scan_offset","with_minor_scan_interval","with_proactive_range_chunk_size","with_range_chunk_size","with_rate_limit","with_retry_delay","write","FileSystemDataSource","Transaction","connect","create","","create_with_store","handle_event","open","open_with_store","reset","skip_version","test_counters","test_sync_status","test_timestamp_window","test_vid_monotonicity","test_vid_recovery","test_vid_shares","test_drop_tx","test_reset","test_revert","Builder","Config","Error","Migration","SqlDataSource","Transaction","connect","","create","handle_event","include_migrations","reset","testing","TmpDb","test_metrics","AvailabilityStorage","ExplorerStorage","FileSystemStorage","MerklizedStateHeightStorage","MerklizedStateStorage","NoStorage","NodeStorage","SqlStorage","block_height","count_transactions","fs","get_block","get_block_detail","get_block_range","get_block_summaries","get_explorer_summary","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_range","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_range","no_storage","payload_size","pruning","sql","sync_status","vid_share","FileSystemStorage","FileSystemStorageInner","Revert","Transaction","block_height","borrow","","","borrow_mut","","","commit","","count_transactions","create","create_with_store","deref","","","deref_mut","","","deserialize","","","drop","","","","fmt","","","from","","","get_block","get_block_range","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","metrics","open","open_with_store","payload_size","pointer_metadata","","","read","revert","","","skip_version","sync_status","try_from","","","try_into","","","type_id","","","update","vid_share","vzip","","","write","NoStorage","Transaction","__clone_box","block_height","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","commit","count_transactions","default","deref","","deref_mut","","deserialize","","drop","","fmt","from","","get_block","get_block_range","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","init","","insert_block","insert_leaf","insert_vid","into","","layout_raw","","metrics","payload_size","pointer_metadata","","read","revert","sync_status","testing","to_owned","try_from","","try_into","","type_id","","update","vid_share","vzip","","write","DataSource","NoStorage","","","Sql","","","Storage","Transaction","__clone_box","block_height","","","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","commit","connect","count_transactions","","create","deref","","","deref_mut","","","deserialize","","","drop","","","fmt","from","","","get_block","get_block_range","get_header_window","","get_leaf","get_leaf_range","get_payload","get_payload_range","get_transaction","get_vid_common","get_vid_common_range","handle_event","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","metrics","payload_size","","pointer_metadata","","","populate_metrics","read","reset","revert","setup","sync_status","","to_owned","try_from","","","try_into","","","type_id","","","update","vid_share","","vzip","","","write","fetch_from_port","PruneStorage","PrunedHeightStorage","Pruner","PrunerCfg","PrunerConfig","__clone_box","batch_size","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","fmt","from","get_disk_usage","get_pruning_config","init","interval","into","layout_raw","load_pruned_height","max_usage","minimum_retention","new","pointer_metadata","prune","pruning_threshold","set_pruning_config","target_retention","to_owned","try_from","try_into","type_id","validate","vzip","with_batch_size","with_interval","with_max_usage","with_minimum_retention","with_pruning_threshold","with_target_retention","ArgumentBuffer","Arguments","Column","Config","Connection","Database","","Db","Error","Executor","FixedLengthParams","Migration","NAME","Params","Pruner","Query","QueryAs","QueryBuilder","QueryResult","Read","Row","SqlStorage","Sqlite","Statement","Transaction","TransactionManager","TransactionMode","TypeInfo","URL_SCHEMES","Value","ValueRef","Write","__clone_box","","","","applied","applied_on","archive","as_ref","","backtrace","begin","","","bind","","block_height","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","bounds_to_where_clause","builder","chain","checksum","cleanup_test","cleanup_test_dbs","clone","","","","clone_into","","","","clone_to_uninit","","","","cmp","commit","compare","connect","","connection_timeout","context","count_transactions","create_database","database","database_exists","default","","","","","default_migrations","deref","","","","","","","","","","","","deref_mut","","","","","","","","","","","","deserialize","","","","","","","","","","display","","","downcast","downcast_mut","downcast_ref","drop","","","","","","","","","","","drop_database","eq","equivalent","","","","execute","","execute_many","","","execute_many_with_retries","execute_one","execute_one_with_retries","fetch","","fetch_all","","fetch_many","fetch_one","","fetch_optional","fmt","","","","","","","","","","","","fmt_value_debug","from","","","","","","","","","","","","","from_str","get_block","get_block_detail","get_block_range","get_block_summaries","get_disk_usage","get_explorer_summary","get_feature_gate","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_range","get_pruning_config","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_range","header","","header_where_clause","host","idle_connection_timeout","include_dir","include_migrations","init","","","","","","","","","","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","","","","","","","","","is","layout_raw","","","","","","","","","","load_header","load_pruned_height","max_connections","metrics","migrations","min_connections","msg","name","new","no_migrations","param_type_for_id","partial_cmp","password","payload_size","pointer_metadata","","","","","","","","","","port","prefix","prepare","","prepare_with","prune","pruner_cfg","query","","query_as","","read","reset_schema","return_type_for_id","revert","root_cause","schema","set_applied","set_last_state_height","set_pruning_config","slow_statement_threshold","snapshot","sql","sqlx","sync_status","test_context","testing","tls","to_owned","","","","to_string","","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","unapplied","update","upsert","user","version","vid_share","vzip","","","","","","","","","","write","TestMerkleTreeMigration","TmpDb","borrow","","borrow_mut","","config","deref","","deref_mut","","deserialize","","drop","","","fmt","from","","host","init","","","into","","layout_raw","","persistent","pointer_metadata","","port","start","stop","try_from","","try_into","","type_id","","vzip","","BalanceAmount","","Block","BlockDetail","BlockDetailResponse","BlockIdentifier","BlockNamespaceId","BlockNotFound","BlockRange","BlockSummary","BlockSummaryResponse","Btc","CryptoEnd","CryptoStart","CurrencyCode","CurrencyMismatchError","Error","Esp","Eth","Eur","ExplorerDataSource","ExplorerHeader","ExplorerHistograms","ExplorerSummary","ExplorerSummaryResponse","ExplorerTransaction","FeeAttribution","FiatCurrencyEnd","FiatCurrencyStart","Gbp","GenesisOverview","GetBlockDetail","GetBlockDetailError","","GetBlockSummaries","GetBlockSummariesError","","GetBlockSummariesRequest","GetExplorerSummary","GetExplorerSummaryError","GetSearchResults","GetSearchResultsError","GetTransactionDetail","GetTransactionDetailError","GetTransactionSummaries","GetTransactionSummariesError","","GetTransactionSummariesRequest","Hash","","Height","HeightAndOffset","IntError","InvalidCurrencyCodeError","InvalidLimit","","InvalidQuery","Jpy","Latest","","MonetaryValue","NamespaceId","","None","ProposerId","","QueryError","","","","","","RollUp","SearchResult","SearchResultResponse","TargetNotFound","","TimeError","Timestamp","TimestampConversionError","TokenEnd","TokenStart","TransactionDetail","TransactionDetailResponse","TransactionIdentifier","TransactionNamespaceId","TransactionNotFound","TransactionRange","TransactionSummariesResponse","TransactionSummary","TransactionSummaryFilter","Unimplemented","","","","","","Usd","WalletAddress","","Xxx","__clone_box","","","","","","","","","","","","","","","","add","as_error","","","","","","","","as_error_source","","","","","","","","","","","","","","","","block_confirmed","block_detail","block_heights","block_reward","block_size","block_summaries","block_time","block_transactions","blocks","","borrow","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","btc","clone","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","cmp","compare","currency","","currency1","currency2","default","define_api","deref","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","eq","","","","","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","esp","eth","explorer_summary","fee_details","fee_info_account","fee_info_balance","fee_recipient","fees","filter","fmt","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","genesis_overview","get_block_detail","get_block_summaries","get_explorer_summary","get_search_results","get_transaction_detail","get_transaction_summaries","hash","","","","header","","","","","","","","","","","","","","height","","","","histograms","in_current_span","","","","","","","","init","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into_resettable","is_crypto","is_fiat","is_token","latest_block","latest_blocks","latest_transactions","layout_raw","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","namespace_id","namespace_ids","new","num_blocks","num_transactions","","","","","offset","","partial_cmp","pointer_metadata","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","proposer_id","","","range","reward_balance","rollups","","search_results","sequencing_fees","serialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","significant_digits","size","","","source","","","","","","","","status","","","","","","","sub","target","","","time","","","","to_owned","","","","","","","","","","","","","","","","to_string","","","","","","","","","","","","","","transaction_detail","transaction_summaries","transactions","","try_from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","usd","value","vzip","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Callback","Fetcher","LocalCallback","Provider","Request","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","fmt","from","init","into","layout_raw","pointer_metadata","provider","request","run","","spawn_fetch","to_owned","try_from","try_into","type_id","vzip","with_rate_limit","with_retry_delay","AnyProvider","NoFetching","Provider","QueryServiceProvider","TestProvider","__clone_box","","","","block","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","default","","deref","","","","deref_mut","","","","deserialize","","","","drop","","","","fail","fetch","","","","","","","","","fmt","","","","from","","","","init","","","","into","","","","layout_raw","","","","new","","pointer_metadata","","","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","unblock","unfail","vzip","","","","with_block_provider","with_leaf_provider","with_provider","with_vid_common_provider","LeafRequest","PayloadRequest","Request","Response","VidCommonRequest","__clone_box","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","deref","","","deref_mut","","","deserialize","","","drop","","","eq","","","equivalent","","","","","","","","","","","","fmt","","","from","","","","get_hash","","","hash","","","init","","","into","","","layout_raw","","","pointer_metadata","","","to_owned","","","try_from","","","try_into","","","type_id","","","vzip","","","Commit","","Custom","Digest","Entry","Error","Index","Key","MerklizedState","MerklizedStateDataSource","MerklizedStateHeightPersistence","Options","Query","Request","Snapshot","T","UpdateStateData","__clone_box","","api_path","as_error","as_error_source","","backtrace","borrow","","","borrow_mut","","","cause","clone","","clone_into","","clone_to_uninit","","cmp","compare","default","define_api","deref","","","deref_mut","","","description","deserialize","","","","drop","","","eq","equivalent","","","","extensions","fmt","","","","from","","","","","","get_hash","get_last_state_height","get_path","hash","header","","header_state_commitment_field","in_current_span","init","","","insert_merkle_nodes","insert_path","into","","","layout_raw","","","partial_cmp","pointer_metadata","","","serialize","set_last_state_height","source","state_type","status","to_owned","","to_string","","tree_height","try_from","","","try_into","","","type_id","","","vzip","","","message","source","","status","Counter","CounterFamily","Gauge","GaugeFamily","Histogram","HistogramFamily","MetricsError","NoSuchMetric","NoSuchSubgroup","Prometheus","PrometheusMetrics","TextFamily","__clone_box","","","","","","","","add","add_point","as_error","as_error_source","","backtrace","borrow","","","","","","","","","borrow_mut","","","","","","","","","cause","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","counter_family","create","","","","create_counter","create_gauge","create_histogram","create_text","default","deref","","","","","","","","","deref_mut","","","","","","","","","description","deserialize","","","","","","","","","drop","","","","","","","","","export","fmt","","","","","","","","","","from","","","","","","","","","","gauge_family","","get","","","","","get_counter","get_counter_family","get_gauge","get_histogram","get_histogram_family","get_subgroup","header","histogram_family","in_current_span","init","","","","","","","","","into","","","","","","","","","layout_raw","","","","","","","","","mean","pointer_metadata","","","","","","","","","sample_count","set","source","subgroup","sum","text_family","to_owned","","","","","","","","to_string","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","update","vzip","","","","","","","","","name","namespace","path","source","BlockHash","BlockId","Custom","CustomSnafu","Error","Hash","Height","NodeDataSource","Options","Query","QuerySnafu","QueryVid","QueryVidSnafu","QueryWindow","QueryWindowSnafu","Request","RequestSnafu","SyncStatus","Time","TimeWindowQueryData","WindowStart","__clone_box","","","","","","","","","api_path","as_error","as_error_source","","backtrace","block","block_height","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","build","cause","clone","","","","","","","","","clone_into","","","","","","","","","clone_to_uninit","","","","","","","","","cmp","compare","count_transactions","default","","define_api","deref","","","","","","","","","","deref_mut","","","","","","","","","","description","deserialize","","","","","","","","","","","","","drop","","","","","","","","","","end","eq","","equivalent","","","","","","","","extensions","fail","fmt","","","","","","","","","","from","","","","","","","","","","","","","","","fully_synced","get_hash","get_header_window","hash","header","in_current_span","init","","","","","","","","","","internal","into","","","","","","","","","","into_error","","","","","is_fully_synced","layout_raw","","","","","","","","","","message","missing_blocks","missing_leaves","missing_vid_common","missing_vid_shares","next","partial_cmp","payload_size","pointer_metadata","","","","","","","","","","prev","pruned_height","serialize","","","source","start","status","","sync_status","to_owned","","","","","","","","","to_string","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","vid_share","vzip","","","","","","","","","","window","block","end","message","source","","","","start","status","Error","HasMetrics","Internal","Options","Request","StatusDataSource","UpdateStatusData","__clone_box","api_path","as_error","as_error_source","","backtrace","block_height","borrow","","borrow_mut","","cause","clone","clone_into","clone_to_uninit","consensus_metrics","","default","define_api","deref","","deref_mut","","description","deserialize","","","drop","","elapsed_time_since_last_decide","","extensions","fmt","","from","","","","header","in_current_span","init","","into","","layout_raw","","metrics","pointer_metadata","","populate_metrics","serialize","source","status","success_rate","","to_owned","to_string","try_from","","try_into","","type_id","","vzip","","reason","source","BackgroundTask","Task","__clone_box","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","","deref_mut","","deserialize","","drop","","","fmt","","from","","init","","into","","join","layout_raw","","pointer_metadata","","spawn","","to_owned","try_from","","try_into","","type_id","","vzip","","consensus","mocks","setup_test","sleep","DataSourceLifeCycle","MockDataSource","MockNetwork","MockSqlDataSource","NUM_NODES","Storage","TestableDataSource","borrow","borrow_mut","connect","create","data_source","data_source_index","deref","deref_mut","deserialize","drop","","from","handle","handle_event","init","","init_with_config","into","layout_raw","num_nodes","pointer_metadata","proposer","reset","setup","shut_down","spawn","start","storage","submit_transaction","try_from","try_into","type_id","vzip","MockAuctionResults","MockBase","MockHeader","MockMembership","MockMerkleTree","MockNetwork","MockNodeImpl","MockPayload","MockQuorumProposal","MockStorage","MockTransaction","MockTypes","MockVersions","__clone_box","","","block_header","block_number","borrow","","","borrow_mut","","","builder_commitment","clone","","","clone_into","","","clone_to_uninit","","","cmp","","compare","","decided_upgrade_certificate","default","","delay_config","deref","","","deref_mut","","","deserialize","","","","","drop","","","eq","","equivalent","","","","","","","","fee_info_account","fee_info_balance","fmt","","","from","","","get_hash","","hash","","header_state_commitment_field","height","init","","","insert_path","into","","","iter","justify_qc","layout_raw","","","len","metadata","mock_transaction","namespace_id","namespace_ids","partial_cmp","","payload_commitment","pointer_metadata","","","proposal_certificate","proposer_id","random","reward_balance","serialize","","should_return_err","state_type","timestamp","","to_owned","","","transaction_with_proof","transactions","tree_height","try_from","","","try_into","","","type_id","","","upgrade_certificate","urls","view_number","vzip","","","HeightIndexed","height"],"q":[[0,"hotshot_query_service"],[308,"hotshot_query_service::Error"],[315,"hotshot_query_service::QueryError"],[316,"hotshot_query_service::availability"],[994,"hotshot_query_service::availability::Error"],[1002,"hotshot_query_service::data_source"],[1119,"hotshot_query_service::data_source::availability_tests"],[1121,"hotshot_query_service::data_source::fetching"],[1282,"hotshot_query_service::data_source::fs"],[1293,"hotshot_query_service::data_source::node_tests"],[1299,"hotshot_query_service::data_source::persistence_tests"],[1302,"hotshot_query_service::data_source::sql"],[1315,"hotshot_query_service::data_source::sql::testing"],[1316,"hotshot_query_service::data_source::status_tests"],[1317,"hotshot_query_service::data_source::storage"],[1353,"hotshot_query_service::data_source::storage::fs"],[1439,"hotshot_query_service::data_source::storage::no_storage"],[1504,"hotshot_query_service::data_source::storage::no_storage::testing"],[1601,"hotshot_query_service::data_source::storage::no_storage::testing::Storage"],[1602,"hotshot_query_service::data_source::storage::pruning"],[1648,"hotshot_query_service::data_source::storage::sql"],[2020,"hotshot_query_service::data_source::storage::sql::testing"],[2061,"hotshot_query_service::explorer"],[3138,"hotshot_query_service::fetching"],[3172,"hotshot_query_service::fetching::provider"],[3282,"hotshot_query_service::fetching::request"],[3372,"hotshot_query_service::merklized_state"],[3488,"hotshot_query_service::merklized_state::Error"],[3492,"hotshot_query_service::metrics"],[3734,"hotshot_query_service::metrics::MetricsError"],[3738,"hotshot_query_service::node"],[4035,"hotshot_query_service::node::Error"],[4044,"hotshot_query_service::status"],[4116,"hotshot_query_service::status::Error"],[4118,"hotshot_query_service::task"],[4161,"hotshot_query_service::testing"],[4165,"hotshot_query_service::testing::consensus"],[4205,"hotshot_query_service::testing::mocks"],[4339,"hotshot_query_service::types"],[4341,"dyn_clone::sealed"],[4342,"core::error"],[4343,"hotshot_query_service::error"],[4344,"std::backtrace"],[4345,"core::option"],[4346,"hotshot_types::data"],[4347,"hotshot_types::traits::node_implementation"],[4348,"alloc::string"],[4349,"core::convert"],[4350,"tide_disco::status"],[4351,"core::clone"],[4352,"committable"],[4353,"hotshot_types::message"],[4354,"hotshot_query_service::resolvable"],[4355,"rand_core"],[4356,"rkyv::with"],[4357,"core::result"],[4358,"serde::de"],[4359,"hotshot_types::simple_vote"],[4360,"hotshot_types::simple_certificate"],[4361,"async_lock::rwlock"],[4362,"alloc::sync"],[4363,"anyhow"],[4364,"core::fmt"],[4365,"hotshot_query_service::explorer::query_data"],[4366,"sqlx_core::error"],[4367,"std::os::fd::owned"],[4368,"io_lifetimes::portability"],[4369,"core::hash"],[4370,"core::marker"],[4371,"color_eyre::section"],[4372,"core::alloc::layout"],[4373,"arc_swap::access"],[4374,"core::future::future"],[4375,"alloc::boxed"],[4376,"core::pin"],[4377,"futures_core::future"],[4378,"core::ops::function"],[4379,"hotshot::types::handle"],[4380,"hotshot_query_service::availability::data_source"],[4381,"hotshot_query_service::node::data_source"],[4382,"hotshot_query_service::status::data_source"],[4383,"hotshot_query_service::data_source::update"],[4384,"vbs::version"],[4385,"serde::ser"],[4386,"core::any"],[4387,"hotshot_query_service::availability::query_data"],[4388,"core::cmp"],[4389,"core::iter::traits::iterator"],[4390,"hotshot_types::vid"],[4391,"hotshot_query_service::availability::fetch"],[4392,"snafu"],[4393,"tide_disco::api"],[4394,"tide_disco::method"],[4395,"tide_disco::request"],[4396,"futures_core::stream"],[4397,"core::ops::range"],[4398,"core::time"],[4399,"hotshot_query_service::data_source::extension"],[4400,"hotshot_query_service::data_source::metrics"],[4401,"hotshot_query_service::explorer::data_source"],[4402,"hotshot_query_service::merklized_state::data_source"],[4403,"hotshot_types::event"],[4404,"core::default"],[4405,"jf_merkle_tree::internal"],[4406,"alloc::vec"],[4407,"hotshot_types::traits::metrics"],[4408,"hotshot_query_service::data_source::fetching::notify_storage"],[4409,"std::path"],[4410,"atomic_store::atomic_store"],[4411,"core::ops::deref"],[4412,"atomic_store::error"],[4413,"time::offset_date_time"],[4414,"refinery_core::runner"],[4415,"hotshot_query_service::data_source::storage::sql::transaction"],[4416,"hotshot_query_service::data_source::storage::sql::queries"],[4417,"hotshot_query_service::data_source::storage::sql::db"],[4418,"sqlx_core::encode"],[4419,"sqlx_core::types"],[4420,"sqlx_core::executor"],[4421,"sqlx_core::database"],[4422,"sqlx_sqlite::database"],[4423,"sqlx_core::type_checking"],[4424,"sqlx_postgres::options"],[4425,"core::iter::traits::collect"],[4426,"sqlx_core::from_row"],[4427,"sqlx_core::testing"],[4428,"refinery_core::error"],[4429,"hotshot_query_service::explorer::monetary_value"],[4430,"hotshot_query_service::explorer::currency"],[4431,"hotshot_query_service::explorer::traits"],[4432,"core::num::error"],[4433,"time::error::component_range"],[4434,"clap_builder::builder::resettable"],[4435,"async_lock::semaphore"],[4436,"hotshot_query_service::fetching::provider::testing"],[4437,"hotshot_query_service::fetching::provider::any"],[4438,"hotshot_query_service::fetching::provider::query_service"],[4439,"url"],[4440,"jf_merkle_tree"],[4441,"core::str::traits"],[4442,"ark_serialize"],[4443,"tagged_base64"],[4444,"prometheus::errors"],[4445,"hotshot_query_service::node::query_data"],[4446,"hotshot_types::signature_key"],[4447,"hotshot_types"],[4448,"include_dir_macros"]],"i":"`j0AKb`A``2``2`0`20`1``````2````Ab3AhAjAl4Bf757755`Cf86555584326015843260143288658432615843261584326155Bn66`16954371226954371297669954377126954371266666`6543`6666995437726999999954377712222222262666697697`69543712`````96954371254366954371222`3``1666954371212`69797`971``695437269769543712695437120669543712`66669543712BM`BMbBMdBMfBMhBMj5BMl````Il`Fb```0`0`0`MhMjLj`3`0```421`1`4Nh``04`````1````532K`JnMlKdKfKhMnN`NbKjKlKnL`LbFbOd>1>>11>1?<;::Nh1MhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFb54321Lj0>1MhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbMhMj<10Nh>Od`1032K`JnMlKdKfKhMnN`NbKjKlKnL`LbFbNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFb=0NhOdMhMjK`0JnMl0Kd0Kf0Kh0Mn0N`0NbKjKlKnL`LbFb0NhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbLj0=MhMjK`MlKdKfKhMnN`888877776666555544443333222211110000OdKjKlKnL`Lb5>>===0000000>=<;:87>==<;9410:4NhOdMhMjK`6MlKdKfKhMnN`NbKjKlKnL`LbFbAAj001NhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFb654321NhLj0>101OdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFb>=Lj=Nh3>K`?=222222?;MhMjMl30Kf5Od435Jn3Kd3KhMnN`NbKjKlKnL`LbFbLj0:K`=Nh8761Ml>Kf>=<51?=Jn667Il0000000ABdMhMj846Kd6KhMnN`NbKjKlKnL`LbFb<;?0Lj0Ml;110111NhOdMhMjK`Jn6KdKfKhMnN`NbKjKlKnL`LbFbNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbNh0OdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbNhOdMhMjK`JnMlKdKfKhMnN`NbKjKlKnL`LbFbNh0BMn0BN`BNbBNdBNfBNh4`````Jb``0``ABhABj11`1101010101010ABl21221121212121`2121`22222222222222222221212222222121212`2`2121322102```221212121AEl333243```````AF`AFjAEn02022AFd132013203323232131333013201320132001321320132131313131311313131313131313131313131301321111013201321303313013233113133201320132013211301320000000003``AH`00000000```````````````AHb000`0```````````AFb0`AGfAGh10012AGj22AGl33232233`4``44````AHdAHjAGb21022220010210210210221021022222222222210222210210200021020AHf3313213213213332131``AIfAId010111100101010101101000000000000100001011001100`101010100011`BNjAIhAIj210``0100210210000101002102102102100210001000000000210111210210010210000101002102102101102100BNl``AFf``AIn00000000000001AJb1111AGn22223212222222222222ALl00`0`ALj`````1`````1`1``1`1`1111`AJjAL`ALbAFl330Dn00AKl43AJlAK`AKj48AM`28716ALdALf7;24:93810487;22;:98;:98;:98;3;818732824:980`77;24:93381077;24:9338107;24:938106:977777;24:938102;;;;;<<<<3333<<<<<<<<77;;24:938102777;24:938810833331323333333313333337;488``7;24:9381033337;24:9381077;24:938103381887;782;837;24:938108;<<<18`4`4182378;3182;`32`8;:987;7;24:938107;24:938107;24:93810;338;37;24:938101``BNnANh1001010101000100100101001000010101010`BBnBA`````AOj```AOb00```000```````000`F``B@b1`0`1`1`1`1`0`AC`AD`10Ff`AOlB@`B@d854`;BCf;`<:3AOn382<``435``::````0````;40382:`=:ANnAO`>22==99<<00;;11B@lBAjBAdB@f1BAl22BAbBAh?>AOb>AC`AD`?>=6B@hFfB@jBAf;AOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdANnAO`AObANjAC`AD`AOdAOfAOhB@fB@hFfB@jB@lB@nACdBA`ADbBAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdANjANnAO`AOb3AC`AD`AOdAOfAOhAOjAOlAOnB@`B@bB@dF`>==>ADb`?>=ANj=<;:9B@fB@hFfB@jB@lB@nACdBA`9BAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdANnAO`AObANjAC`AD`AOdAOfAOhB@fB@hFfB@jB@lB@nACdBA`ADbBAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdANn0AO`0AOb0ANj0AC`AD`AOdAOfAOh0B@f0B@h0FfB@j0B@l0B@n0ACdBA`0ADbBAb0BAd0BAf0BAh0AOj0AOl0AOn0B@`0B@b0B@d0F`0BAj0BAl0BAn0BB`0BBb0BBd0ANnAO`AObANjAC`AD`AOdAOfAOhB@fB@hFfB@jB@lB@nACdBA`ADbBAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdAObANjAC`AD`AOdAOfAOhB@fB@hFfB@jB@lB@nACd====<<<<;;;;::::9999888877776666555544443333222211110000<=B@jB@lB@n0ACdBA`ADbBAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdANnAO`AObANjAC`AD`AOdAOfAOhB@fB@hFfB@jB@lB@nACdBA`ADbBAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdANnAO`AObANjAC`AD`AOdAOfAOhB@fB@hFfB@jB@lB@nACdBA`ADbBAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBdANj0ANnAO`AOb3AC`AD`AOdAOfAOhB@fB@hFfB@jB@lB@nACdBA`ADbBAbBAdBAfBAhAOjAOlAOnB@`B@bB@dF`BAjBAlBAnBB`BBbBBd`````BCh0000000000000000``BCjBCl22222222`````BDfBDhBDdBDj1321032103210321032103032103210321032101BD`444333214321432143214321432132432143214321432143212243214444```BCn`BE`BDlBDn2102102102102102102102102102102222111100002102100210210210210210210210210210210210ACjAClEj11`21````00`1`20BEd11113013011313131330`3013011301130133333033113011113AChACn55343523AE`563463466344045464645634634634634BO`BObBOd2```````BGl00``AEbBGfBGnBGhBH`BHbBHdBHf648888876543210876543210876543210765432107654321073210777778765432108765432108876543210876543210788765432108876543210776532177777787887654321087654321087654321048765432104587477654321088765432108765432108765432105876543210BOf0BOhBOj``En``ACf0``1`1`1`1``0``0BInBJ`BJbBJdBJfBJhBIl8BJj99993In987165432:987165432:2:98765432:98765432:98765432:88071`987165432:987165432::98877165432::987165432:387888877771298765432::99877165432::::8808::987165432::987165432:654328987165432:28888780987165432:7887::3:2098765432::987165432:987165432:987165432:0987165432:7BOlBOnC@`C@bC@d4332``Fd`0``0BK`1111J`12122222001`121221221200122122222121212AEd23BKb444224434343434C@fC@h``BKd0BKf10111101010100101010100101010110101010`````````BKh`AIl01100000000010000000011000000000`````````````ADdBKlBKjC@jBLh43243204324324324242C@l530543543554335435355553333115435435353BLj26540654BLl476503`BLf486487654448632448761128768768765C@n6987`BJn","f":"`````````````````````````````{{bd}f}000000{b{{b{h}}}}00000``{{{b{j}}}{{n{{b{l}}}}}}{{{b{A`}}}{{n{{b{l}}}}}}{{{b{{Ab{c}}}}}bAd}{{{b{Af{Ab{c}}}}}{{b{Af}}}Ad}{{{b{{Ab{c}}}}}nAd}{b{{b{c}}}{}}0000000{{{b{Af}}}{{b{Afc}}}{}}0000000{AhA`}{AjA`}{{{Al{c}}}A`{{B`{An}}}}{{BbAn}j}{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}{{{b{{Ab{c}}}}}{{Ab{c}}}{BdAd}}{{{b{j}}}j}{{{b{Ah}}}Ah}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}Bd}{{{b{A`}}}A`}{{{b{{Bf{c}}}}}{{Bf{c}}}Bd}{{b{b{Afc}}}f{}}000000{bf}000000{{{b{{Ab{c}}}}}{{Bh{{Ab{c}}}}}Ad}{{{b{{Ab{c}}}}{b{{Bj{ce}}}}}{{Bh{{Ab{c}}}}}AdBl}{{{b{Bn}}}{{Bh{c}}}C`}{b{{Bh{c}}}{}}{{{b{{Ab{c}}}}{b{AfCb}}Cd}{}Ad}`{{}Cf}{Ch{{b{c}}}{}}000000{{{b{{Bf{c}}}}}{{b{e}}}{}{}}1{Ch{{b{Afc}}}{}}0000000{{{b{j}}}{{b{Cj}}}}{{{b{A`}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{c{{Cn{{Ab{e}}}}}D`Ad}{c{{Cn{j}}}D`}22222{c{{Cn{A`}}}D`}33{Chf}0000000{{{b{{Ab{c}}}}{b{{Ab{c}}}}}DbAd}{{b{b{c}}}Db{}}000`{{{b{{Ab{c}}}}{b{{Ab{c}}}}{b{{Dl{{Dj{{n{{Dh{c{Dd{c}}Df}}}}}}}}}}}{{Cn{fDn}}}Ad}{Ah{{Cn{cA`}}}{}}{Aj{{Cn{cA`}}}{}}{{{Al{c}}}{{Cn{eA`}}}{{B`{An}}}{}}`{{{b{Af{Ab{c}}}}Ch}{{Cn{fE`}}}Ad}{{{b{Af{Ab{c}}}}}fAd}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cn{fEd}}}{EfAd}}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cn{fEd}}}Ad}{{{b{j}}{b{AfEb}}}Eh}0{{{b{Ah}}{b{AfEb}}}Eh}{{{b{Aj}}{b{AfEb}}}Eh}{{{b{{Al{c}}}}{b{AfEb}}}EhEf}{{{b{A`}}{b{AfEb}}}Eh}0{{{b{{Bf{c}}}}{b{AfEb}}}EhEf}{cc{}}{Ejj}1{{{El{AnBb}}}j}{Enj}{F`j}{Fbj}{Fdj}666{FfA`}7{FhA`}8{Fjc{}}{{{Dl{c}}}{{Bf{c}}}{}}{c{{Bf{c}}}{}};{Flc{}}0{ceFn{}}{ceG`{}}{{{b{{Gb{c}}}}}{{Ab{c}}}Ad}3{{bb}{{Ab{c}}}Ad}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{{Ab{c}}}}{b{Afe}}}fAdGj}{c{{Gl{ce}}}{GnH`Hb}{}}00{{{b{{Ab{c}}}}}CdAd}{{}}0`{{}Ch}0000000`````{cjGn}{{}c{}}0000000{{Ahc}A`{}}{{Ajc}A`{}}{{{Al{c}}e}A`{{B`{An}}}{}}{{{b{{Ab{c}}}}}{{Dh{c{Hd{c}}Hf}}}Ad}{{}{{Cn{HhHj}}}}0000000{b{{Hl{c}}}{}}{b}`````{{{b{{Ab{c}}}}}{{Bh{{Ab{c}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}22222222`{{{b{{Bf{c}}}}i}{{Ib{{I`{Hn}}}}}{H`Hb}{}{}{H`{Ih{{b{e}}}{{Id{{If{g}}}}}}}}{{Cfe{Ij{cgi}}k}{{Cn{fj}}}Ad{{Il{c}}{In{c}}J`JbH`Hb}{{Jd{c}}}BlJf}{{{b{{Ab{c}}}}e}Cn{AdJh}Jj}{{{b{j}}c}CnJj}{{{b{A`}}c}CnJj}{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}`{{{b{j}}}Bb}{{{b{A`}}}Bb}```{bc{}}000000{bAn}00{c{{Cn{e}}}{}{}}0000000{{}{{Cn{c}}}{}}0000000{Bn{{Cn{cBn}}}C`}{{}{{Cn{cc}}}{}}{bJl}0000000`{{{b{Af{Ab{c}}}}}nAd}{{{b{{Ab{c}}}}}{{n{{Dh{c{Dd{c}}Df}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}{{}c{}}0000000`````````````````````````````````````````````````````````{{bd}f}0000000000000000`{b{{b{h}}}}00000{{{b{{Jn{c}}}}}{{n{{b{l}}}}}Ad}{{{b{Fb}}}{{n{{b{l}}}}}}{{{b{{K`{c}}}}}{{Kb{c}}}Ad}{{{b{{Kd{c}}}}}{{Kb{c}}}Ad}{{{b{{Kf{c}}}}}{{Kb{c}}}Ad}{{{b{{Kh{c}}}}}{{Kb{c}}}Ad}{{{b{{Kh{c}}}}}CdAd}{b{{b{c}}}{}}000000000000000000{{{b{Af}}}{{b{Afc}}}{}}000000000000000000{{{Kj{c}}}Fb{{B`{An}}}}{{{Kl{c}}}Fb{{B`{An}}}}{{{Kn{c}}}Fb{{B`{An}}}}{{{L`{ce}}}Fb{{B`{Cd}}}{{B`{Cd}}}}{{{Lb{ce}}}Fb{{B`{An}}}{{B`{Bb}}}}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{Bh{k}}}{{n{c}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Jn{c}}}}}{{n{{b{h}}}}}Ad}{{{b{Fb}}}{{n{{b{h}}}}}}{{{b{{Mh{c}}}}}{{Mh{c}}}Ad}{{{b{{Mj{c}}}}}{{Mj{c}}}Ad}{{{b{{K`{c}}}}}{{K`{c}}}{BdAd}}{{{b{{Jn{c}}}}}{{Jn{c}}}{BdAd}}{{{b{{Ml{c}}}}}{{Ml{c}}}{BdAd}}{{{b{{Kd{c}}}}}{{Kd{c}}}{BdAd}}{{{b{{Kf{c}}}}}{{Kf{c}}}{BdAd}}{{{b{{Kh{c}}}}}{{Kh{c}}}{BdAd}}{{{b{{Mn{c}}}}}{{Mn{c}}}{BdAd}}{{{b{{N`{c}}}}}{{N`{c}}}{BdAd}}{{{b{Nb}}}Nb}{{{b{{Kj{c}}}}}{{Kj{c}}}Bd}{{{b{{Kl{c}}}}}{{Kl{c}}}Bd}{{{b{{Kn{c}}}}}{{Kn{c}}}Bd}{{{b{{L`{ce}}}}}{{L`{ce}}}BdBd}{{{b{{Lb{ce}}}}}{{Lb{ce}}}BdBd}{{{b{Fb}}}Fb}{{b{b{Afc}}}f{}}0000000000000000{bf}0000000000000000{{{b{{Mh{c}}}}{b{{Mh{c}}}}}NdAd}{{{b{{Mj{c}}}}{b{{Mj{c}}}}}NdAd}{{{b{{Kf{c}}}}}{{b{Nf}}}Ad}{{b{b{c}}}Nd{}}0{{{Nh{c}}g}{{Cn{ce}}}{}{hNj}{{O`{e}{{Nl{Nn}}}}}}{{{b{{Kd{c}}}}}{{b{{Ob{c}}}}}Ad}{{}Od}{{{b{Od}}c}{{Cn{{Of{eFbc}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}000000000000000000{Ch{{b{Afc}}}{}}000000000000000000{{{b{{Jn{c}}}}}{{b{Cj}}}Ad}{{{b{Fb}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}000{c{{Cn{{K`{e}}}}}D`Ad}111{c{{Cn{{Ml{e}}}}}D`Ad}2{c{{Cn{{Kd{e}}}}}D`Ad}{c{{Cn{{Kf{e}}}}}D`Ad}44{c{{Cn{{Kh{e}}}}}D`Ad}5{c{{Cn{{Mn{e}}}}}D`Ad}6{c{{Cn{{N`{e}}}}}D`Ad}777777{c{{Cn{Fb}}}D`}8{Chf}000000000000000000{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}{{I`{Mf}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Ml{c}}}}}{{`{{Mf{}{{Md{{El{{Ol{c}}{On{c}}}}}}}}}}}Ad}{{{b{{Mh{c}}}}{b{{Mh{c}}}}}DbAd}{{{b{{Mj{c}}}}{b{{Mj{c}}}}}DbAd}{{{b{{K`{c}}}}{b{{K`{c}}}}}Db{LlAd}}{{{b{{Ml{c}}}}{b{{Ml{c}}}}}Db{LlAd}}{{{b{{Kd{c}}}}{b{{Kd{c}}}}}Db{LlAd}}{{{b{{Kf{c}}}}{b{{Kf{c}}}}}Db{LlAd}}{{{b{{Kh{c}}}}{b{{Kh{c}}}}}Db{LlAd}}{{{b{{Mn{c}}}}{b{{Mn{c}}}}}Db{LlAd}}{{{b{{N`{c}}}}{b{{N`{c}}}}}Db{LlAd}}{{b{b{c}}}Db{}}00000000000000000000000000000000000`{{{Kj{c}}}{{Cn{eFb}}}{{B`{An}}}{}}{{{Kl{c}}}{{Cn{eFb}}}{{B`{An}}}{}}{{{Kn{c}}}{{Cn{eFb}}}{{B`{An}}}{}}{{{L`{ce}}}{{Cn{gFb}}}{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lb{ce}}}{{Cn{gFb}}}{{B`{An}}}{{B`{Bb}}}{}}`{{{b{{Mh{c}}}}{b{AfEb}}}EhAd}0{{{b{{Mj{c}}}}{b{AfEb}}}EhAd}0{{{b{{K`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Jn{c}}}}{b{AfEb}}}EhAd}{{{b{{Jn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Ml{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Mn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{N`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{Nb}}{b{AfEb}}}Eh}{{{b{{Kj{c}}}}{b{AfEb}}}EhEf}{{{b{{Kl{c}}}}{b{AfEb}}}EhEf}{{{b{{Kn{c}}}}{b{AfEb}}}EhEf}{{{b{{L`{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{Lb{ce}}}}{b{AfEb}}}EhEfEf}{{{b{Fb}}{b{AfEb}}}Eh}0{cc{}}0{Ch{{Mh{c}}}Ad}1{{{A@`{c}}}{{Mh{c}}}Ad}{Ch{{Mj{c}}}Ad}{{{Kb{c}}}{{Mj{c}}}Ad}44444{{{Ml{c}}}{{Kd{c}}}Ad}55{{{Ml{c}}}{{Mn{c}}}Ad}66666666{{{El{AnBb}}}Fb}7{A@bFb}{b{{A@d{{K`{c}}}}}Ad}{b{{A@d{{Ml{c}}}}}Ad}{b{{A@d{{Kd{c}}}}}Ad}{b{{A@d{{Kf{c}}}}}Ad}{{bb}{{K`{c}}}Ad}{{bb}{{Ml{c}}}Ad}{{bb}{{Kd{c}}}Ad}{{bb}{{Kf{c}}}Ad}{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}m}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}{{B`{{Mj{e}}}}H`Hb}}{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}m}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}{{AAb{Ch}}H`}}{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}m}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}{{B`{{Mh{e}}}}H`Hb}}232{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}{AAd{e}}}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}}43{{{b{{Mh{c}}}}{b{Afe}}}fAdGj}{{{b{{Mj{c}}}}{b{Afe}}}fAdGj}{{{b{{K`{c}}}}}{{A@`{c}}}Ad}{{{b{{Ml{c}}}}}{{Kb{c}}}Ad}{{{b{{Kd{c}}}}}AAfAd}{{{b{{Kh{c}}}}}{{AAd{c}}}Ad}{{{b{{Mn{c}}}}}{{Kb{c}}}Ad}{c{{Gl{ce}}}{GnH`Hb}{}}0{{{b{{K`{c}}}}}{{b{{AAh{c}}}}}Ad}1{{{b{{Ml{c}}}}}{{b{{AAh{c}}}}}Ad}{{{b{{Mn{c}}}}}{{b{{AAh{c}}}}}Ad}3{{{b{{K`{c}}}}}CdAd}{{{b{{Ml{c}}}}}CdAd}{{{b{{Kd{c}}}}}CdAd}{{{b{{Kf{c}}}}}CdAd}{{{b{{Mn{c}}}}}CdAd}`{{}}0{{{b{{Kh{c}}}}}CdAd}`{{}Ch}000000000000000000{{{b{AfAAj}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAAj}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAAj}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{cFbGn}{{}c{}}000000000000000000{{Nbc}Fb{}}{{{Kj{c}}e}Fb{{B`{An}}}{}}{{{Kl{c}}e}Fb{{B`{An}}}{}}{{{Kn{c}}e}Fb{{B`{An}}}{}}{{{L`{ce}}g}Fb{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lb{ce}}g}Fb{{B`{An}}}{{B`{Bb}}}{}}{{{Nh{c}}}eH`{}}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}Db{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Ml{c}}}}}DbAd}{{{b{{Nh{c}}}}}Db{}}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}e{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}{{}{{Cn{HhHj}}}}000000000000000000{{{b{{K`{c}}}}}{{b{{Ab{c}}}}}Ad}`{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}}Ch{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}{{{b{{Ml{c}}}}}ChAd}{{{Nh{c}}g}{{Nh{e}}}{}{}{H`{Ih{c}{{Id{e}}}}}}`{{{b{{Ml{c}}}}}{{b{{AAn{c}}}}}Ad}{{{Ab{c}}{AB`{c}}}{{Cn{{K`{c}}{Jn{c}}}}}Ad}{{{AAh{c}}{Ob{c}}}{{Ml{c}}}Ad}{{{AAh{c}}Nf}{{Kf{c}}}Ad}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}Ch}{{n{c}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}Ch}{{n{k}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}Ch}{{n{{El{kg}}}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Ml{c}}}}}CdAd}{{{b{{Mn{c}}}}}CdAd}{{{b{{Mh{c}}}}{b{{Mh{c}}}}}{{n{Nd}}}Ad}{{{b{{Mj{c}}}}{b{{Mj{c}}}}}{{n{Nd}}}Ad}{{{b{{Ml{c}}}}}{{b{{Ob{c}}}}}Ad}{{{b{{K`{c}}}}}AAfAd}{{{b{{Ml{c}}}}}AAfAd}{{{b{{Kf{c}}}}}AAfAd}{b}000000000000000000{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{b{c}}}{{n{g}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}}0{{{b{{Kh{c}}}}}{{b{{ABb{c}}}}}Ad}{{{b{{K`{c}}}}}{{b{{AB`{c}}}}}Ad}`{{{Nh{c}}}cH`}```{{{b{{K`{c}}}}e}CnAdJj}{{{b{{Ml{c}}}}e}CnAdJj}{{{b{{Kd{c}}}}e}CnAdJj}{{{b{{Kf{c}}}}e}CnAdJj}{{{b{{Kh{c}}}}e}CnAdJj}{{{b{{Mn{c}}}}e}CnAdJj}{{{b{{N`{c}}}}e}CnAdJj}{{{b{Fb}}c}CnJj}{{{b{{Ml{c}}}}}CdAd}{{{b{{Kd{c}}}}}CdAd}{{{b{{Mn{c}}}}}CdAd}{{{b{{Jn{c}}}}}{{n{{b{h}}}}}Ad}{{{b{Fb}}}{{n{{b{h}}}}}}{{{b{Fb}}}Bb}`{{{b{{Il{}{{A@f{c}}{A@h{g}}{A@j{i}}{A@l{k}}}}}}Ch}{{Ib{{I`{Hn}}}}}{{A@n{}{{Md{{Nh{{K`{e}}}}}}}}AA`H`}Ad{{A@n{}{{Md{{Nh{{Ml{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kd{e}}}}}}}}AA`H`}{{A@n{}{{Md{{Nh{{Kf{e}}}}}}}}AA`H`}}0000000{{{b{ABd}}}Cd}{bc{}}0000000000000000{bAn}000{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{b{c}}}{{n{k}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Ml{c}}}}{b{{Ol{c}}}}}{{n{{On{c}}}}}Ad}{{{b{{Kh{c}}}}}{{b{{On{c}}}}}Ad}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{Bh{k}}}{{n{k}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Ml{c}}}}{Bh{{On{c}}}}}{{n{{Ol{c}}}}}Ad}{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{Bh{k}}}{{n{{El{kg}}}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}0{{{b{{Lj{}{{Ld{c}}{Lf{e}}{Lh{g}}}}}}{b{i}}{b{c}}}{{n{{El{kg}}}}}{BdEfLlLnM`JhMbH`Hb}{{Mf{}{{Md{c}}}}}{BdEfLlLnJhMbH`Hb}{}{}}{c{{Cn{e}}}{}{}}000000000000000000{{}{{Cn{c}}}{}}000000000000000000{{{Nh{c}}}{{Cn{c{Nh{c}}}}}{}}{bJl}000000000000000000{{}c{}}000000000000000000{{{Nh{c}}i}{{Cn{ce}}}{}{hNj}{{O`{e}{{Nl{Nn}}}}}{{Ih{}{{Id{g}}}}}}{{{Nh{c}}ABf}{{n{c}}}H`}```````````````````{{bd}f}0{{{b{Af{ABh{ce}}}}}{{b{Afe}}}{}{}}{{{b{{ABh{ce}}}}}{{b{e}}}{}{}}`{{{b{{ABh{ce}}}}}{{Ib{{I`{Hn}}}}}{J`H`Hb}{H`Hb}}{{{b{{ABh{eg}}}}}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}}{{{b{ABj}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{{ABh{ce}}}}}{{ABh{ce}}}BdBd}{{{b{ABj}}}ABj}{{b{b{Afc}}}f{}}0{bf}0{ABl{{`{{Hn{}{{Id{{ABn{f}}}}}}H`}}}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}09{Ch{{Ib{{I`{Hn}}}}}}0{{}ABj}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{Chf}0`{{{b{{ABh{ce}}}}{b{AfEb}}}EhEfEf}{{{b{ABj}}{b{AfEb}}}Eh}{cc{}}0`{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}{{B`{{Mj{c}}}}H`Hb}}{{{b{{ABh{eg}}}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}{{AAb{Ch}}H`}}{{{b{{ABh{eg}}}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}iCd}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}{{B`{{ACf{c}}}}H`Hb}}{{{b{{ABh{ce}}}}}{{Ib{{I`{Hn}}}}}{AChHb}{H`Hb}}{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}{{B`{{Mh{c}}}}H`Hb}}5{{{b{{ABh{gi}}}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{ACn{ce}}Hb}{H`Hb}}86{{{b{{ABh{eg}}}}An}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad{{Il{c}}H`Hb}{H`Hb}}{{{b{{ABh{eg}}}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}{{{b{{ABh{eg}}}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad{{ACb{c}}Hb}{H`Hb}}<:{{{b{{ABh{ce}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}ADh{BdADjH`Hb}}{{{b{ABj}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}}{{}Ch}0{{{b{{ABh{ce}}}}}{{b{c}}}{}{}}{{{b{Af{ABh{ce}}}}}{{b{Afc}}}{}{}}{{{b{Af{ABh{eg}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}{H`Hb}}{{{b{Af{ABh{eg}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}{H`Hb}}{{{b{Af{ABh{gi}}}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}{H`Hb}}{{{b{Af{ABh{eg}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}{H`Hb}}{{}c{}}0{{}{{Cn{HhHj}}}}0{{{b{{ABh{ce}}}}}{{b{AEb}}}AEd{}}{{{b{ABj}}}{{b{AEb}}}}{{ce}{{ABh{ce}}}{}{}}`{{{b{{ABh{eg}}}}}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}}`{b}0{b{{I`{AEf}}}}0{{{b{{Jb{}{{AEh{c}}{AEj{e}}}}}}}{{`{{Hn{}{{Id{{ABn{e}}}}}}H`}}}ABlABl}{{{b{{ABh{ce}}}}}{{ABn{g}}}{JbH`}{H`Hb}{}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}0{ABl{{`{HnH`}}}}{{{b{Af{ABh{gi}}}}Ch}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}{H`Hb}}```7{bc{}}0{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}0{{{b{AfAEl}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{{ABh{eg}}}}i}{{Ib{{I`{Hn}}}}}Ad{{In{c}}H`Hb}{H`Hb}{{B`{{Mj{c}}}}H`Hb}}{{}c{}}0{{{b{{Jb{}{{AEh{c}}{AEj{e}}}}}}}{{`{{Hn{}{{Id{{ABn{c}}}}}}H`}}}ABlABl}<{{}f}0`````{{bd}f}0{{{b{Af{AEn{ce}}}}}{{b{Afe}}}Ad{}}{{{b{{AEn{ce}}}}}{{b{e}}}Ad{}}{{{b{{AF`{ceg}}}}}{{b{e}}}Ad{}{}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}Ad{JbAEdH`Hb}{H`Hb}}{b{{b{c}}}{}}000{{{b{Af}}}{{b{Afc}}}{}}000{{{AFd{ceg}}}{{ABn{{AF`{ceg}}}}}Ad{AFfJbAEd}{{AFh{c}}}}{{cg}{{AFd{ecg}}}{JbAFfAEd}Ad{{AFh{e}}}}{{{b{{AF`{ceg}}}}}{{AF`{ceg}}}Ad{}{}}{{{b{{AFj{ceg}}}}}{{AFj{ceg}}}Ad{}{}}{{b{b{Afc}}}f{}}0{bf}0{{{AEn{ce}}}{{ABn{f}}}AdABl}{{AFle}{{Cn{{AFn{ce}}Dn}}}Ad{{AFh{c}}}}<;{{{b{AG`}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{{{b{AfAGd}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{Ch{{b{c}}}{}}000{Ch{{b{Afc}}}{}}000{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}000{{{AFd{ceg}}}{{AFd{ceg}}}{}{}{}}{Chf}000{{{b{{AEn{ce}}}}{b{AfEb}}}Eh{AdEf}Ef}{{{b{{AF`{ceg}}}}{b{AfEb}}}EhAdEfEf}{{{b{{AFj{ceg}}}}{b{AfEb}}}EhAdEfEf}{cc{}}000{{{b{Af{AEn{ce}}}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{B`{{Mj{c}}}}H`Hb}}{{{b{Af{AEn{ce}}}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{AC`{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}g}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}{{AAb{Ch}}H`}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{AAb{Ch}}H`}}{{{b{Af{AEn{ce}}}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{ACd{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}9{{{b{Af{AEn{ce}}}}gCd}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}{{B`{{ACf{c}}}}H`Hb}}{{{b{{AF`{ceg}}}}iCd}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}{{B`{{ACf{c}}}}H`Hb}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{AGjH`}}3{{{b{Af{AEn{ce}}}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{B`{{Mh{c}}}}H`Hb}}:9{{{b{Af{AEn{cg}}}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AGl{ce}}H`}}{{{b{{AF`{ceg}}}}{ACj{ci}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}{{ACl{c}}}}{{{b{Af{AEn{ce}}}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{B`{{Mj{c}}}}H`Hb}}>={{{b{Af{AEn{ce}}}}An}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}An}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}}{{{b{{AF`{ceg}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}}{{{b{Af{AEn{ce}}}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{AD`{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{{{b{Af{AEn{ce}}}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad{{AGh{c}}H`}}{{{b{{AF`{ceg}}}}{ADb{c}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}98{{{b{Af{AEn{ce}}}}g}{{Ib{{I`{Hn}}}}}Ad{{AGf{c}}}{{AAb{Ch}}H`}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{{AFh{c}}}{{AAb{Ch}}H`}}{{}Ch}000{{{b{Af{AEn{ce}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}}{{{b{Af{AEn{ce}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}}{{{b{Af{AEn{cg}}}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}}{{{b{Af{AEn{ce}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad{{AAj{c}}H`Hb}}{{}c{}}000{{}{{Cn{HhHj}}}}000{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{AGnH`}}{{{b{{AF`{ceg}}}}}{{b{AEb}}}AdAEd{}}{{ce}{{AFd{gce}}}{}{}{}}{{{b{AG`}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{{{b{AfAGd}}e}{{ABn{{AF`{c{AGb{c}}e}}}}}Ad{{AFh{c}}}}{{{b{Af{AEn{ce}}}}}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}}{{{b{{AF`{ceg}}}}}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}}{b}000{b{{I`{AEf}}}}{{{b{{AF`{ceg}}}}}{{ABn{i}}}Ad{JbH`Hb}{H`Hb}{}}{{{AEn{ce}}}{{`{HnH`}}}AdABl}{{{b{Af{AEn{cg}}}}Ch}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}{{AE`{ce}}H`Hb}}{{{b{{AF`{c{AGb{c}}e}}}}}{{ABn{f}}}Ad{{AFh{c}}}}76{bc{}}0{c{{Cn{e}}}{}{}}000{{}{{Cn{c}}}{}}000{bJl}000{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AEn{ce}}}}g}{{Ib{{I`{Hn}}}}}Ad{{AFb{c}}H`}{{B`{{Mj{c}}}}H`Hb}}{{{b{{AF`{ceg}}}}i}{{Ib{{I`{Hn}}}}}AdJb{H`Hb}{{B`{{Mj{c}}}}H`Hb}}{{}c{}}000{{{AFd{ceg}}ABf}{{AFd{ceg}}}{}{}{}}0{{{AFd{ceg}}Ch}{{AFd{ceg}}}{}{}{}}010001=``{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{{{b{AG`}}e}{{ABn{{AH`{ce}}}}}Ad{{AFh{c}}}}{Ch{{Ib{{I`{Hn}}}}}}{{{b{AfAGd}}e}{{ABn{{AH`{ce}}}}}Ad{{AFh{c}}}}{{{b{{AH`{ADdc}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}{{AFh{ADd}}ADj}}314{{{b{{AH`{ce}}}}}{{ABn{f}}}Ad{{AFh{c}}}}{{}f}00000000``````6{{AFle}{{Cn{{AFn{ce}}Dn}}}Ad{{AFh{c}}}}5{{{b{{AHb{ADdc}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}{{AFh{ADd}}ADj}}`8``2````````{{{b{AfAFb}}}{{Ib{{I`{Hn}}}}}}0`{{{b{AfAGf}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGf}}c}{{Ib{{I`{Hn}}}}}{{AAb{Ch}}H`}}{{{b{AfAGh}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}}{{Ib{{I`{Hn}}}}}}4{{{b{AfAFb}}eCd}{{Ib{{I`{Hn}}}}}Ad{{B`{{ACf{c}}}}H`Hb}}{{{b{AfAGj}}}{{Ib{{I`{Hn}}}}}}{{{b{AfAGf}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad}5{{{b{AfAGl}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}}86{{{b{AfAGh}}An}{{Ib{{I`{Hn}}}}}}{{{b{AfAGf}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAGh}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad}<:`=``={{{b{AfAFb}}e}{{Ib{{I`{Hn}}}}}Ad{{B`{{Mj{c}}}}H`Hb}}````{{{b{Af{AHd{e}}}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{AHd{{AHn{{AHj{c}}}}}}}{{ABn{f}}}Ad}{{{AHd{{AI`{{AHj{c}}}}}}}{{ABn{f}}}Ad}4{{{b{AG`}}}{{Cn{{AGb{c}}AIb}}}Ad}{{{b{AfAGd}}}{{Cn{{AGb{c}}AIb}}}Ad}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{Chf}0{{{b{Af{AHd{c}}}}}fAHf}1{{{b{{AHj{c}}}}{b{AfEb}}}EhAd}{{{b{{AGb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AHd{c}}}}{b{AfEb}}}Eh{EfAHf}}{cc{}}00{{{b{Af{AHd{e}}}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}}{{{b{Af{AHd{e}}}}g}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}{{AAb{Ch}}H`}}1{{{b{Af{AHd{e}}}}gCd}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}{{B`{{ACf{c}}}}H`Hb}}{{{b{Af{AHd{e}}}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}}232{{{b{Af{AHd{e}}}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`Hb}}43{{}Ch}00{{{b{Af{AHd{{AI`{{AHj{c}}}}}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AHd{{AI`{{AHj{c}}}}}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AHd{{AI`{{AHj{c}}}}}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{{}c{}}00{{}{{Cn{HhHj}}}}00{{{b{{AGb{c}}}}}{{b{AEb}}}Ad}{{{b{AG`}}}{{Cn{{AGb{c}}AIb}}}Ad}{{{b{AfAGd}}}{{Cn{{AGb{c}}AIb}}}Ad}{{{b{Af{AHd{e}}}}}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}}{b}00{{{b{{AGb{c}}}}}{{ABn{e}}}Ad{}}{{{b{AfAHf}}}f}{{{AHd{{AI`{{AHj{c}}}}}}}{{`{HnH`}}}Ad}{{{AHd{{AHn{{AHj{c}}}}}}}{{`{HnH`}}}Ad}{{{b{{AGb{c}}}}}{{Cn{fAIb}}}Ad}6{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AHd{e}}}}g}{{Ib{{I`{Hn}}}}}Ad{AHf{AHl{}{{AHh{{AHj{c}}}}}}H`}{{B`{{Mj{c}}}}H`Hb}}{{}c{}}00:``{{bd}f}{{{b{AfAId}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{AIf}}}AIf}{{b{b{Afc}}}f{}}{bf}{AId{{ABn{f}}}}6{{}AIf}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{Chf}0{{{b{AIf}}{b{AfEb}}}Eh}{cc{}}0{{{b{AfAId}}{Mj{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAId}}c}{{Ib{{I`{Hn}}}}}{{AAb{Ch}}H`}}1{{{b{AfAId}}eCd}{{Ib{{I`{Hn}}}}}Ad{{B`{{ACf{c}}}}H`Hb}}{{{b{AfAId}}{Mh{c}}}{{Ib{{I`{Hn}}}}}Ad}232{{{b{AfAId}}{AAd{c}}}{{Ib{{I`{Hn}}}}}Ad}43{{}Ch}0{{{b{AfAId}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAId}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{AfAId}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{{}c{}}0{{}{{Cn{HhHj}}}}0{{{b{AIf}}}{{b{AEb}}}}{{{b{AfAId}}}{{Ib{{I`{Hn}}}}}}{b}0{{{b{AIf}}}{{ABn{c}}}{}}{AId{{`{HnH`}}}}3`{bc{}}{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}0{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{AfAId}}e}{{Ib{{I`{Hn}}}}}Ad{{B`{{Mj{c}}}}H`Hb}}<<7`````````{{bd}f}{{{b{Af{AIh{c}}}}}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}}{{{b{AIj}}}{{Ib{{I`{Hn}}}}}}0{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{AIj}}}AIj}{{b{b{Afc}}}f{}}{bf}{{{AIh{c}}}{{ABn{f}}}ABl}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}87{Ch{{Ib{{I`{Hn}}}}}}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{Chf}00{{{b{AIj}}{b{AfEb}}}Eh}{cc{}}00{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{B`{{Mj{ADd}}}}H`Hb}}{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{AAb{Ch}}H`}}{{{b{Af{AIh{c}}}}eCd}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}{{B`{{ACf{ADd}}}}H`Hb}}{{{b{AIj}}cCd}{{Ib{{I`{Hn}}}}}{{B`{{ACf{ADd}}}}H`Hb}}{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{B`{{Mh{ADd}}}}H`Hb}}343{{{b{AIj}}{AAd{ADd}}}{{Ib{{I`{Hn}}}}}}54{{{b{AIj}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}}{{}Ch}00{{{b{Af{AIh{c}}}}{Ml{ADd}}}{{Ib{{I`{Hn}}}}}{{AAj{ADd}}H`Hb}}{{{b{Af{AIh{c}}}}{K`{ADd}}}{{Ib{{I`{Hn}}}}}{{AAj{ADd}}H`Hb}}{{{b{Af{AIh{c}}}}{Kf{ADd}}{n{AAl}}}{{Ib{{I`{Hn}}}}}{{AAj{ADd}}H`Hb}}{{}c{}}00{{}{{Cn{HhHj}}}}00{{{b{AIj}}}{{b{AEb}}}}{{{b{Af{AIh{c}}}}}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}}{{{b{AIj}}}{{Ib{{I`{Hn}}}}}}{b}00{b{{I`{AEf}}}}{{{b{AIj}}}{{ABn{c}}}{}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{{{AIh{c}}}{{`{HnH`}}}ABl}{{{b{Af{AIl{AIj}}}}}{{Ib{{I`{Hn}}}}}}76{bc{}}{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AIh{c}}}}e}{{Ib{{I`{Hn}}}}}{{AFb{ADd}}H`}{{B`{{Mj{ADd}}}}H`Hb}}{{{b{AIj}}c}{{Ib{{I`{Hn}}}}}{{B`{{Mj{ADd}}}}H`Hb}}{{}c{}}00;``````{{bd}f}{{{b{AIn}}}Cd}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{AIn}}}AIn}{{b{b{Afc}}}f{}}{bf}{{}AIn}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{Chf}{{{b{AIn}}{b{AfEb}}}Eh}{cc{}}{{{b{{AFf{}{{AJ`{c}}}}}}}{{Ib{{I`{Hn}}}}}{ADjH`}}{{{b{AJb}}}{{n{AIn}}}}{{}Ch}{{{b{AIn}}}ABf}{{}c{}}{{}{{Cn{HhHj}}}}{{{b{AfAGn}}}{{Ib{{I`{Hn}}}}}}{{{b{AIn}}}AJd}4>{b}{{{b{{AFf{}{{AJ`{c}}}}}}{b{Afc}}}{{Ib{{I`{Hn}}}}}{ADjH`}}{{{b{AIn}}}{{n{Cd}}}}{{{b{AfAJb}}AIn}f}8{bc{}}{c{{Cn{e}}}{}{}}{{}{{Cn{c}}}{}}{bJl}{{{b{AIn}}}{{ABn{f}}}}<{{AInCd}AIn}{{AInABf}AIn}{{AInAJd}AIn}121````````````````````````````````{{bd}f}000{{AJfAnAJhCd}AJj}{{{b{AJj}}}{{n{{b{AJh}}}}}}{AFlAFl}{{{b{Dn}}}{{b{h}}}}0{{{b{Dn}}}{{b{l}}}}{{{b{Af}}}{{`{{Hn{}{{Id{{ABn{f}}}}}}H`}}}}{{{b{Af}}}{{ABn{f}}}}0{{AJlAJn}AJn}{{{b{AfAK`}}c}{{AKb{An}}}{{AKf{AKd}}{AKh{AKd}}}}{{{b{Af{AKj{c}}}}}{{Ib{{I`{Hn}}}}}AKl}{b{{b{c}}}{}}000000000{{{b{Af}}}{{b{Afc}}}{}}000000000{{{b{AfAK`}}c{b{Cj}}}{{AKb{An}}}{{AAb{Ch}}}}{{AFle}{{Cn{{AFn{ce}}Dn}}}Ad{{AFh{c}}}}{{{b{Dn}}}AKn}{{{b{AJj}}}Cd}{{{b{Cj}}}{{Ib{{I`{Hn}}}}}}{{}{{Ib{{I`{Hn}}}}}}{{{b{AJj}}}AJj}{{{b{AL`}}}AL`}{{{b{ALb}}}ALb}{{{b{AFl}}}AFl}{{b{b{Afc}}}f{}}000{bf}000{{{b{AJj}}{b{AJj}}}Nd}{{{AKj{c}}}{{ABn{f}}}AKl}{{b{b{c}}}Nd{}}{{AFle}{{Cn{{AHb{ce}}Dn}}}Ad{{AFh{c}}}}{AFl{{Cn{ALdDn}}}}{{AFlABf}AFl}{{Dnc}Dn{GnH`Hb}}{{{b{Af{AKj{c}}}}}{{Ib{{I`{Hn}}}}}AKl}?{{AFl{b{Cj}}}AFl}{{{b{Cj}}}{{Ib{{I`{Hn}}}}}}{{}AK`}{{}AL`}{{}ALb}{{}AFl}{{}ALf}{{}{{ADn{AJj}}}}{Ch{{b{c}}}{}}{{{b{Dn}}}b}111111{{{b{{AKj{c}}}}}{{b{e}}}{}{}}222{{{b{AfDn}}}{{b{Af}}}}{Ch{{b{Afc}}}{}}00000{{{b{Af{AKj{c}}}}}{{b{Afe}}}{}{}}1111{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}000000000{{}{{b{Cj}}}}00{Dn{{Cn{cDn}}}{GnEfH`Hb}}{{{b{AfDn}}}{{n{{b{Afc}}}}}{GnEfH`Hb}}{{{b{Dn}}}{{n{{b{c}}}}}{GnEfH`Hb}}{{{b{AfDn}}}f}{Chf}000000000{{{b{Cj}}}{{Ib{{I`{Hn}}}}}}{{{b{AJj}}{b{AJj}}}Db}{{b{b{c}}}Db{}}000{{{ALj{}{{ALh{c}}}}e}{{Ib{{I`{Hn}}}}}ALl{{ALn{c}}}}0{{{ALj{}{{ALh{c}}}}e}{{Ib{{I`{A@n}}}}}ALl{{ALn{c}}}}0{{{b{Af{AKj{AL`}}}}c}{{ABn{Cd}}}{{ALn{AKd}}}}{{{b{Af{AKj{AL`}}}}{b{Cj}}c}{{ABn{Cd}}}{AJlBd}}{{{b{Af{AKj{AL`}}}}c}{{ABn{f}}}{{ALn{AKd}}}}{{{b{Af{AKj{AL`}}}}{b{Cj}}c}{{ABn{f}}}{AJlBd}}44554555{{{b{Dn}}{b{AfEb}}}{{Cn{fEd}}}}0{{{b{AJj}}{b{AfEb}}}{{Cn{fEd}}}}0{{{b{AM`}}{b{AfEb}}}{{Cn{fEd}}}}{{{b{AK`}}{b{AfEb}}}Eh}{{{b{AL`}}{b{AfEb}}}Eh}{{{b{ALb}}{b{AfEb}}}Eh}{{{b{{AKj{c}}}}{b{AfEb}}}EhEf}{{{b{AFl}}{b{AfEb}}}Eh}{{{b{ALd}}{b{AfEb}}}Eh}{{{b{ALf}}{b{AfEb}}}Eh}{b{{AMb{AM`}}}}{cc{}}{Fjc{}}{cDn{hH`Hb}}2222222{AMdAFl}33{{{b{Cj}}}{{Cn{AFlc}}}{}}{{{b{Af{AKj{c}}}}{Mj{e}}}{{Ib{{I`{Hn}}}}}AKlAd}{{{b{Af{AKj{c}}}}{AC`{e}}}{{Ib{{I`{Hn}}}}}AKlAd}{{{b{Af{AKj{c}}}}e}{{Ib{{I`{Hn}}}}}AKl{{AAb{Ch}}H`}}{{{b{Af{AKj{c}}}}{ACd{e}}}{{Ib{{I`{Hn}}}}}AKlAd}{{{b{ALd}}}{{Ib{{I`{Hn}}}}}}{{{b{Af{AKj{c}}}}}{{Ib{{I`{Hn}}}}}AKl}{b{{n{{b{Cj}}}}}}6{{{b{Af{AKj{c}}}}gCd}{{Ib{{I`{Hn}}}}}AKlAd{{B`{{ACf{e}}}}H`Hb}}2{{{b{Af{AKj{c}}}}{Mh{e}}}{{Ib{{I`{Hn}}}}}AKlAd}6{{{b{Af{AKj{c}}}}{ACj{eg}}}{{Ib{{I`{Hn}}}}}AKlAd{{ACl{e}}}}97{{{b{ALd}}}{{n{AIn}}}}{{{b{Af{AKj{c}}}}An}{{Ib{{I`{Hn}}}}}AKl}{{{b{Af{AKj{c}}}}{AAd{e}}}{{Ib{{I`{Hn}}}}}AKlAd}{{{b{Af{AKj{c}}}}{AD`{e}}}{{Ib{{I`{Hn}}}}}AKlAd}{{{b{Af{AKj{c}}}}{ADb{e}}}{{Ib{{I`{Hn}}}}}AKlAd}><{c{{Gl{ce}}}{GnH`Hb}{}}0{{{b{AfAK`}}{Mj{c}}}{{AKb{An}}}Ad}{{AFlc}AFl{{B`{An}}}}{{AFlABf}AFl}``{{}Ch}000000000{{{b{Af{AKj{AL`}}}}{Ml{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AKj{AL`}}}}{K`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{Af{AKj{AL`}}}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}}{{{b{Af{AKj{AL`}}}}{Kf{c}}{n{AAl}}}{{Ib{{I`{Hn}}}}}Ad}{{}c{}}000000000{{{b{Dn}}}Db}{{}{{Cn{HhHj}}}}000000000{{{b{Af{AKj{c}}}}g}{{AKb{{AAh{e}}}}}{}Ad{{B`{{Mj{e}}}}H`}}{{{b{Af{AKj{c}}}}}{{Ib{{I`{Hn}}}}}AKl}{{AFlAMf}AFl}{{{b{ALd}}}{{b{AEb}}}}{{AFlc}AFl{{AMh{}{{Md{AJj}}}}}}2{cDn{GnEfH`Hb}}{{{b{AJj}}}{{b{Cj}}}}{cDn{hH`Hb}}{AFlAFl}{b{{n{{b{Cj}}}}}}{{{b{AJj}}{b{AJj}}}{{n{Nd}}}}{{AFl{b{Cj}}}AFl}:{b}000000000{{AFlAJd}AFl}{{{b{AJj}}}{{b{AMj}}}}{{{ALj{}{{ALh{c}}}}{b{Cj}}}{{Ib{{I`{Hn}}}}}ALl}0{{{ALj{}{{ALh{c}}}}{b{Cj}}{b{AMl}}}{{Ib{{I`{Hn}}}}}ALl}{{{b{ALd}}{b{AfALf}}}{{Ib{{I`{Hn}}}}}}{{AFlAIn}{{Cn{AFlDn}}}}{{{b{Cj}}}AJn}{{AK`{b{Cj}}}AJn}{{{b{Cj}}}{{AMn{c}}}AN`}{{AK`{b{Cj}}}{{AMn{c}}}AN`}{{{b{ALd}}}{{ABn{{AKj{ALb}}}}}}?>{{{AKj{c}}}{{`{HnH`}}}AKl}{{{b{Dn}}}{{b{h}}}}{{AFlc}AFl{{B`{An}}}}{{{b{AfAJj}}}f}{{{b{Af{AKj{AL`}}}}Ch}{{Ib{{I`{Hn}}}}}}{{{b{AfALd}}AIn}f}{{AFlABf}AFl}{{{b{Af}}}{{Ib{{I`{Hn}}}}}}{{{b{AJj}}}{{n{{b{Cj}}}}}}`{{{b{Af{AKj{c}}}}}{{Ib{{I`{Hn}}}}}AKl}{{{b{ANb}}}{{Ib{{I`{Hn}}}}}}`{AFlAFl}{bc{}}000{bAn}0{c{{Cn{e}}}{}{}}000000000{{}{{Cn{c}}}{}}000000000{bJl}000000000{{{b{Cj}}{b{Cj}}}{{Cn{AJjANd}}}}{{{b{Af}}{b{{ADf{c}}}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AKj{AL`}}}}{b{Cj}}{ANf{{b{Cj}}}}ce}{{ABn{f}}}{{AMh{}{{Md{{b{Cj}}}}}}}AMh}{{AFl{b{Cj}}}AFl}{{{b{AJj}}}AMf}{{{b{Af{AKj{c}}}}g}{{Ib{{I`{Hn}}}}}AKlAd{{B`{{Mj{e}}}}H`Hb}}{{}c{}}000000000{{{b{ALd}}}{{ABn{{AKj{AL`}}}}}}``{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{ANh}}}AFl}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{Chf}0{{{b{AfANh}}}f}{{{b{ANh}}{b{AfEb}}}Eh}{cc{}}0{{{b{ANh}}}An}{{}Ch}0{{}ANh}>>{{}{{Cn{HhHj}}}}01{b}0{{{b{ANh}}}AJd}88{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}0{{}c{}}0`````````````````````````````````````````````````````````````````````````````````````````````````````{{bd}f}000000000000000{{ANjANj}c{}}{b{{b{h}}}}00000000000000000000000``````````{b{{b{c}}}{}}0000000000000000000000000000000000{{{b{Af}}}{{b{Afc}}}{}}0000000000000000000000000000000000{ANlANj}{{{b{ANn}}}ANn}{{{b{AO`}}}AO`}{{{b{AOb}}}AOb}{{{b{ANj}}}ANj}{{{b{{AC`{c}}}}}{{AC`{c}}}{BdAd}}{{{b{{AD`{c}}}}}{{AD`{c}}}{BdAd}}{{{b{{AOd{c}}}}}{{AOd{c}}}{BdAd}}{{{b{{AOf{c}}}}}{{AOf{c}}}{BdAd}}{{{b{AOh}}}AOh}{{{b{AOj}}}AOj}{{{b{AOl}}}AOl}{{{b{AOn}}}AOn}{{{b{B@`}}}B@`}{{{b{B@b}}}B@b}{{{b{B@d}}}B@d}{{{b{F`}}}F`}{{b{b{Afc}}}f{}}000000000000000{bf}000000000000000{{{b{AOb}}{b{AOb}}}Nd}{{b{b{c}}}Nd{}}````{{}{{ADb{c}}}Ad}{c{{Cn{{Of{eF`c}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}0000000000000000000000000000000000{Ch{{b{Afc}}}{}}0000000000000000000000000000000000{c{{Cn{ANn}}}D`}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{c{{Cn{AO`}}}D`}{c{{Cn{AOb}}}D`}22{c{{Cn{ANj}}}D`}3333{c{{Cn{AOh}}}D`}44{c{{Cn{{B@f{e}}}}}D`Ad}{c{{Cn{{B@h{e}}}}}D`Ad}666{c{{Cn{B@j}}}D`}7{c{{Cn{{B@l{e}}}}}D`Ad}{c{{Cn{{B@n{e}}}}}D`Ad}99{c{{Cn{BA`}}}D`}:::{c{{Cn{BAb}}}D`}{c{{Cn{BAd}}}D`}<{c{{Cn{{BAf{e}}}}}D`Ad}=={c{{Cn{{BAh{e}}}}}D`Ad}>{c{{Cn{AOj}}}D`}{c{{Cn{AOl}}}D`}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{c{{Cn{AOn}}}D`}1{c{{Cn{B@`}}}D`}2{c{{Cn{B@b}}}D`}{c{{Cn{B@d}}}D`}44{c{{Cn{F`}}}D`}{c{{Cn{{BAj{e}}}}}D`Ad}66{c{{Cn{{BAl{e}}}}}D`Ad}{c{{Cn{{BAn{e}}}}}D`Ad}8{c{{Cn{{BB`{e}}}}}D`Ad}9{c{{Cn{{BBb{e}}}}}D`Ad}::{c{{Cn{{BBd{e}}}}}D`Ad}{Chf}0000000000000000000000000000000000{{{b{AOb}}{b{AOb}}}Db}{{{b{ANj}}{b{ANj}}}Db}{{{b{{AC`{c}}}}{b{{AC`{c}}}}}Db{LlAd}}{{{b{{AD`{c}}}}{b{{AD`{c}}}}}Db{LlAd}}{{{b{{AOd{c}}}}{b{{AOd{c}}}}}Db{LlAd}}{{{b{{AOf{c}}}}{b{{AOf{c}}}}}Db{LlAd}}{{{b{AOh}}{b{AOh}}}Db}{{{b{{B@f{c}}}}{b{{B@f{c}}}}}Db{LlAd}}{{{b{{B@h{c}}}}{b{{B@h{c}}}}}Db{LlAd}}{{{b{Ff}}{b{Ff}}}Db}{{{b{B@j}}{b{B@j}}}Db}{{{b{{B@l{c}}}}{b{{B@l{c}}}}}Db{LlAd}}{{{b{{B@n{c}}}}{b{{B@n{c}}}}}Db{LlAd}}{{{b{{ACd{c}}}}{b{{ACd{c}}}}}Db{LlAd}}{{b{b{c}}}Db{}}0000000000000000000000000000000000000000000000000000000{ANlANj}0``{{{b{{BBn{}{{BBf{c}}{BBh{e}}{BBj{g}}{BBl{i}}}}}}}e{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}{{{b{{BBn{}{{BBf{c}}{BBh{e}}{BBj{g}}{BBl{i}}}}}}}c{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}```{{{b{ANn}}{b{AfEb}}}Eh}0{{{b{AO`}}{b{AfEb}}}Eh}0{{{b{AOb}}{b{AfEb}}}Eh}0{{{b{ANj}}{b{AfEb}}}Eh}0{{{b{{AC`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AC`{c}}}}{b{AfEb}}}EhAd}{{{b{{AD`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AD`{c}}}}{b{AfEb}}}EhAd}{{{b{{AOd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AOf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{AOh}}{b{AfEb}}}Eh}{{{b{{B@f{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{B@h{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{Ff}}{b{AfEb}}}Eh}0{{{b{B@j}}{b{AfEb}}}Eh}{{{b{{B@l{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{B@n{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{ACd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BA`}}{b{AfEb}}}Eh}{{{b{{ADb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BAb}}{b{AfEb}}}Eh}{{{b{BAd}}{b{AfEb}}}Eh}{{{b{{BAf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{AOj}}{b{AfEb}}}Eh}0{{{b{AOl}}{b{AfEb}}}Eh}0{{{b{AOn}}{b{AfEb}}}Eh}0{{{b{B@`}}{b{AfEb}}}Eh}0{{{b{B@b}}{b{AfEb}}}Eh}0{{{b{B@d}}{b{AfEb}}}Eh}0{{{b{F`}}{b{AfEb}}}Eh}0{{{b{{BAj{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BB`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBd{c}}}}{b{AfEb}}}Eh{EfAd}}{cc{}}000{ANlANj}1111111{BC`Ff}{BCbFf}333333333333{A`AOj}{FhAOj}{FhAOl}6{A`AOl}{A`AOn}8{FhAOn}{FfAOn}{FhB@`}{A`B@`}<{A`B@b}{FhB@b}{B@`B@b}{AOlB@b}{AOjB@b}{cc{}}{A`B@d}{FhB@d}222{{{B@f{c}}}{{BAj{c}}}Ad}3{{{ADn{{B@h{c}}}}}{{BAl{c}}}Ad}4{{{ADn{{B@n{c}}}}}{{BB`{c}}}Ad}55{{{BAf{c}}}{{BBb{c}}}Ad}6{{{BAh{c}}}{{BBd{c}}}Ad}{b{{A@d{{B@f{c}}}}}Ad}{b{{A@d{{B@h{c}}}}}Ad}`{{{b{ACb}}{AC`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{ACb}}{ACd{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{ACb}}}{{Ib{{I`{Hn}}}}}}{{{b{ACb}}An}{{Ib{{I`{Hn}}}}}}{{{b{ACb}}{AD`{c}}}{{Ib{{I`{Hn}}}}}Ad}{{{b{ACb}}{ADb{c}}}{{Ib{{I`{Hn}}}}}Ad}````{c{{Gl{ce}}}{GnH`Hb}{}}0000000000000`````{{}}0000000{{}Ch}0000000000000000000000000000000000{{}c{}}0000000000000000000000000000000000{{}{{BCd{An}}}}{{{b{AOb}}}Db}00```{{}{{Cn{HhHj}}}}0000000000000000000000000000000000{{{b{{BCf{}{{BBl{c}}}}}}}c{BdEfJhMbH`HbLlLn}}{{{b{{BBn{}{{BBf{c}}{BBh{e}}{BBj{g}}{BBl{i}}}}}}}{{ADn{i}}}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}{{AObANl}ANj}````````{{{b{AOb}}{b{AOb}}}{{n{Nd}}}}{b}0000000000000000000000000000000000{{{b{{BBn{}{{BBf{c}}{BBh{e}}{BBj{g}}{BBl{i}}}}}}}g{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}```{{{b{{BBn{}{{BBf{c}}{BBh{e}}{BBj{g}}{BBl{i}}}}}}}c{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}{BdEfJhMbH`HbLlLn}}````{{{b{ANn}}c}CnJj}{{{b{AO`}}c}CnJj}{{{b{AOb}}c}CnJj}{{{b{ANj}}c}CnJj}{{{b{AOh}}c}CnJj}{{{b{{B@f{c}}}}e}CnAdJj}{{{b{{B@h{c}}}}e}CnAdJj}{{{b{B@j}}c}CnJj}{{{b{{B@l{c}}}}e}CnAdJj}{{{b{{B@n{c}}}}e}CnAdJj}{{{b{BA`}}c}CnJj}{{{b{BAb}}c}CnJj}{{{b{BAd}}c}CnJj}{{{b{{BAf{c}}}}e}CnAdJj}{{{b{{BAh{c}}}}e}CnAdJj}{{{b{AOj}}c}CnJj}{{{b{AOl}}c}CnJj}{{{b{AOn}}c}CnJj}{{{b{B@`}}c}CnJj}{{{b{B@b}}c}CnJj}{{{b{B@d}}c}CnJj}{{{b{F`}}c}CnJj}{{{b{{BAj{c}}}}e}CnAdJj}{{{b{{BAl{c}}}}e}CnAdJj}{{{b{{BAn{c}}}}e}CnAdJj}{{{b{{BB`{c}}}}e}CnAdJj}{{{b{{BBb{c}}}}e}CnAdJj}{{{b{{BBd{c}}}}e}CnAdJj}{{{b{AOb}}}Ch}```{{{b{Ff}}}{{n{{b{h}}}}}}{{{b{AOj}}}{{n{{b{h}}}}}}{{{b{AOl}}}{{n{{b{h}}}}}}{{{b{AOn}}}{{n{{b{h}}}}}}{{{b{B@`}}}{{n{{b{h}}}}}}{{{b{B@b}}}{{n{{b{h}}}}}}{{{b{B@d}}}{{n{{b{h}}}}}}{{{b{F`}}}{{n{{b{h}}}}}}{{{b{AOj}}}Bb}{{{b{AOl}}}Bb}{{{b{AOn}}}Bb}{{{b{B@`}}}Bb}{{{b{B@b}}}Bb}{{{b{B@d}}}Bb}{{{b{F`}}}Bb}{{ANjANj}c{}}```````{bc{}}000000000000000{bAn}0000000000000````{c{{Cn{e}}}{}{}}00{{{b{Cj}}}{{Cn{AObc}}}{}}111111{{{Ml{c}}}{{Cn{{B@f{c}}e}}}Ad{}}22{{{Ml{c}}}{{Cn{{B@h{c}}e}}}Ad{}}3333{{{El{{b{{Ml{c}}}}Ch}}}{{Cn{{B@n{c}}e}}}Ad{}}44444444444444444444{{}{{Cn{c}}}{}}0000000000000000000000000000000000{bJl}0000000000000000000000000000000000{ANlANj}`{{}c{}}0000000000000000000000000000000000`````{{bd}f}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{{BCh{ce}}}}}{{BCh{ce}}}{}{}}{{b{b{Afc}}}f{}}{bf}{{}{{BCh{ce}}}{}{}}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{Chf}{{{b{{BCh{ce}}}}{b{AfEb}}}Eh{}{}}{cc{}}{{}Ch}>{{}{{Cn{HhHj}}}}{b}``{{BCjc}f{}}{{BClc}{{`{{Hn{}{{Id{f}}}}H`}}}{}}{{{b{{BCh{eg}}}}eik}f{}{{BCn{c}}}BCl{{BD`{ce}}}{{AMh{}{{Md{g}}}}H`}}{bc{}}{c{{Cn{e}}}{}{}}{{}{{Cn{c}}}{}}{bJl}{{}c{}}{{{BCh{ce}}{Dl{BDb}}}{{BCh{ce}}}{}{}}{{{BCh{ce}}ABf}{{BCh{ce}}}{}{}}`````{{bd}f}000{{{b{{BDd{c}}}}}f{}}{b{{b{c}}}{}}000{{{b{Af}}}{{b{Afc}}}{}}000{{{b{{BDf{c}}}}}{{BDf{c}}}Ad}{{{b{{BDh{c}}}}}{{BDh{c}}}{BdJf}}{{{b{{BDd{c}}}}}{{BDd{c}}}{}}{{{b{BDj}}}BDj}{{b{b{Afc}}}f{}}000{bf}000{{}{{BDf{c}}}Ad}{{}BDj}{Ch{{b{c}}}{}}000{Ch{{b{Afc}}}{}}000{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}000{Chf}000>{{{b{BD`}}e}{{Ib{{I`{Hn}}}}}{}{{BCn{c}}}}{{{b{{BDf{c}}}}BDl}{{Ib{{I`{Hn}}}}}Ad}{{{b{{BDf{c}}}}BDn}{{Ib{{I`{Hn}}}}}Ad}{{{b{{BDf{c}}}}BE`}{{Ib{{I`{Hn}}}}}Ad}{{{b{{BDh{c}}}}BE`}{{Ib{{I`{Hn}}}}}Jf}{{{b{{BDh{c}}}}BDn}{{Ib{{I`{Hn}}}}}Jf}{{{b{{BDh{c}}}}BDl}{{Ib{{I`{Hn}}}}}Jf}{{{b{{BDd{g}}}}e}{{Ib{{I`{Hn}}}}}Ad{{BCn{c}}}{{BD`{ce}}Hb}}{{{b{BDj}}e}{{Ib{{I`{Hn}}}}}{}{H`{BCn{c}}}}{{{b{{BDf{c}}}}{b{AfEb}}}EhAd}{{{b{{BDh{c}}}}{b{AfEb}}}Eh{EfJf}}{{{b{{BDd{c}}}}{b{AfEb}}}EhEf}{{{b{BDj}}{b{AfEb}}}Eh}{cc{}}000{{}Ch}000{{}c{}}000{{}{{Cn{HhHj}}}}000{{BEbc}{{BDh{c}}}Jf}{c{{BDd{c}}}{}}{b}000{bc{}}000{c{{Cn{e}}}{}{}}000{{}{{Cn{c}}}{}}000{bJl}000{{{b{{BDd{c}}}}}f{}}09999{{{BDf{c}}e}{{BDf{c}}}Ad{{BD`{cBE`}}Ef}}{{{BDf{c}}e}{{BDf{c}}}Ad{{BD`{cBDn}}Ef}}{{{BDf{c}}e}{{BDf{c}}}Ad{{AFh{c}}Ef}}{{{BDf{c}}e}{{BDf{c}}}Ad{{BD`{cBDl}}Ef}}`````{{bd}f}00{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{BE`}}}BE`}{{{b{BDl}}}BDl}{{{b{BDn}}}BDn}{{b{b{Afc}}}f{}}00{bf}00{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{Chf}00{{{b{BE`}}{b{BE`}}}Db}{{{b{BDl}}{b{BDl}}}Db}{{{b{BDn}}{b{BDn}}}Db}{{b{b{c}}}Db{}}00000000000{{{b{BE`}}{b{AfEb}}}Eh}{{{b{BDl}}{b{AfEb}}}Eh}{{{b{BDn}}{b{AfEb}}}Eh}{cc{}}0{ChBDn}1{{{b{c}}{b{e}}}Cd{GdGf}Gh}00{{{b{BE`}}{b{Afc}}}fGj}{{{b{BDl}}{b{Afc}}}fGj}{{{b{BDn}}{b{Afc}}}fGj}{{}Ch}00{{}c{}}00{{}{{Cn{HhHj}}}}00{b}00{bc{}}00{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00666`````````````````{{bd}f}0`{b{{b{h}}}}00{{{b{Ej}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{Ej}}}{{n{{b{h}}}}}}{{{b{{ACj{ce}}}}}{{ACj{ce}}}Ad{{ACl{c}}}}{{{b{Ej}}}Ej}{{b{b{Afc}}}f{}}0{bf}0{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}NdAd{{ACl{c}}}}{{b{b{c}}}Nd{}}{{}BEd}{{{b{BEd}}}{{Cn{{Of{cEje}}Oh}}}{H`HbOj}Jf}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{{b{Ej}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{c{{Cn{Ej}}}D`}{Chf}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}DbAd{{ACl{c}}}}{{b{b{c}}}Db{}}000`{{{b{{ACj{ce}}}}{b{AfEb}}}EhAd{{ACl{c}}}}0{{{b{Ej}}{b{AfEb}}}Eh}0{cc{}}0{A`Ej}1{A@bEj}{{{El{AnBb}}}Ej}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{ACh}}}{{Ib{{I`{Hn}}}}}}{{{b{ACn}}{ACj{ce}}}{{Ib{{I`{Hn}}}}}Ad{{ACl{c}}}}{{{b{{ACj{ce}}}}{b{Afg}}}fAd{{ACl{c}}}Gj}{c{{Gl{ce}}}{GnH`Hb}{}}0{{}{{b{Cj}}}}{{}}{{}Ch}00{{{b{AfAE`}}ADl{ADn{Ch}}Cd}{{Ib{{I`{Hn}}}}}}{{{b{Af{ACl{}{{BEf{c}}{BEh{e}}{BEj{g}}{BEl{i}}{BEn{k}}}}}}c{b{{ADl{ecg}}}}}{{ABn{f}}}{BF`H`HbJhBFbBFdMbGnBFfBFh}{BFjH`HbJhMbBFfBFh}{BFlH`}{{BFn{g}}H`{BGb{{b{BG`}}}}GnEf{B`{BG`}}}{{BGd{ecg}}}}{{}c{}}00{{}{{Cn{HhHj}}}}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}{{n{Nd}}}Ad{{ACl{c}}}}{b}00{{{b{Ej}}c}CnJj}{{{b{AfAE`}}Ch}{{Ib{{I`{Hn}}}}}}{{{b{Ej}}}{{n{{b{h}}}}}};{{{b{Ej}}}Bb}{bc{}}0{bAn}0<{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00<<<````````````````{{bd}f}0000000{{{b{BGf}}Ch}f}{{{b{BGh}}BGj}f}{b{{b{h}}}}00{{{b{BGl}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00000000{{{b{Af}}}{{b{Afc}}}{}}00000000{{{b{BGl}}}{{n{{b{h}}}}}}{{{b{AEb}}}AEb}{{{b{BGf}}}BGf}{{{b{BGn}}}BGn}{{{b{BGh}}}BGh}{{{b{BH`}}}BH`}{{{b{BHb}}}BHb}{{{b{BHd}}}BHd}{{{b{BHf}}}BHf}{{b{b{Afc}}}f{}}0000000{bf}0000000{{{b{AEb}}An{ADn{An}}}{{I`{BHh}}}}{{{b{BH`}}{ADn{An}}}{{I`{BHj}}}}{{{b{BHb}}{ADn{An}}}{{I`{BHl}}}}{{{b{BHd}}{ADn{An}}}{{I`{BHn}}}}{{{b{BHf}}{ADn{An}}}f}{{{b{AEb}}An{n{An}}}{{I`{BHj}}}}{{{b{AEb}}An{n{An}}}{{I`{BHl}}}}{{{b{AEb}}An{n{An}}}{{I`{BHn}}}}{{{b{AEb}}An}f}{{}AEb}{Ch{{b{c}}}{}}00000000{Ch{{b{Afc}}}{}}00000000{{{b{BGl}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00000000{Chf}00000000{{{b{AEb}}}{{Cn{Anc}}}{}}{{{b{BGl}}{b{AfEb}}}Eh}0{{{b{AEb}}{b{AfEb}}}Eh}{{{b{BGf}}{b{AfEb}}}Eh}{{{b{BGn}}{b{AfEb}}}Eh}{{{b{BGh}}{b{AfEb}}}Eh}{{{b{BH`}}{b{AfEb}}}Eh}{{{b{BHb}}{b{AfEb}}}Eh}{{{b{BHd}}{b{AfEb}}}Eh}{{{b{BHf}}{b{AfEb}}}Eh}{BI`BGl}{cc{}}00000000{{{b{AEb}}{b{Cj}}}{{Cn{BHbBGl}}}}{{{b{AEb}}An{ADn{An}}}{{I`{BIb}}}}{{{b{BGf}}}Ch}{{{b{BGn}}}Ch}{{{b{BH`}}{b{{AMl{c}}}}}BGf{{BId{Cj}}}}{{{b{BHb}}{b{{AMl{c}}}}}BGn{{BId{Cj}}}}{{{b{BHd}}{b{{AMl{c}}}}}BGh{{BId{Cj}}}}{{{b{AEb}}{b{Cj}}}{{Cn{BGfBGl}}}}{{{b{AEb}}{b{Cj}}}{{Cn{BH`BGl}}}}{{{b{AEb}}{b{Cj}}}{{Cn{BGnBGl}}}}{{{b{AEb}}{b{Cj}}}{{Cn{BGhBGl}}}}{{{b{AEb}}{b{Cj}}}{{Cn{BHdBGl}}}}{{{b{AEb}}c}{{Cn{AEbBGl}}}AMh}{c{{Gl{ce}}}{GnH`Hb}{}}{{{b{AEb}}An{ADn{An}}}{{I`{BIf}}}}{{}}{{}Ch}00000000{{}c{}}00000000{{}{{Cn{HhHj}}}}00000000{{{b{BGh}}}BGj}{b}00000000{{{b{BGh}}}Ch}{{{b{BGn}}Ch}f}{{{b{BGl}}}{{n{{b{h}}}}}}{{{b{AEb}}An}{{I`{AEf}}}}5{{{b{AEb}}An{ADn{An}}}{{I`{BIh}}}}{bc{}}0000000{bAn}{c{{Cn{e}}}{}{}}00000000{{}{{Cn{c}}}{}}00000000{bJl}00000000{{{b{BGn}}BIj}f}>>>>>>>>>`````````````````````````{{bd}f}00000000`{b{{b{h}}}}00{{{b{En}}}{{n{{b{l}}}}}}`{{{b{In}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}000000000{{{b{Af}}}{{b{Afc}}}{}}000000000{{{BIl{ce}}}En{{B`{An}}}{{B`{Bb}}}}{{{b{En}}}{{n{{b{h}}}}}}{{{b{{ACf{c}}}}}{{ACf{c}}}Ad}{{{b{BIn}}}BIn}{{{b{{BJ`{c}}}}}{{BJ`{c}}}Bd}{{{b{BJb}}}BJb}{{{b{BJd}}}BJd}{{{b{{BJf{c}}}}}{{BJf{c}}}Bd}{{{b{{BJh{ce}}}}}{{BJh{ce}}}BdBd}{{{b{{BIl{ce}}}}}{{BIl{ce}}}BdBd}{{{b{En}}}En}{{b{b{Afc}}}f{}}00000000{bf}00000000{{{b{BIn}}{b{BIn}}}Nd}{{b{b{c}}}Nd{}}{{{b{In}}}{{Ib{{I`{Hn}}}}}}{{}{{BJ`{c}}}{}}{{}BJj}{{{b{BJj}}c}{{Cn{{Of{eEnc}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}000000000{Ch{{b{Afc}}}{}}000000000{{{b{En}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{c{{Cn{BIn}}}D`}11{c{{Cn{{BJ`{e}}}}}D`BJl}2222222{c{{Cn{En}}}D`}{Chf}000000000`{{{b{BIn}}{b{BIn}}}Db}{{{b{{BJ`{c}}}}{b{{BJ`{c}}}}}DbLl}{{b{b{c}}}Db{}}0000000`{{{BIl{ce}}}{{Cn{gEn}}}{{B`{An}}}{{B`{Bb}}}{}}{{{b{{ACf{c}}}}{b{AfEb}}}EhAd}{{{b{BIn}}{b{AfEb}}}Eh}{{{b{{BJ`{c}}}}{b{AfEb}}}EhEf}{{{b{BJb}}{b{AfEb}}}Eh}{{{b{BJd}}{b{AfEb}}}Eh}{{{b{{BJf{c}}}}{b{AfEb}}}EhEf}{{{b{{BJh{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{BIl{ce}}}}{b{AfEb}}}EhEfEf}{{{b{En}}{b{AfEb}}}Eh}0{cc{}}{{{Kb{c}}}{{ACf{c}}}Ad}1{{{b{{BJ`{c}}}}}{{n{Cd}}}BJn}2222222{A`En}{A@bEn}4{{{El{AnBb}}}En}{{}BIn}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{In}}eCd}{{Ib{{I`{Hn}}}}}Ad{{B`{{ACf{c}}}}H`Hb}}{{{b{BIn}}{b{Afc}}}fGj}{c{{Gl{ce}}}{GnH`Hb}{}}{{}}{{}Ch}000000000{cEnGn}{{}c{}}000000000{{BJbc}En{}}{{BJdc}En{}}{{{BJf{c}}e}En{{B`{An}}}{}}{{{BJh{ce}}g}En{{B`{An}}}{{B`{Cd}}}{}}{{{BIl{ce}}g}En{{B`{An}}}{{B`{Bb}}}{}}{{{b{BIn}}}Db}{{}{{Cn{HhHj}}}}000000000``````{{{b{BIn}}{b{BIn}}}{{n{Nd}}}}{{{b{In}}}{{Ib{{I`{Hn}}}}}}{b}000000000``{{{b{BIn}}c}CnJj}{{{b{{BJ`{c}}}}e}CnJhJj}{{{b{En}}c}CnJj}{{{b{En}}}{{n{{b{h}}}}}}`{{{b{En}}}Bb}`6{bc{}}00000000{bAn}{c{{Cn{e}}}{}{}}000000000{{}{{Cn{c}}}{}}000000000{bJl}000000000{{{b{In}}e}{{Ib{{I`{Hn}}}}}Ad{{B`{{Mj{c}}}}H`Hb}}{{}c{}}000000000`````````````````{{bd}f}`{b{{b{h}}}}00{{{b{Fd}}}{{n{{b{l}}}}}}{{{b{J`}}}{{Ib{{I`{Hn}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{Fd}}}{{n{{b{h}}}}}}{{{b{Fd}}}Fd}{{b{b{Afc}}}f{}}{bf}{{{b{J`}}}{{AKb{AEb}}}}0{{}BK`}{{{b{BK`}}c}{{Cn{{Of{eFdc}}Oh}}}Jf{H`HbOj}}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{{b{Fd}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{c{{Cn{Fd}}}D`}{Chf}0??`{{{b{Fd}}{b{AfEb}}}Eh}0{cc{}}{AnFd}1{A@bFd}{c{{Gl{ce}}}{GnH`Hb}{}}{{}}{{}Ch}0{{}c{}}0{{}{{Cn{HhHj}}}}0{{{b{AEd}}}{{b{AEb}}}}{b}0{{{b{BKb}}}{{I`{AEf}}}}{{{b{Fd}}c}CnJj}{{{b{Fd}}}{{n{{b{h}}}}}}{{{b{Fd}}}Bb}{{{b{J`}}}{{Ib{{I`{Hn}}}}}}0{bc{}}{bAn}{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}0==````{{bd}f}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{BKd}}}BKd}{{b{b{Afc}}}f{}}{bf}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{Chf}0{{{b{Af{BKf{c}}}}}fH`}{{{b{BKd}}{b{AfEb}}}Eh}{{{b{{BKf{c}}}}{b{AfEb}}}EhH`}{cc{}}0{{}Ch}0{{}c{}}0{{{BKf{c}}}cH`}{{}{{Cn{HhHj}}}}0{b}0{{ce}BKdGn{HnH`}}{{cg}{{BKf{e}}}GnH`{{Hn{}{{Id{e}}}}H`}}{bc{}}{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}099``{{}f}{ABff}```````{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{Ch{{Ib{{I`{Hn}}}}}}{{{b{{AIl{c}}}}}cBKh}{{{b{{AIl{c}}}}Ch}cBKh}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{Chf}{{{b{Af{AIl{c}}}}}fBKh}{cc{}}{{{b{{AIl{c}}}}}{{b{{Ij{ADdBKjBKl}}}}}BKh}{{{b{{BKh{}{{BKn{c}}}}}}{b{{ADf{ADd}}}}}{{Ib{{I`{Hn}}}}}{H`Hb}}{{}{{AIl{c}}}{BKhBKb}}{{}Ch}{c{{AIl{e}}}{{Ih{{b{Af{BLb{BL`}}}}}}}{BKhBKb}}{{}c{}}{{}{{Cn{HhHj}}}}{{{b{{AIl{c}}}}}ChBKh}{b}{{{b{{AIl{c}}}}Ch}{{BLd{ADd}}}BKh}{{{b{c}}}{{Ib{{I`{Hn}}}}}{}}{{{b{Af{AIl{{BKh{}{{BKn{c}}}}}}}}}{{Ib{{I`{Hn}}}}}{H`Hb}}{{{AIl{c}}}fBKh}{{{b{Af{AIl{c}}}}eg}fBKhGn{HnH`}}?{{{b{{AIl{c}}}}}bBKh}{{{b{{AIl{c}}}}BLf}fBKh}{c{{Cn{e}}}{}{}}{{}{{Cn{c}}}{}}{bJl}=`````````````{{bd}f}00``{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00`{{{b{ADd}}}ADd}{{{b{BKl}}}BKl}{{{b{BKj}}}BKj}{{b{b{Afc}}}f{}}00{bf}00{{{b{ADd}}{b{ADd}}}Nd}{{{b{BKj}}{b{BKj}}}Nd}{{b{b{c}}}Nd{}}0`{{}ADd}{{}BKj}`{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{c{{Cn{ADd}}}D`}11{c{{Cn{BKj}}}D`}{Chf}00{{{b{ADd}}{b{ADd}}}Db}{{{b{BKj}}{b{BKj}}}Db}{{b{b{c}}}Db{}}0000000{{{b{BLh}}}c{}}0{{{b{ADd}}{b{AfEb}}}Eh}{{{b{BKl}}{b{AfEb}}}Eh}{{{b{BKj}}{b{AfEb}}}Eh}{cc{}}00{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{ADd}}{b{Afc}}}fGj}{{{b{BKj}}{b{Afc}}}fGj}{{}{{b{Cj}}}}{{{b{BLh}}}Cd}{{}Ch}00{{{b{AfBLj}}c{b{{ADl{ecg}}}}}{{ABn{f}}}{}{}{}}{{}c{}}00{{{b{BLl}}{b{c}}}e{}{}}`{{}{{Cn{HhHj}}}}00{{{b{BLl}}{b{c}}}Ch{}}`{{{ADn{BLn}}}BLf}{{{b{BLf}}}c{}}{{{b{BLh}}}{{ADn{c}}}{}}{{{b{ADd}}{b{ADd}}}{{n{Nd}}}}{{{b{BKj}}{b{BKj}}}{{n{Nd}}}}`{b}00`{{{b{BLh}}}c{}}`0{{{b{ADd}}c}CnJj}{{{b{BKj}}c}CnJj}`{{}{{b{Cj}}}}{{{b{BLh}}}Cd}`{bc{}}00{{{b{BLl}}{b{c}}{b{e}}}{{n{{El{gi}}}}}{}{}{}{}}`{{}Ch}{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00```{{}c{}}00`{{{b{BJn}}}Cd}","D":"EFj","p":[[1,"reference"],[5,"Private",4341],[1,"unit"],[10,"Error",4342],[6,"Error",0,4343],[5,"Backtrace",4344],[6,"Option",4345],[6,"QueryError",0],[5,"Leaf",0,4346],[10,"NodeType",4347],[0,"mut"],[5,"NotFoundSnafu",0],[5,"MissingSnafu",0],[5,"ErrorSnafu",0],[5,"String",4348],[10,"Into",4349],[5,"StatusCode",4350],[10,"Clone",4351],[5,"ApiState",0],[5,"Commitment",4352],[5,"UpgradeLock",4353],[10,"Versions",4347],[10,"Resolvable",0,4354],[10,"Committable",4352],[10,"RngCore",4355],[1,"u64"],[5,"Options",0],[1,"usize"],[1,"str"],[5,"With",4356],[6,"Result",4357],[10,"Deserializer",4358],[1,"bool"],[5,"UpgradeProposalData",4359],[5,"UpgradeThreshold",4360],[5,"SimpleCertificate",4360],[5,"RwLock",4361],[5,"Arc",4362],[5,"Error",1648,4363],[6,"BlockError",4346],[5,"Formatter",4364],[5,"Error",4364],[10,"Debug",4364],[8,"Result",4364],[6,"Error",3372],[1,"tuple"],[6,"Error",3738],[6,"Error",2061],[6,"Error",316],[6,"Error",4044],[6,"TimestampConversionError",2061,4365],[6,"Error",4366],[1,"never"],[5,"OwnedFd",4367],[10,"IntoFilelike",4368],[10,"IntoSocketlike",4368],[5,"QuorumProposal",4346],[10,"Hash",4369],[10,"Sized",4370],[10,"BuildHasher",4369],[10,"Hasher",4369],[5,"IndentedSection",4371],[10,"Display",4364],[10,"Send",4370],[10,"Sync",4370],[5,"QuorumData",4359],[5,"SuccessThreshold",4360],[5,"Layout",4372],[5,"LayoutError",4372],[5,"DynGuard",4373],[10,"Future",4374],[5,"Box",4375],[5,"Pin",4376],[17,"Output"],[8,"BoxFuture",4377],[10,"FnOnce",4378],[5,"SystemContextHandle",4379],[10,"AvailabilityDataSource",316,4380],[10,"NodeDataSource",3738,4381],[10,"StatusDataSource",4044,4382],[10,"VersionedDataSource",1002,4383],[10,"NodeImplementation",4347],[10,"StaticVersionType",4384],[10,"Serialize",4385],[10,"Serializer",4385],[5,"TypeId",4386],[5,"InconsistentLeafError",316,4387],[5,"LeafQueryData",316,4387],[8,"BlockHash",316,4387],[5,"PayloadQueryData",316,4387],[5,"VidCommonQueryData",316,4387],[5,"TransactionQueryData",316,4387],[5,"FetchLeafSnafu",316],[5,"FetchBlockSnafu",316],[5,"FetchTransactionSnafu",316],[5,"InvalidTransactionIndexSnafu",316],[5,"CustomSnafu",316],[17,"TransactionIndex"],[17,"Iter"],[17,"InclusionProof"],[10,"QueryablePayload",316,4387],[10,"PartialEq",4388],[10,"Eq",4388],[10,"Ord",4388],[10,"DeserializeOwned",4358],[17,"Item"],[10,"Iterator",4389],[6,"LeafId",316,4380],[6,"BlockId",316,4380],[5,"BlockQueryData",316,4387],[5,"BlockSummaryQueryData",316,4387],[5,"TransactionSummaryQueryData",316,4387],[5,"RequestSnafu",316],[6,"Ordering",4388],[8,"VidCommon",0,4390],[6,"Fetch",316,4391],[10,"ErrorCompat",4392],[17,"Source"],[5,"NoneError",4392],[10,"IntoError",4392],[8,"Payload",0],[5,"Options",316],[5,"Api",4393],[6,"ApiError",4393],[10,"ReadState",4394],[8,"TransactionIndex",316,4387],[8,"Transaction",0],[8,"LeafHash",316,4387],[6,"RequestError",4395],[8,"Result",4366],[17,"LeafRange"],[17,"BlockRange"],[17,"PayloadRange"],[17,"VidCommonRange"],[10,"Stream",4396],[10,"Unpin",4370],[10,"RangeBounds",4397],[8,"TransactionHash",316,4387],[8,"VidCommitment",0,4390],[8,"Header",0],[10,"UpdateAvailabilityData",316,4380],[8,"VidShare",0,4390],[8,"Metadata",0],[8,"QuorumCertificate",4360],[8,"TransactionInclusionProof",316,4387],[10,"QueryableHeader",316,4387],[5,"Duration",4398],[5,"ExtensibleDataSource",1002,4399],[5,"MetricsDataSource",1002,4400],[10,"Transaction",1002,4383],[8,"Result",4363],[6,"BlockIdentifier",2061,4365],[10,"ExplorerDataSource",2061,4401],[5,"GetBlockSummariesRequest",2061,4365],[6,"WindowStart",3738,4381],[10,"MerklizedStateHeightPersistence",3372,4402],[6,"Snapshot",3372,4402],[10,"MerklizedState",3372,4402],[10,"MerklizedStateDataSource",3372,4402],[6,"TransactionIdentifier",2061,4365],[5,"GetTransactionSummariesRequest",2061,4365],[5,"MockTypes",4205],[5,"Event",4403],[10,"TestableDataSource",4165],[10,"Default",4404],[5,"MerkleProof",4405],[5,"Vec",4406],[10,"UpdateStateData",3372,4402],[5,"PrometheusMetrics",3492],[10,"HasMetrics",4044,4382],[10,"Metrics",4407],[17,"Transaction"],[17,"ReadOnly"],[10,"UpdateDataSource",1002,4383],[5,"Transaction",1121,4408],[5,"FetchingDataSource",1121],[10,"NodeStorage",1317],[5,"Builder",1121],[10,"PruneStorage",1602],[10,"AvailabilityProvider",1121],[5,"Pruner",1121],[5,"Config",1648],[8,"Builder",1302],[5,"Path",4409],[5,"FileSystemStorage",1353],[5,"AtomicStoreLoader",4410],[10,"AvailabilityStorage",1317],[10,"ExplorerStorage",1317],[10,"MerklizedStateHeightStorage",1317],[10,"MerklizedStateStorage",1317],[10,"PrunedHeightStorage",1602],[8,"FileSystemDataSource",1282],[8,"SqlDataSource",1302],[5,"Transaction",1353],[10,"Revert",1353],[17,"Target"],[5,"FileSystemStorageInner",1353],[10,"Deref",4411],[5,"RwLockReadGuard",4361],[5,"RwLockWriteGuard",4361],[6,"PersistenceError",4412],[5,"Transaction",1439],[5,"NoStorage",1439],[6,"Transaction",1504],[6,"DataSource",1504],[5,"MockNetwork",4165],[5,"PrunerCfg",1602],[17,"Pruner"],[10,"PrunerConfig",1602],[1,"u16"],[1,"i32"],[5,"OffsetDateTime",4413],[5,"Migration",1648,4414],[10,"Params",1648,4415],[8,"Query",1648,4415],[5,"QueryBuilder",1648,4416],[8,"QueryResult",0],[8,"Db",1648,4417],[10,"Encode",4418],[10,"Type",4419],[5,"Transaction",1648,4415],[10,"TransactionMode",1648,4415],[5,"Chain",4363],[5,"Write",1648,4415],[5,"Read",1648,4415],[5,"SqlStorage",1648],[5,"Pruner",1648],[17,"Database"],[10,"Executor",1648,4420],[10,"Database",1648,4421],[10,"Execute",4420],[5,"Sqlite",1648,4422],[5,"FmtValue",4423],[5,"PgConnectOptions",4424],[1,"u32"],[10,"IntoIterator",4425],[6,"Type",4414],[1,"slice"],[8,"QueryAs",1648,4415],[10,"FromRow",4426],[5,"TestArgs",4427],[5,"Error",4428],[1,"array"],[5,"TmpDb",2020],[5,"MonetaryValue",2061,4429],[1,"i128"],[5,"CurrencyMismatchError",2061,4430],[5,"InvalidCurrencyCodeError",2061,4430],[6,"CurrencyCode",2061,4430],[5,"BlockRange",2061,4365],[5,"TransactionRange",2061,4365],[5,"Timestamp",2061,4365],[6,"GetBlockDetailError",2061,4365],[6,"GetBlockSummariesError",2061,4365],[6,"GetTransactionDetailError",2061,4365],[6,"GetTransactionSummariesError",2061,4365],[6,"GetExplorerSummaryError",2061,4365],[6,"GetSearchResultsError",2061,4365],[5,"BlockDetail",2061,4365],[5,"BlockSummary",2061,4365],[5,"FeeAttribution",2061,4365],[5,"TransactionDetail",2061,4365],[5,"TransactionSummary",2061,4365],[6,"TransactionSummaryFilter",2061,4365],[5,"GenesisOverview",2061,4365],[5,"ExplorerHistograms",2061,4365],[5,"ExplorerSummary",2061,4365],[5,"SearchResult",2061,4365],[5,"BlockDetailResponse",2061],[5,"BlockSummaryResponse",2061],[5,"TransactionDetailResponse",2061],[5,"TransactionSummariesResponse",2061],[5,"ExplorerSummaryResponse",2061],[5,"SearchResultResponse",2061],[17,"BalanceAmount"],[17,"WalletAddress"],[17,"ProposerId"],[17,"NamespaceId"],[10,"ExplorerHeader",2061,4431],[5,"TryFromIntError",4432],[5,"ComponentRange",4433],[6,"Resettable",4434],[10,"ExplorerTransaction",2061,4431],[5,"Fetcher",3138],[10,"LocalCallback",3138],[10,"Callback",3138],[10,"Request",3282],[10,"Provider",3172],[5,"Semaphore",4435],[5,"TestProvider",3172,4436],[5,"AnyProvider",3172,4437],[5,"QueryServiceProvider",3172,4438],[5,"NoFetching",3172],[5,"VidCommonRequest",3282],[5,"LeafRequest",3282],[5,"PayloadRequest",3282],[5,"Url",4439],[5,"Options",3372],[17,"Key"],[17,"Entry"],[17,"T"],[17,"Commit"],[17,"Digest"],[10,"Index",4440],[10,"ToTraversalPath",4440],[10,"FromStr",4441],[10,"CanonicalSerialize",4442],[10,"CanonicalDeserialize",4442],[10,"Element",4440],[10,"NodeValue",4440],[10,"MerkleCommitment",4440],[5,"TaggedBase64",4443],[10,"TryFrom",4349],[10,"DigestAlgorithm",4440],[5,"Counter",3492],[5,"Histogram",3492],[1,"f64"],[6,"MetricsError",3492],[5,"Gauge",3492],[5,"CounterFamily",3492],[5,"GaugeFamily",3492],[5,"HistogramFamily",3492],[5,"TextFamily",3492],[10,"CounterFamily",4407],[10,"Counter",4407],[10,"Gauge",4407],[10,"Histogram",4407],[6,"Error",4444],[10,"GaugeFamily",4407],[10,"AsRef",4349],[10,"HistogramFamily",4407],[10,"TextFamily",4407],[1,"i64"],[5,"CustomSnafu",3738],[5,"SyncStatus",3738,4445],[5,"TimeWindowQueryData",3738,4445],[5,"RequestSnafu",3738],[5,"QuerySnafu",3738],[5,"QueryVidSnafu",3738],[5,"QueryWindowSnafu",3738],[5,"Options",3738],[10,"Deserialize",4358],[10,"HeightIndexed",4339],[5,"Options",4044],[10,"UpdateStatusData",4044,4382],[5,"BackgroundTask",4118],[5,"Task",4118],[10,"DataSourceLifeCycle",4165],[5,"MockNodeImpl",4205],[5,"MockVersions",4205],[17,"Storage"],[8,"BLSPubKey",4446],[5,"HotShotConfig",4447],[8,"SignatureKey",0],[8,"MockTransaction",4205],[8,"MockHeader",4205],[8,"MockMerkleTree",4205],[8,"MockPayload",4205],[1,"u8"],[15,"Custom",308],[15,"Availability",308],[15,"Node",308],[15,"Status",308],[15,"MerklizedState",308],[15,"Explorer",308],[15,"Error",315],[15,"InvalidTransactionIndex",994],[15,"Custom",994],[15,"FetchLeaf",994],[15,"FetchBlock",994],[15,"FetchTransaction",994],[15,"Request",994],[6,"Storage",1504],[15,"NoStorage",1601],[5,"TestMerkleTreeMigration",2020],[15,"Custom",3488],[15,"Request",3488],[15,"Query",3488],[15,"NoSuchMetric",3734],[15,"NoSuchSubgroup",3734],[15,"Prometheus",3734],[15,"QueryVid",4035],[15,"QueryWindow",4035],[15,"Custom",4035],[15,"Request",4035],[15,"Query",4035],[15,"Internal",4116],[15,"Request",4116],[8,"MockQuorumProposal",4205],[8,"MockStorage",4205],[8,"MockAuctionResults",4205]],"r":[[4,4343],[9,4346],[22,4354],[26,4390],[27,4390],[28,4390],[316,4380],[317,4387],[318,4380],[319,4387],[321,4387],[325,4391],[335,4387],[339,4387],[340,4380],[341,4387],[347,4387],[350,4387],[351,4387],[355,4387],[356,4387],[357,4387],[358,4387],[360,4387],[361,4387],[362,4380],[363,4387],[1002,1121],[1003,4399],[1004,1121],[1005,1282],[1006,4400],[1008,1302],[1009,4383],[1011,4383],[1012,4383],[1125,4408],[1283,1353],[1303,1648],[1304,4363],[1305,4414],[1307,4415],[1312,0],[1315,2020],[1319,1353],[1322,1439],[1324,1648],[1653,4421],[1655,4417],[1656,4363],[1657,4420],[1658,4415],[1659,4414],[1661,4415],[1663,4415],[1664,4415],[1665,4416],[1667,4415],[1670,4422],[1672,4415],[1674,4415],[1679,4415],[1878,4448],[1879,0],[1946,4415],[1948,4415],[2061,4365],[2064,4365],[2066,4365],[2067,4365],[2069,4365],[2070,4365],[2075,4430],[2076,4430],[2081,4401],[2082,4431],[2083,4365],[2084,4365],[2086,4431],[2087,4365],[2091,4365],[2093,4365],[2096,4365],[2098,4365],[2100,4365],[2102,4365],[2104,4365],[2106,4365],[2108,4365],[2114,4430],[2121,4429],[2125,4365],[2134,4365],[2139,4365],[2140,4365],[2143,4365],[2145,4365],[2146,4365],[2148,4365],[2150,4365],[2151,4365],[2159,4365],[3141,3172],[3142,3282],[3172,4437],[3175,4438],[3176,4436],[3380,4402],[3381,4402],[3382,4402],[3386,4402],[3388,4402],[3738,4387],[3739,4380],[3745,4381],[3755,4445],[3757,4445],[3758,4381],[4045,4382],[4049,4382],[4050,4382]],"b":[[92,"impl-Committable-for-Leaf%3CTYPES%3E"],[93,"impl-Leaf%3CTYPES%3E"],[150,"impl-Debug-for-Leaf%3CTYPES%3E"],[151,"impl-Display-for-Leaf%3CTYPES%3E"],[152,"impl-Debug-for-Error"],[153,"impl-Display-for-Error"],[157,"impl-Display-for-QueryError"],[158,"impl-Debug-for-QueryError"],[161,"impl-From%3CError%3E-for-Error"],[163,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[164,"impl-From%3CError%3E-for-Error"],[165,"impl-From%3CError%3E-for-Error"],[166,"impl-From%3CError%3E-for-Error"],[167,"impl-From%3CError%3E-for-Error"],[171,"impl-From%3CTimestampConversionError%3E-for-QueryError"],[173,"impl-From%3CError%3E-for-QueryError"],[176,"impl-From%3CArc%3CD%3E%3E-for-ApiState%3CD%3E"],[177,"impl-From%3CD%3E-for-ApiState%3CD%3E"],[644,"impl-Display-for-LeafId%3CTypes%3E"],[645,"impl-Debug-for-LeafId%3CTypes%3E"],[646,"impl-Debug-for-BlockId%3CTypes%3E"],[647,"impl-Display-for-BlockId%3CTypes%3E"],[649,"impl-Display-for-InconsistentLeafError%3CTypes%3E"],[650,"impl-Debug-for-InconsistentLeafError%3CTypes%3E"],[663,"impl-Display-for-Error"],[664,"impl-Debug-for-Error"],[667,"impl-From%3Cusize%3E-for-LeafId%3CTypes%3E"],[669,"impl-From%3CCommitment%3CLeaf%3CTypes%3E%3E%3E-for-LeafId%3CTypes%3E"],[670,"impl-From%3Cusize%3E-for-BlockId%3CTypes%3E"],[671,"impl-From%3CCommitment%3C%3CTypes+as+NodeType%3E::BlockHeader%3E%3E-for-BlockId%3CTypes%3E"],[689,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[691,"impl-From%3CRequestError%3E-for-Error"],[1018,"impl-StatusDataSource-for-ExtensibleDataSource%3CD,+U%3E"],[1019,"impl-NodeDataSource%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[1132,"impl-NodeDataSource%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1133,"impl-StatusDataSource-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1285,"impl-FetchingDataSource%3CTypes,+FileSystemStorage%3CTypes%3E,+P%3E"],[1286,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+FileSystemStorage%3CMockTypes%3E,+P%3E"],[1308,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+SqlStorage,+P%3E"],[1309,"impl-FetchingDataSource%3CTypes,+SqlStorage,+P%3E"],[1364,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1365,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1420,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1421,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1515,"impl-StatusDataSource-for-DataSource"],[1516,"impl-NodeDataSource%3CMockTypes%3E-for-DataSource"],[1687,"impl-AsRef%3Cdyn+Error+%2B+Send+%2B+Sync%3E-for-Error"],[1688,"impl-AsRef%3Cdyn+Error%3E-for-Error"],[1824,"impl-Display-for-Error"],[1825,"impl-Debug-for-Error"],[1826,"impl-Debug-for-Migration"],[1827,"impl-Display-for-Migration"],[2587,"impl-Display-for-CurrencyMismatchError"],[2588,"impl-Debug-for-CurrencyMismatchError"],[2589,"impl-Debug-for-InvalidCurrencyCodeError"],[2590,"impl-Display-for-InvalidCurrencyCodeError"],[2591,"impl-Display-for-CurrencyCode"],[2592,"impl-Debug-for-CurrencyCode"],[2593,"impl-Display-for-MonetaryValue"],[2594,"impl-Debug-for-MonetaryValue"],[2595,"impl-Debug-for-BlockIdentifier%3CTypes%3E"],[2596,"impl-Display-for-BlockIdentifier%3CTypes%3E"],[2597,"impl-Debug-for-TransactionIdentifier%3CTypes%3E"],[2598,"impl-Display-for-TransactionIdentifier%3CTypes%3E"],[2604,"impl-Debug-for-TimestampConversionError"],[2605,"impl-Display-for-TimestampConversionError"],[2616,"impl-Display-for-GetBlockDetailError"],[2617,"impl-Debug-for-GetBlockDetailError"],[2618,"impl-Display-for-GetBlockSummariesError"],[2619,"impl-Debug-for-GetBlockSummariesError"],[2620,"impl-Display-for-GetTransactionDetailError"],[2621,"impl-Debug-for-GetTransactionDetailError"],[2622,"impl-Display-for-GetTransactionSummariesError"],[2623,"impl-Debug-for-GetTransactionSummariesError"],[2624,"impl-Display-for-GetExplorerSummaryError"],[2625,"impl-Debug-for-GetExplorerSummaryError"],[2626,"impl-Debug-for-GetSearchResultsError"],[2627,"impl-Display-for-GetSearchResultsError"],[2628,"impl-Debug-for-Error"],[2629,"impl-Display-for-Error"],[2648,"impl-From%3CTryFromIntError%3E-for-TimestampConversionError"],[2649,"impl-From%3CComponentRange%3E-for-TimestampConversionError"],[2662,"impl-From%3CQueryError%3E-for-GetBlockDetailError"],[2663,"impl-From%3CError%3E-for-GetBlockDetailError"],[2664,"impl-From%3CError%3E-for-GetBlockSummariesError"],[2666,"impl-From%3CQueryError%3E-for-GetBlockSummariesError"],[2667,"impl-From%3CQueryError%3E-for-GetTransactionDetailError"],[2669,"impl-From%3CError%3E-for-GetTransactionDetailError"],[2670,"impl-From%3CTimestampConversionError%3E-for-GetTransactionDetailError"],[2671,"impl-From%3CError%3E-for-GetTransactionSummariesError"],[2672,"impl-From%3CQueryError%3E-for-GetTransactionSummariesError"],[2674,"impl-From%3CQueryError%3E-for-GetExplorerSummaryError"],[2675,"impl-From%3CError%3E-for-GetExplorerSummaryError"],[2676,"impl-From%3CGetTransactionSummariesError%3E-for-GetExplorerSummaryError"],[2677,"impl-From%3CGetBlockSummariesError%3E-for-GetExplorerSummaryError"],[2678,"impl-From%3CGetBlockDetailError%3E-for-GetExplorerSummaryError"],[2680,"impl-From%3CQueryError%3E-for-GetSearchResultsError"],[2681,"impl-From%3CError%3E-for-GetSearchResultsError"],[3222,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-AnyProvider%3CTypes%3E"],[3223,"impl-Provider%3CTypes,+LeafRequest%3E-for-AnyProvider%3CTypes%3E"],[3224,"impl-Provider%3CTypes,+PayloadRequest%3E-for-AnyProvider%3CTypes%3E"],[3225,"impl-Provider%3CTypes,+PayloadRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3226,"impl-Provider%3CTypes,+LeafRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3227,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3433,"impl-Debug-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3434,"impl-Display-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3435,"impl-Display-for-Error"],[3436,"impl-Debug-for-Error"],[3439,"impl-From%3CQueryError%3E-for-Error"],[3441,"impl-From%3CRequestError%3E-for-Error"],[3442,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[3609,"impl-Display-for-MetricsError"],[3610,"impl-Debug-for-MetricsError"],[3629,"impl-PrometheusMetrics"],[3630,"impl-Metrics-for-PrometheusMetrics"],[3895,"impl-Debug-for-Error"],[3896,"impl-Display-for-Error"],[3908,"impl-From%3CQueryError%3E-for-Error"],[3909,"impl-From%3CRequestError%3E-for-Error"],[3911,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[4083,"impl-Debug-for-Error"],[4084,"impl-Display-for-Error"],[4086,"impl-From%3CString%3E-for-Error"],[4088,"impl-From%3CRequestError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEAOHgECAAEABQAAAAgAAQALAAEADwAAABMAAwAYAAEAHgAMACwAAgAyAA8ARQAYAGAAAQBjACwAlwAJAKIAAACkAAQArAAAAK4AAACwAAIAtAADALkAAAC7AAQAwQABAMQADQDaAAIA3gAJAOkAAQDsAAAA7wAJAPoABAAAAQIABAEaACABCAAtAQ8APwEEAEUBAABHAQAASQEAAEsBAABNAQEAUAEBAFQBCwBhAQEAZAEDAGkBIQCNASUAugE5APUBWABQAi0AhQIUAJwCAACeAgIApgIAAKkCAACyAgAAtAIQAMYCBgDOAg8A3wIXAAoDBgATAwAAFgMUACwDAAAuAwEAMQMBADkDGgBXAwEAWgMvAIwDAACQAwAAlAMlALsDJQDjAwgA7QMBAPADAQD2AwMA+wMbABgEAQAcBBYANQQDADsEBABBBAAAQwQDAEgEBQBQBAgAWgQDAF8EAgBlBBEAeQQGAIEEAQCFBAsAkgQGAJ0ELADOBAUA1wQJAOIEFgACBQAABAUBAAcFAAAJBQAADAUAAA4FCgAcBQEAHwUBACIFAwAoBQEAKwUGADMFAAA2BQcAPwUAAEIFBQBJBQAASwUMAFoFDwBtBRAAgQUDAIcFBwCQBQ8AoQUVALkFDwDLBRwA6QUfAAwGEQAhBicASgYKAFYGAgBbBgEAXwYCAGMGAABlBgsAdwYAAH8GAgCRBgQAmAYBAJsGAwCgBhQAuQYQAM4GAQDRBgUA2AYkAAAHEAAhBwwALwcBADgHAAA7BwwASQcKAFkHDQByBwkAfQcAAH8HAACGBwEAiQcKAJsHAACdBwAAnwcAAKEHAQClBwIAqQcFALAHIwDVBwEA2QccAPgHAwD+BxAAEAgAABQIAQAZCAIAHwgCACkIAgAtCAAALwgBADIIAAA0CAAANggAADgIAAA6CAAAPAgAAD4IBABECAUATQgBAFAIBgBZCAIAXggBAGMIAQBpCAcAcggQAIQIZwDtCDYAJQlMAHMJAwB4CZoAFQoBABkKAgAdCgEAIQoAACMKKQBZCgEAZwoCAGsKAQBuCgMAcwoEAHkKAQB+CgAAgAoAAIIKAACFCgAAhwoDAJEKQQD2CioAIwsrAFALAgBUCwMAWgsAAF0LFgB1CxEAiAuVAB8MIwBGDA0AVQwAAFcMAQBbDAEAXgwGAGoMAwBvDCUAlwwLAKcMAwCvDBkAywwDANgMLwAKDQAADA0IABgNHAA3DQMAPA0AAD4NKgBqDQMAcA0AAHINBwB7DQQAhA0JAI8NBACVDQ8Aqw0DALENcwAvDgUAOw4LAFAOTQCfDgUApg4AAKgOAACqDgAArA4BAK8OJADVDlgAMA8JADsPAABFDwEASA8RAGQPKgCQD2IA9A8BAPcPAAD5DwQAABAWABkQEgAuEAEAMxADADkQEQBMEAsAWRAEAF8QBABlEAkAcBANAIAQBQCHEC0AuBAJAMUQAADHEAMAzBAEANIQAgDWEAAA2BACANwQAQDfEAMA5BAJAPEQAgD1EAAA"}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); -//{"start":39,"fragment_lengths":[107908]} \ No newline at end of file +//{"start":39,"fragment_lengths":[107233]} \ No newline at end of file diff --git a/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js b/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js index bc026072f..484e0a2ed 100644 --- a/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js +++ b/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("hotshot_query_service", 0, "The HotShot Query Service is a minimal, generic query …\nRead-only wrapper for API state which does not require …\nContains the error value\nThere was an error while trying to fetch the requested …\nSNAFU context selector for the QueryError::Error variant\nThis is the consensus-internal analogous concept to a …\nThe requested resource exists but is not currently …\nSNAFU context selector for the QueryError::Missing variant\nThe requested resource does not exist or is not known to …\nSNAFU context selector for the QueryError::NotFound variant\nContains the success value\nA reference to a T which can be resolved into a whole T.\nItem within a Payload.\nVID commitment type\nVID common type\nVID share type\nQueries for HotShot chain state.\nThe block header contained in this leaf.\nGet a mutable reference to the block header contained in …\nOptional block payload.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nCalculate the leaf commitment, which is gated on the …\nGet a commitment to the underlying object.\nPersistent storage and sources of data consumed by APIs.\nValidate that a leaf has the right upgrade certificate to …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nFetching missing data from remote providers.\nFill this leaf with the block payload.\nFill this leaf with the block payload, without checking …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstructs a leaf from a given quorum proposal.\nCreate a new leaf from its components.\nHeight of this leaf in the chain.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe QC linking this leaf to its parent in the chain.\nApi for querying merklized state\nA node’s view of a HotShot chain\nCommitment to this leaf’s parent.\nA commitment to the block payload contained in this leaf.\nRun an instance of the HotShot Query service with no …\nQueries for node-specific state and uncommitted data.\nAsync task utilites.\nGet the underlying object if it is available without …\nCommon functionality provided by types used in this crate.\nTake the block payload from the leaf and return it if it …\nThe QC linking this leaf to its parent in the chain.\nTime when this leaf was created.\nAn interface for querying a HotShot blockchain.\nA block hash is the hash of the block header.\nSNAFU context selector for the Error::Custom variant\nAn in-progress request to fetch some data.\nSNAFU context selector for the Error::FetchBlock variant\nSNAFU context selector for the Error::FetchLeaf variant\nSNAFU context selector for the Error::FetchTransaction …\nA proof that a certain transaction exists in the block.\nSNAFU context selector for the …\nEnumerate the transactions in this block.\nA block payload whose contents (e.g. individual …\nSNAFU context selector for the Error::Request variant\nAn index which can be used to efficiently retrieve a …\nThe hash of the block containing this transaction.\nThe height of the block containing this transaction.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nGet the index of the transaction with a given hash, if it …\nGet the index of the transaction with a given hash, if it …\nConvert this Fetch to a Result with the provided error …\nEnumerate the transactions in the block with their indices.\nEnumerate the transactions in the block with their indices.\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nTimeout for failing requests due to missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the transaction with the given hash.\nThe hash of this transaction.\nThe (0-based) position of this transaction within its …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this block is empty of transactions.\nWhether this block is empty of transactions.\nList the transaction indices in the block.\nThe number of transactions in the block.\nTransform the result of this fetch.\nCollect information about a Leaf.\nGet the index of the nth transaction.\nGet the index of the nth transaction.\nGet the nth transaction.\nGet the nth transaction.\nGet the nth transaction, along with an inclusion proof.\nGet the nth transaction, along with an inclusion proof.\nGet an inclusion proof for a transaction with a given …\nGet an inclusion proof for a transaction with a given …\nA proof of inclusion of this transaction in its block.\nWait for the data to become available, if it is not …\nGet a transaction by its block-specific index.\nGet a transaction by its block-specific index.\nThe underlying transaction data.\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet a transaction by its block-specific index, along with …\nGet the requested data if it is available immediately.\nConvert this Fetch to a Result with the provided error …\nWait for the requested data to become available, but only …\nWrapper to add extensibility to an existing data source.\nA minimal data source for the status API provided in this …\nA unit of atomicity for updating a shared data sourec.\nA transaction which can read and modify the data source.\nAn extension trait for types which implement the update …\nA data source with an atomic transaction-based …\nGeneric tests we can instantiate for all the availability …\nAsynchronous retrieval of missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAccess the underlying data source.\nMutably access the underlying data source.\nCalls U::from(self).\nCalls U::from(self).\nGeneric tests we can instantiate for all the node data …\nGeneric tests we can instantiate for any data source with …\nStart a read-only transaction on the data source.\nGeneric tests we can instantiate for all the status data …\nPersistent storage for data sources.\nUpdate query state based on a new consensus event.\nStart an atomic transaction on the data source.\nA provider which can be used as a fetcher by the …\nBuilder for FetchingDataSource with configuration.\nThe most basic kind of data source.\nBuild a FetchingDataSource with these options.\nBuild a FetchingDataSource with the given storage and …\nConnect to a remote database.\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nRun without proactive fetching.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new builder with the given storage and fetcher …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nAdd a delay between active fetches in proactive scans.\nAdds a delay between chunk fetches during proactive scans.\nSet the interval (denominated in minor scans) between …\nSet the offset (denominated in minor scans) before the …\nSet the time interval between minor proactive fetching …\nSet the number of items to process at a time when scanning …\nSet the number of items to process at a time when loading …\nSet the maximum delay between retries of fetches.\nSet the maximum delay between retries of fetches.\nA data source for the APIs provided in this crate, backed …\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nThe Error type, a wrapper around a dynamic error type.\nRepresents a schema migration to be run on the database, …\nPostgreSQL database driver.\nA data source for the APIs provided in this crate, backed …\nConnect to the database, setting options on the underlying …\nConnect to the database with this config.\nConnect to a remote database.\nEmbed migrations from the given directory into the current …\nPersistent storage for a HotShot blockchain.\nAn interface for querying Data and Statistics from the …\nThis trait defines methods that a data source should …\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nSearch the database for missing objects and generate a …\nStorage for the APIs provided in this crate, backed by a …\nCreate a new FileSystemStorage with storage at path.\nCreate a new FileSystemStorage using a persistent storage …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOpen an existing FileSystemStorage from storage at path.\nOpen an existing FileSystemStorage using a persistent …\nAdvance the version of the persistent store without …\nMock storage implementation which doesn’t actually store …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nEither Postgres or no storage.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nNumber of blocks to remove in a single pruning operation.\nReturns the argument unchanged.\nPruning interval\nCalls U::from(self).\nMaximum disk usage (in basis points).\nMinimum data retention period\nDisk space threshold (in bytes).\nTarget data retention period\nThe concrete type used as a buffer for arguments while …\nThe concrete Arguments implementation for this database.\nThe concrete Column implementation for this database.\nPostgres client config.\nThe concrete Connection implementation for this database.\nA database driver.\nThe concrete database backing a SQL data source.\nThe Error type, a wrapper around a dynamic error type.\nA type that contains or can provide a database connection …\nA collection of parameters with a statically known length.\nRepresents a schema migration to be run on the database, …\nThe display name for this database driver.\nA collection of parameters which can be bound to a SQL …\nPostgreSQL database driver.\nHelper type for programatically constructing queries.\nThe concrete QueryResult implementation for this database.\nMarker type indicating a transaction with read-only access …\nThe concrete Row implementation for this database.\nStorage for the APIs provided in this crate, backed by a …\nSqlite database driver.\nThe concrete Statement implementation for this database.\nAn atomic SQL transaction.\nThe concrete TransactionManager implementation for this …\nTrait for marker types indicating what type of access a …\nThe concrete TypeInfo implementation for this database.\nThe schemes for database URLs that should match this …\nThe concrete type used to hold an owned copy of the …\nThe concrete type used to hold a reference to the …\nMarker type indicating a transaction with read-write …\nGet the timestamp from when the Migration was applied. None…\nDisable pruning and reconstruct previously pruned data.\nGet the backtrace for this Error.\nAdd an argument and return its name as a formal parameter …\nConvert range bounds to a SQL WHERE clause constraining a …\nConnect to the database, setting options on the underlying …\nAn iterator of the chain of source errors contained by …\nGet the Migration checksum. Checksum is formed from the …\nConnect to the database with this config.\nConnect to a remote database.\nSet the maximum lifetime of a connection.\nWrap the error value with additional context.\nSet the name of the database to connect to.\nThe migrations requied to build the default schema for …\nAttempt to downcast the error object to a concrete type.\nDowncast this error object by mutable reference.\nDowncast this error object by reference.\nExecute the query and return the total number of rows …\nExecute the query and return the total number of rows …\nExecute multiple queries and return the rows affected from …\nExecute multiple queries and return the rows affected from …\nExecute a statement that is expected to modify at least …\nExecute a statement that is expected to modify at least …\nExecute a statement that is expected to modify exactly one …\nExecute a statement that is expected to modify exactly one …\nExecute the query and return the generated results as a …\nExecute the query and return the generated results as a …\nExecute the query and return all the generated results, …\nExecute the query and return all the generated results, …\nExecute multiple queries and return the generated results …\nExecute the query and returns exactly one row.\nExecute the query and returns exactly one row.\nExecute the query and returns at most one row.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetreives a Merkle path from the database\nConstruct a SQL WHERE clause which filters for a header …\nSet the hostname of the database server.\nSet the maximum idle time of a connection.\nEmbed the contents of a directory in your crate.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if E is the type held by this error object.\nLoad a header from storage.\nSet the maximum number of connections to maintain at any …\nAdd custom migrations to run when connecting to the …\nSet the minimum number of connections to maintain at any …\nCreate a new error object from a printable error message.\nGet the Migration Name\nCreate a new error object from any error type.\nSkip all migrations when connecting to the database.\nSet a password for connecting to the database.\nSet the port on which to connect to the database.\nGet the Prefix\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query, with parameter type information, to …\nNote: The prune operation may not immediately free up …\nEnable pruning with a given configuration.\nFinalize the query with a constructed SQL statement.\nFinalize the query with a constructed SQL statement and a …\nReset the schema on connection.\nThe lowest level cause of this error — this error’s …\nSet the name of the schema to use for queries.\nUse TLS for an encrypted connection to the database.\nCreate an unapplied migration, name and version are parsed …\nSet the DB user to connect as.\nGet the Migration version\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nBalanceAmount is a type that represents a general balance …\nBlockDetail is a struct that represents the details of a …\nBlockDetailResponse is a struct that represents the …\nBlockIdentifier is an enum that represents multiple ways …\nBlockRange is a struct that represents a range for a …\nBlockSummary is a struct that represents a summary …\nBlockSummaryResponse is a struct that represents the …\nCurrencyCode represents an enumeration of all …\nCurrencyMismatchError is an error that occurs when two …\nError is an enum that represents the various errors that …\nAn interface for querying Data and Statistics from the …\nExplorerHeader is a trait that represents certain …\nExplorerHistograms provides a series of data points that …\nExplorerSummary is a struct that represents an at-a-glance …\nExplorerSummaryResponse is a struct that represents the …\nExplorerTransaction is a trait that allows the Explorer …\nFeeAttribution represents a specific attribution of fees …\nGenesisOverview provides a summary overview of the block …\nGetBlockDetailError represents an error that has occurred …\nGetBlockSummariesError represents an error that has …\nGetBlockSummariesRequest is a struct that represents an …\nGetExplorerSummaryError represents an error that has …\nGetSearchResultsError represents an error that has …\nGetTransactionDetailError represents an error that has …\nGetTransactionSummariesError represents an error that has …\nGetTransactionSummariesRequest is a struct that represents …\nInvalidCurrencyCodeError is an error that occurs when an …\nMonetaryValues is a struct that paris a CurrencyCode with …\nNamespaceId is a type that represents the id of a …\nNamespaceId is a type that represents the id of a …\nProposerId is a type that represents the proposer id of …\nSearchResult is a struct that represents the results of …\nSearchResultResponse is a struct that represents the …\nTimestamp represents a specific point in time that has a …\nTimestampConversionError represents an error that has …\nTransactionDetail is a struct that represents the details …\nTransactionDetailResponse is a struct that represents the …\nTransactionIdentifier is an enum that represents multiple …\nTransactionRange is a struct that represents a range for a …\nTransactionSummariesResponse is a struct that represents …\nTransactionSummary is a struct that represents a summary …\nTransactionSummaryFilter represents the various filters …\nWalletAddress is a type that represents the address of a …\nadd attempts to add the two MonetaryValues together. This …\nbtc is a convenience function to create a MonetaryValue …\ndefine_api is a function that defines the API endpoints …\ndeserialize attempts to convert a string into a …\ndeserialize converts a string representation of a RFC3339 …\nesp is a convenience function to create a MonetaryValue …\neth is a convenience function to create a MonetaryValue …\nThe wallet address of the fee info account contained …\nThe balance amount of the fee info contained within the …\nfmt formats the error into a human readable string\nfmt formats the error into a human readable string\nfmt formats the currency code into a human readable string\nfmt formats the MonetaryValue into a human readable …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nfrom converts an i128 into a MonetaryValue with the USD …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nA collection of namespace ids that are contained within …\nnew creates a new MonetaryValue instance with the given …\nThe proposer id of the block as stored within the block …\nThe balance amount of the reward for constructing the …\nserialize converts the error into a struct representation\nserialize converts the error into a struct representation\nserialize converts the MonetaryValue into a String …\nserialize converts the timestamp into a string …\nsignificant_digits represents the total number of …\nsub attempts to subtract the two MonetaryValues together. …\nusd is a convenience function to create a MonetaryValue …\nA callback to process the result of a request.\nManagement of concurrent requests to fetch resources.\nA callback to process the result of a request.\nReturns the argument unchanged.\nCalls U::from(self).\nAsynchronous fetching from external data availability …\nRequests for fetching resources.\nFetch a resource, if it is not already being fetched.\nAdaptor combining multiple data availability providers.\nTrivial Provider where fetching always fails.\nA provider which is able to satisfy requests for data of …\nData availability provider backed by another instance of …\nAdaptor to add test-only functionality to an existing …\nDelay fetch requests until unblock.\nCause subsequent requests to fail.\nFetch a resource.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nAllow blocked fetch requests to proceed.\nStop requests from failing as a result of a previous call …\nAdd a sub-provider which fetches blocks.\nAdd a sub-provider which fetches leaves.\nAdd a sub-provider which fetches both blocks and leaves.\nAdd a sub-provider which fetches VID common data.\nA request for a leaf with a given height.\nA request for a payload with a given commitment.\nA request for a resource.\nThe type of resource that will be returned as a successful …\nA request for VID common data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThis trait should be implemented by the MerkleTree that …\nThis trait defines methods that a data source should …\nSnapshot can be queried by block height (index) or merkle …\nThis trait defines methods for updating the storage with …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetrieves the field in the header containing the Merkle …\nInsert a forgotten path into the tree.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRetrieves the name of the state being queried.\nGet the height of the tree\nA Counter metric.\nA CounterFamily metric.\nA Gauge metric.\nA GaugeFamily metric.\nA Histogram metric.\nA HistogramFamily metric.\nA Prometheus-based implementation of a Metrics registry.\nA TextFamily metric.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a gauge family in this sub-group by name.\nGet a counter in this sub-group by name.\nGet a counter family in this sub-group by name.\nGet a gauge in this sub-group by name.\nGet a histogram in this sub-group by name.\nGet a histogram family in this sub-group by name.\nGet a (possibly nested) subgroup of this group by its path.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSNAFU context selector for the Error::Custom variant\nSNAFU context selector for the Error::Query variant\nSNAFU context selector for the Error::QueryVid variant\nSNAFU context selector for the Error::QueryWindow variant\nSNAFU context selector for the Error::Request variant\nResponse to a /:resource/window query.\nConsume the selector and return the associated error\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe block height of the block that starts the window.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSearch the database for missing objects and generate a …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nA background task which is cancelled on Drop\nA task handle which can be joined, but is cancelled on Drop\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nWait for the task to complete and get its output.\nSpawn a background task, which will be cancelled when …\nSpawn a task, which will be cancelled when dropped.\nBacking storage for the data source.\nReturns the argument unchanged.\nCalls U::from(self).\nSetup runs after setting up the network but before …\nA type alias for the mock base version\nThe block header to append\nBlock number.\nFast commitment for builder verification\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nPer spec, justification\nblock metdata\nVID commitment to the payload.\nPossible timeout or view sync certificate.\nrandom\nshould_return_err is a testing utility to validate …\nTimestamp when this header was created.\nList of transactions.\nPossible upgrade certificate, which the leader may …\nThe URL of the builder to reach out to.\nCurView from leader when proposing leaf\nTypes which have a notion of “height” within a chain.") \ No newline at end of file +searchState.loadedDescShard("hotshot_query_service", 0, "The HotShot Query Service is a minimal, generic query …\nRead-only wrapper for API state which does not require …\nContains the error value\nThere was an error while trying to fetch the requested …\nSNAFU context selector for the QueryError::Error variant\nThis is the consensus-internal analogous concept to a …\nThe requested resource exists but is not currently …\nSNAFU context selector for the QueryError::Missing variant\nThe requested resource does not exist or is not known to …\nSNAFU context selector for the QueryError::NotFound variant\nContains the success value\nA reference to a T which can be resolved into a whole T.\nItem within a Payload.\nVID commitment type\nVID common type\nVID share type\nQueries for HotShot chain state.\nThe block header contained in this leaf.\nGet a mutable reference to the block header contained in …\nOptional block payload.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nCalculate the leaf commitment, which is gated on the …\nGet a commitment to the underlying object.\nPersistent storage and sources of data consumed by APIs.\nValidate that a leaf has the right upgrade certificate to …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nFetching missing data from remote providers.\nFill this leaf with the block payload.\nFill this leaf with the block payload, without checking …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstructs a leaf from a given quorum proposal.\nCreate a new leaf from its components.\nHeight of this leaf in the chain.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe QC linking this leaf to its parent in the chain.\nApi for querying merklized state\nA node’s view of a HotShot chain\nCommitment to this leaf’s parent.\nA commitment to the block payload contained in this leaf.\nRun an instance of the HotShot Query service with no …\nQueries for node-specific state and uncommitted data.\nAsync task utilites.\nGet the underlying object if it is available without …\nCommon functionality provided by types used in this crate.\nTake the block payload from the leaf and return it if it …\nThe QC linking this leaf to its parent in the chain.\nTime when this leaf was created.\nAn interface for querying a HotShot blockchain.\nA block hash is the hash of the block header.\nSNAFU context selector for the Error::Custom variant\nAn in-progress request to fetch some data.\nSNAFU context selector for the Error::FetchBlock variant\nSNAFU context selector for the Error::FetchLeaf variant\nSNAFU context selector for the Error::FetchTransaction …\nA proof that a certain transaction exists in the block.\nSNAFU context selector for the …\nEnumerate the transactions in this block.\nA block payload whose contents (e.g. individual …\nSNAFU context selector for the Error::Request variant\nAn index which can be used to efficiently retrieve a …\nThe hash of the block containing this transaction.\nThe height of the block containing this transaction.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nGet the index of the transaction with a given hash, if it …\nGet the index of the transaction with a given hash, if it …\nConvert this Fetch to a Result with the provided error …\nEnumerate the transactions in the block with their indices.\nEnumerate the transactions in the block with their indices.\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nTimeout for failing requests due to missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the transaction with the given hash.\nThe hash of this transaction.\nThe (0-based) position of this transaction within its …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this block is empty of transactions.\nWhether this block is empty of transactions.\nDoes this fetch represent an unresolved query?\nList the transaction indices in the block.\nThe number of transactions in the block.\nTransform the result of this fetch.\nCollect information about a Leaf.\nGet the index of the nth transaction.\nGet the index of the nth transaction.\nGet the nth transaction.\nGet the nth transaction.\nGet the nth transaction, along with an inclusion proof.\nGet the nth transaction, along with an inclusion proof.\nGet an inclusion proof for a transaction with a given …\nGet an inclusion proof for a transaction with a given …\nA proof of inclusion of this transaction in its block.\nWait for the data to become available, if it is not …\nGet a transaction by its block-specific index.\nGet a transaction by its block-specific index.\nThe underlying transaction data.\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet a transaction by its block-specific index, along with …\nGet the requested data if it is available immediately.\nConvert this Fetch to a Result with the provided error …\nWait for the requested data to become available, but only …\nWrapper to add extensibility to an existing data source.\nA minimal data source for the status API provided in this …\nA unit of atomicity for updating a shared data sourec.\nA transaction which can read and modify the data source.\nAn extension trait for types which implement the update …\nA data source with an atomic transaction-based …\nGeneric tests we can instantiate for all the availability …\nAsynchronous retrieval of missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAccess the underlying data source.\nMutably access the underlying data source.\nCalls U::from(self).\nCalls U::from(self).\nGeneric tests we can instantiate for all the node data …\nGeneric tests we can instantiate for any data source with …\nStart a read-only transaction on the data source.\nGeneric tests we can instantiate for all the status data …\nPersistent storage for data sources.\nUpdate query state based on a new consensus event.\nStart an atomic transaction on the data source.\nA provider which can be used as a fetcher by the …\nBuilder for FetchingDataSource with configuration.\nThe most basic kind of data source.\nBuild a FetchingDataSource with these options.\nBuild a FetchingDataSource with the given storage and …\nConnect to a remote database.\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nRun without proactive fetching.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new builder with the given storage and fetcher …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nAdd a delay between active fetches in proactive scans.\nAdds a delay between chunk fetches during proactive scans.\nSet the interval (denominated in minor scans) between …\nSet the offset (denominated in minor scans) before the …\nSet the time interval between minor proactive fetching …\nSet the number of items to process at a time when scanning …\nSet the number of items to process at a time when loading …\nSet the maximum delay between retries of fetches.\nSet the maximum delay between retries of fetches.\nA data source for the APIs provided in this crate, backed …\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nThe Error type, a wrapper around a dynamic error type.\nRepresents a schema migration to be run on the database, …\nA data source for the APIs provided in this crate, backed …\nConnect to a remote database.\nEmbed migrations from the given directory into the current …\nPersistent storage for a HotShot blockchain.\nAn interface for querying Data and Statistics from the …\nThis trait defines methods that a data source should …\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nSearch the database for missing objects and generate a …\nStorage for the APIs provided in this crate, backed by a …\nCreate a new FileSystemStorage with storage at path.\nCreate a new FileSystemStorage using a persistent storage …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOpen an existing FileSystemStorage from storage at path.\nOpen an existing FileSystemStorage using a persistent …\nAdvance the version of the persistent store without …\nMock storage implementation which doesn’t actually store …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nEither Postgres or no storage.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nNumber of blocks to remove in a single pruning operation.\nReturns the argument unchanged.\nPruning interval\nCalls U::from(self).\nMaximum disk usage (in basis points).\nMinimum data retention period\nDisk space threshold (in bytes).\nTarget data retention period\nThe concrete type used as a buffer for arguments while …\nThe concrete Arguments implementation for this database.\nThe concrete Column implementation for this database.\nPostgres client config.\nThe concrete Connection implementation for this database.\nA database driver.\nThe concrete database backing a SQL data source.\nThe Error type, a wrapper around a dynamic error type.\nA type that contains or can provide a database connection …\nA collection of parameters with a statically known length.\nRepresents a schema migration to be run on the database, …\nThe display name for this database driver.\nA collection of parameters which can be bound to a SQL …\nHelper type for programatically constructing queries.\nThe concrete QueryResult implementation for this database.\nMarker type indicating a transaction with read-only access …\nThe concrete Row implementation for this database.\nStorage for the APIs provided in this crate, backed by a …\nSqlite database driver.\nThe concrete Statement implementation for this database.\nAn atomic SQL transaction.\nThe concrete TransactionManager implementation for this …\nTrait for marker types indicating what type of access a …\nThe concrete TypeInfo implementation for this database.\nThe schemes for database URLs that should match this …\nThe concrete type used to hold an owned copy of the …\nThe concrete type used to hold a reference to the …\nMarker type indicating a transaction with read-write …\nGet the timestamp from when the Migration was applied. None…\nDisable pruning and reconstruct previously pruned data.\nGet the backtrace for this Error.\nAdd an argument and return its name as a formal parameter …\nConvert range bounds to a SQL WHERE clause constraining a …\nConnect to the database, setting options on the underlying …\nAn iterator of the chain of source errors contained by …\nGet the Migration checksum. Checksum is formed from the …\nConnect to the database with this config.\nConnect to a remote database.\nSet the maximum lifetime of a connection.\nWrap the error value with additional context.\nSet the name of the database to connect to.\nThe migrations requied to build the default schema for …\nAttempt to downcast the error object to a concrete type.\nDowncast this error object by mutable reference.\nDowncast this error object by reference.\nExecute the query and return the total number of rows …\nExecute the query and return the total number of rows …\nExecute multiple queries and return the rows affected from …\nExecute multiple queries and return the rows affected from …\nExecute a statement that is expected to modify at least …\nExecute a statement that is expected to modify at least …\nExecute a statement that is expected to modify exactly one …\nExecute a statement that is expected to modify exactly one …\nExecute the query and return the generated results as a …\nExecute the query and return the generated results as a …\nExecute the query and return all the generated results, …\nExecute the query and return all the generated results, …\nExecute multiple queries and return the generated results …\nExecute the query and returns exactly one row.\nExecute the query and returns exactly one row.\nExecute the query and returns at most one row.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetreives a Merkle path from the database\nConstruct a SQL WHERE clause which filters for a header …\nSet the hostname of the database server.\nSet the maximum idle time of a connection.\nEmbed the contents of a directory in your crate.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if E is the type held by this error object.\nLoad a header from storage.\nSet the maximum number of connections to maintain at any …\nAdd custom migrations to run when connecting to the …\nSet the minimum number of connections to maintain at any …\nCreate a new error object from a printable error message.\nGet the Migration Name\nCreate a new error object from any error type.\nSkip all migrations when connecting to the database.\nSet a password for connecting to the database.\nSet the port on which to connect to the database.\nGet the Prefix\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query, with parameter type information, to …\nNote: The prune operation may not immediately free up …\nEnable pruning with a given configuration.\nFinalize the query with a constructed SQL statement.\nFinalize the query with a constructed SQL statement and a …\nReset the schema on connection.\nThe lowest level cause of this error — this error’s …\nSet the name of the schema to use for queries.\nLog at WARN level any time a SQL statement takes longer …\nUse TLS for an encrypted connection to the database.\nCreate an unapplied migration, name and version are parsed …\nSet the DB user to connect as.\nGet the Migration version\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nBalanceAmount is a type that represents a general balance …\nBlockDetail is a struct that represents the details of a …\nBlockDetailResponse is a struct that represents the …\nBlockIdentifier is an enum that represents multiple ways …\nBlockRange is a struct that represents a range for a …\nBlockSummary is a struct that represents a summary …\nBlockSummaryResponse is a struct that represents the …\nCurrencyCode represents an enumeration of all …\nCurrencyMismatchError is an error that occurs when two …\nError is an enum that represents the various errors that …\nAn interface for querying Data and Statistics from the …\nExplorerHeader is a trait that represents certain …\nExplorerHistograms provides a series of data points that …\nExplorerSummary is a struct that represents an at-a-glance …\nExplorerSummaryResponse is a struct that represents the …\nExplorerTransaction is a trait that allows the Explorer …\nFeeAttribution represents a specific attribution of fees …\nGenesisOverview provides a summary overview of the block …\nGetBlockDetailError represents an error that has occurred …\nGetBlockSummariesError represents an error that has …\nGetBlockSummariesRequest is a struct that represents an …\nGetExplorerSummaryError represents an error that has …\nGetSearchResultsError represents an error that has …\nGetTransactionDetailError represents an error that has …\nGetTransactionSummariesError represents an error that has …\nGetTransactionSummariesRequest is a struct that represents …\nInvalidCurrencyCodeError is an error that occurs when an …\nMonetaryValues is a struct that paris a CurrencyCode with …\nNamespaceId is a type that represents the id of a …\nNamespaceId is a type that represents the id of a …\nProposerId is a type that represents the proposer id of …\nSearchResult is a struct that represents the results of …\nSearchResultResponse is a struct that represents the …\nTimestamp represents a specific point in time that has a …\nTimestampConversionError represents an error that has …\nTransactionDetail is a struct that represents the details …\nTransactionDetailResponse is a struct that represents the …\nTransactionIdentifier is an enum that represents multiple …\nTransactionRange is a struct that represents a range for a …\nTransactionSummariesResponse is a struct that represents …\nTransactionSummary is a struct that represents a summary …\nTransactionSummaryFilter represents the various filters …\nWalletAddress is a type that represents the address of a …\nadd attempts to add the two MonetaryValues together. This …\nbtc is a convenience function to create a MonetaryValue …\ndefine_api is a function that defines the API endpoints …\ndeserialize attempts to convert a string into a …\ndeserialize converts a string representation of a RFC3339 …\nesp is a convenience function to create a MonetaryValue …\neth is a convenience function to create a MonetaryValue …\nThe wallet address of the fee info account contained …\nThe balance amount of the fee info contained within the …\nfmt formats the error into a human readable string\nfmt formats the error into a human readable string\nfmt formats the currency code into a human readable string\nfmt formats the MonetaryValue into a human readable …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nfrom converts an i128 into a MonetaryValue with the USD …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nA collection of namespace ids that are contained within …\nnew creates a new MonetaryValue instance with the given …\nThe proposer id of the block as stored within the block …\nThe balance amount of the reward for constructing the …\nserialize converts the error into a struct representation\nserialize converts the error into a struct representation\nserialize converts the MonetaryValue into a String …\nserialize converts the timestamp into a string …\nsignificant_digits represents the total number of …\nsub attempts to subtract the two MonetaryValues together. …\nusd is a convenience function to create a MonetaryValue …\nA callback to process the result of a request.\nManagement of concurrent requests to fetch resources.\nA callback to process the result of a request.\nReturns the argument unchanged.\nCalls U::from(self).\nAsynchronous fetching from external data availability …\nRequests for fetching resources.\nFetch a resource, if it is not already being fetched.\nAdaptor combining multiple data availability providers.\nTrivial Provider where fetching always fails.\nA provider which is able to satisfy requests for data of …\nData availability provider backed by another instance of …\nAdaptor to add test-only functionality to an existing …\nDelay fetch requests until unblock.\nCause subsequent requests to fail.\nFetch a resource.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nAllow blocked fetch requests to proceed.\nStop requests from failing as a result of a previous call …\nAdd a sub-provider which fetches blocks.\nAdd a sub-provider which fetches leaves.\nAdd a sub-provider which fetches both blocks and leaves.\nAdd a sub-provider which fetches VID common data.\nA request for a leaf with a given height.\nA request for a payload with a given commitment.\nA request for a resource.\nThe type of resource that will be returned as a successful …\nA request for VID common data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThis trait should be implemented by the MerkleTree that …\nThis trait defines methods that a data source should …\nSnapshot can be queried by block height (index) or merkle …\nThis trait defines methods for updating the storage with …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetrieves the field in the header containing the Merkle …\nInsert a forgotten path into the tree.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRetrieves the name of the state being queried.\nGet the height of the tree\nA Counter metric.\nA CounterFamily metric.\nA Gauge metric.\nA GaugeFamily metric.\nA Histogram metric.\nA HistogramFamily metric.\nA Prometheus-based implementation of a Metrics registry.\nA TextFamily metric.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a gauge family in this sub-group by name.\nGet a counter in this sub-group by name.\nGet a counter family in this sub-group by name.\nGet a gauge in this sub-group by name.\nGet a histogram in this sub-group by name.\nGet a histogram family in this sub-group by name.\nGet a (possibly nested) subgroup of this group by its path.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSNAFU context selector for the Error::Custom variant\nSNAFU context selector for the Error::Query variant\nSNAFU context selector for the Error::QueryVid variant\nSNAFU context selector for the Error::QueryWindow variant\nSNAFU context selector for the Error::Request variant\nResponse to a /:resource/window query.\nConsume the selector and return the associated error\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe block height of the block that starts the window.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSearch the database for missing objects and generate a …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nA background task which is cancelled on Drop\nA task handle which can be joined, but is cancelled on Drop\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nWait for the task to complete and get its output.\nSpawn a background task, which will be cancelled when …\nSpawn a task, which will be cancelled when dropped.\nBacking storage for the data source.\nReturns the argument unchanged.\nCalls U::from(self).\nSetup runs after setting up the network but before …\nA type alias for the mock base version\nThe block header to append\nBlock number.\nFast commitment for builder verification\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nPer spec, justification\nblock metdata\nVID commitment to the payload.\nPossible timeout or view sync certificate.\nrandom\nshould_return_err is a testing utility to validate …\nTimestamp when this header was created.\nList of transactions.\nPossible upgrade certificate, which the leader may …\nThe URL of the builder to reach out to.\nCurView from leader when proposing leaf\nTypes which have a notion of “height” within a chain.") \ No newline at end of file diff --git a/src/hotshot_query_service/availability/fetch.rs.html b/src/hotshot_query_service/availability/fetch.rs.html index 8c8ffd8ab..e0ab87b60 100644 --- a/src/hotshot_query_service/availability/fetch.rs.html +++ b/src/hotshot_query_service/availability/fetch.rs.html @@ -120,6 +120,11 @@ 120 121 122 +123 +124 +125 +126 +127
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the HotShot Query Service library.
 //
@@ -193,6 +198,11 @@
     {
         self.try_resolve().ok().with_context(context)
     }
+
+    /// Does this fetch represent an unresolved query?
+    pub fn is_pending(&self) -> bool {
+        matches!(self, Self::Pending(_))
+    }
 }
 
 impl<T: Send + 'static> Fetch<T> {
diff --git a/src/hotshot_query_service/data_source/fetching.rs.html b/src/hotshot_query_service/data_source/fetching.rs.html
index 7252b69f0..8b5edfbf6 100644
--- a/src/hotshot_query_service/data_source/fetching.rs.html
+++ b/src/hotshot_query_service/data_source/fetching.rs.html
@@ -1370,6 +1370,121 @@
 1370
 1371
 1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
 
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the HotShot Query Service library.
 //
@@ -1480,7 +1595,10 @@
     future::{join_all, BoxFuture, FutureExt},
     stream::{self, BoxStream, Stream, StreamExt},
 };
-use hotshot_types::traits::node_implementation::NodeType;
+use hotshot_types::traits::{
+    metrics::{Gauge, Metrics},
+    node_implementation::NodeType,
+};
 use jf_merkle_tree::{prelude::MerkleProof, MerkleTreeScheme};
 use std::{
     cmp::min,
@@ -1664,7 +1782,7 @@
     Types: NodeType,
     Payload<Types>: QueryablePayload<Types>,
     Header<Types>: QueryableHeader<Types>,
-    S: PruneStorage + VersionedDataSource + 'static,
+    S: PruneStorage + VersionedDataSource + HasMetrics + 'static,
     for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + PrunedHeightStorage + NodeStorage<Types>,
     for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,
     P: AvailabilityProvider<Types>,
@@ -1755,7 +1873,7 @@
     Types: NodeType,
     Payload<Types>: QueryablePayload<Types>,
     Header<Types>: QueryableHeader<Types>,
-    S: VersionedDataSource + PruneStorage + 'static,
+    S: VersionedDataSource + PruneStorage + HasMetrics + 'static,
     for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,
     for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage,
     P: AvailabilityProvider<Types>,
@@ -1773,6 +1891,7 @@
         let proactive_range_chunk_size = builder
             .proactive_range_chunk_size
             .unwrap_or(builder.range_chunk_size);
+        let scanner_metrics = ScannerMetrics::new(builder.storage.metrics());
 
         let fetcher = Arc::new(Fetcher::new(builder).await?);
         let scanner = if proactive_fetching {
@@ -1783,6 +1902,7 @@
                     major_interval,
                     major_offset,
                     proactive_range_chunk_size,
+                    scanner_metrics,
                 ),
             ))
         } else {
@@ -2295,15 +2415,20 @@
         major_interval: usize,
         major_offset: usize,
         chunk_size: usize,
+        metrics: ScannerMetrics,
     ) {
         let mut prev_height = 0;
 
         for i in 0.. {
             let major = i % major_interval == major_offset % major_interval;
             let span = tracing::warn_span!("proactive scan", i, major, prev_height);
+            metrics.running.set(1);
+            metrics.current_scan.set(i);
+            metrics.current_is_major.set(major as usize);
             async {
                 let mut backoff = minor_interval;
                 let max_backoff = Duration::from_secs(60);
+                metrics.backoff.set(backoff.as_secs() as usize);
 
                 // We can't start the scan until we know the current block height and pruned height,
                 // so we know which blocks to scan. Thus we retry until this succeeds.
@@ -2315,8 +2440,10 @@
                                 ?backoff,
                                 "unable to start transaction for scan: {err:#}"
                             );
+                            metrics.retries.update(1);
                             sleep(backoff).await;
                             backoff = min(2 * backoff, max_backoff);
+                            metrics.backoff.set(backoff.as_secs() as usize);
                             continue;
                         }
                     };
@@ -2324,11 +2451,14 @@
                         Ok(heights) => heights,
                         Err(err) => {
                             tracing::error!(?backoff, "unable to load heights: {err:#}");
+                            metrics.retries.update(1);
                             sleep(backoff).await;
                             backoff = min(2 * backoff, max_backoff);
+                            metrics.backoff.set(backoff.as_secs() as usize);
                             continue;
                         }
                     };
+                    metrics.retries.set(0);
                     break heights;
                 };
 
@@ -2349,12 +2479,22 @@
                         block_height,
                         "starting major scan"
                     );
+
+                    // If we're starting a major scan, reset the major scan counts of missing data
+                    // as we're about to recompute them.
+                    metrics.major_missing_blocks.set(0);
+                    metrics.major_missing_vid.set(0);
+
                     minimum_block_height
                 } else {
                     tracing::info!(start = prev_height, block_height, "starting minor scan");
                     prev_height
                 };
                 prev_height = block_height;
+                metrics.current_start.set(start);
+                metrics.current_end.set(block_height);
+                metrics.scanned_blocks.set(0);
+                metrics.scanned_vid.set(0);
 
                 // Iterate over all blocks that we should have. Fetching the block is enough to
                 // trigger an active fetch of the corresponding leaf if it too is missing. The
@@ -2367,17 +2507,21 @@
                         chunk_size,
                         start..block_height,
                     );
-                while let Some(fut) = blocks.next().await {
-                    // Wait for the block to be fetched. This slows down the scanner so that we
-                    // don't waste memory generating more active fetch tasks then we can handle at a
-                    // given time. Note that even with this await, all blocks within a chunk are
-                    // fetched in parallel, so this does not block the next block in the chunk, only
-                    // the next chunk until the current chunk completes. Also, this `await` resolves
-                    // immediately if the block was already available and did not need to be
-                    // fetched, so doing this on every block costs us nothing unless we are actually
-                    // fetching missing data.
-                    fut.await;
+                let mut missing_blocks = 0;
+                while let Some(fetch) = blocks.next().await {
+                    if fetch.is_pending() {
+                        missing_blocks += 1;
+                        // Wait for the block to be fetched. This slows down the scanner so that we
+                        // don't waste memory generating more active fetch tasks then we can handle
+                        // at a given time. Note that even with this await, all blocks within a
+                        // chunk are fetched in parallel, so this does not block the next block in
+                        // the chunk, only the next chunk until the current chunk completes.
+                        fetch.await;
+                    }
+                    metrics.scanned_blocks.update(1);
                 }
+                metrics.add_missing_blocks(major, missing_blocks);
+
                 // We have to trigger a separate fetch of the VID data, since this is fetched
                 // independently of the block payload.
                 let mut vid = self
@@ -2386,13 +2530,30 @@
                         chunk_size,
                         start..block_height,
                     );
-                while let Some(fut) = vid.next().await {
-                    // As above, limit the speed at which we spawn new fetches to the speed at which
-                    // we can process them.
-                    fut.await;
+                let mut missing_vid = 0;
+                while let Some(fetch) = vid.next().await {
+                    if fetch.is_pending() {
+                        missing_vid += 1;
+                        // As above, limit the speed at which we spawn new fetches to the speed at
+                        // which we can process them.
+                        fetch.await;
+                    }
+                    metrics.scanned_vid.update(1);
                 }
+                metrics.add_missing_vid(major, missing_vid);
 
                 tracing::info!("completed proactive scan, will scan again in {minor_interval:?}");
+
+                // Reset metrics.
+                metrics.running.set(0);
+                if major {
+                    // If we just completed a major scan, reset the incremental counts of missing
+                    // data from minor scans, so the next round of minor scans can recompute/update
+                    // them.
+                    metrics.minor_missing_blocks.set(0);
+                    metrics.minor_missing_vid.set(0);
+                }
+
                 sleep(minor_interval).await;
             }
             .instrument(span)
@@ -2742,4 +2903,73 @@
         }
     }
 }
+
+#[derive(Debug)]
+struct ScannerMetrics {
+    /// Whether a scan is currently running (1) or not (0).
+    running: Box<dyn Gauge>,
+    /// The current number that is running.
+    current_scan: Box<dyn Gauge>,
+    /// Whether the currently running scan is a major scan (1) or not (0).
+    current_is_major: Box<dyn Gauge>,
+    /// Current backoff delay for retries (s).
+    backoff: Box<dyn Gauge>,
+    /// Number of retries since last success.
+    retries: Box<dyn Gauge>,
+    /// Block height where the current scan started.
+    current_start: Box<dyn Gauge>,
+    /// Block height where the current scan will end.
+    current_end: Box<dyn Gauge>,
+    /// Number of blocks processed in the current scan.
+    scanned_blocks: Box<dyn Gauge>,
+    /// Number of VID entries processed in the current scan.
+    scanned_vid: Box<dyn Gauge>,
+    /// The number of missing blocks encountered in the last major scan.
+    major_missing_blocks: Box<dyn Gauge>,
+    /// The number of missing VID entries encountered in the last major scan.
+    major_missing_vid: Box<dyn Gauge>,
+    /// The number of missing blocks encountered _cumulatively_ in minor scans since the last major
+    /// scan.
+    minor_missing_blocks: Box<dyn Gauge>,
+    /// The number of missing VID entries encountered _cumulatively_ in minor scans since the last
+    /// major scan.
+    minor_missing_vid: Box<dyn Gauge>,
+}
+
+impl ScannerMetrics {
+    fn new(metrics: &PrometheusMetrics) -> Self {
+        let group = metrics.subgroup("scanner".into());
+        Self {
+            running: group.create_gauge("running".into(), None),
+            current_scan: group.create_gauge("current".into(), None),
+            current_is_major: group.create_gauge("is_major".into(), None),
+            backoff: group.create_gauge("backoff".into(), Some("s".into())),
+            retries: group.create_gauge("retries".into(), None),
+            current_start: group.create_gauge("start".into(), None),
+            current_end: group.create_gauge("end".into(), None),
+            scanned_blocks: group.create_gauge("scanned_blocks".into(), None),
+            scanned_vid: group.create_gauge("scanned_vid".into(), None),
+            major_missing_blocks: group.create_gauge("major_missing_blocks".into(), None),
+            major_missing_vid: group.create_gauge("major_missing_vid".into(), None),
+            minor_missing_blocks: group.create_gauge("minor_missing_blocks".into(), None),
+            minor_missing_vid: group.create_gauge("minor_missing_vid".into(), None),
+        }
+    }
+
+    fn add_missing_blocks(&self, major: bool, missing: usize) {
+        if major {
+            self.major_missing_blocks.set(missing);
+        } else {
+            self.minor_missing_blocks.update(missing as i64);
+        }
+    }
+
+    fn add_missing_vid(&self, major: bool, missing: usize) {
+        if major {
+            self.major_missing_vid.set(missing);
+        } else {
+            self.minor_missing_vid.update(missing as i64);
+        }
+    }
+}
 
\ No newline at end of file diff --git a/src/hotshot_query_service/data_source/sql.rs.html b/src/hotshot_query_service/data_source/sql.rs.html index b85370400..8952b5c94 100644 --- a/src/hotshot_query_service/data_source/sql.rs.html +++ b/src/hotshot_query_service/data_source/sql.rs.html @@ -425,7 +425,6 @@ 425 426 427 -428
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the HotShot Query Service library.
 //
@@ -454,10 +453,9 @@
 use hotshot_types::traits::node_implementation::NodeType;
 pub use refinery::Migration;
 
-pub use sql::{Postgres, Transaction};
+pub use sql::{Config, Transaction};
 
 pub type Builder<Types, Provider> = fetching::Builder<Types, SqlStorage, Provider>;
-pub type Config = sql::Config<Postgres>;
 
 impl Config {
     /// Connect to the database with this config.
diff --git a/src/hotshot_query_service/data_source/storage/sql.rs.html b/src/hotshot_query_service/data_source/storage/sql.rs.html
index 385c5d122..c392bb508 100644
--- a/src/hotshot_query_service/data_source/storage/sql.rs.html
+++ b/src/hotshot_query_service/data_source/storage/sql.rs.html
@@ -1208,6 +1208,12 @@
 1208
 1209
 1210
+1211
+1212
+1213
+1214
+1215
+1216
 
// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the HotShot Query Service library.
 //
@@ -1237,15 +1243,16 @@
 use futures::future::FutureExt;
 use hotshot_types::traits::metrics::Metrics;
 use itertools::Itertools;
+use log::LevelFilter;
 use sqlx::{
     pool::{Pool, PoolOptions},
     postgres::{PgConnectOptions, PgSslMode},
-    ConnectOptions, Connection, Row,
+    ConnectOptions, Row,
 };
 use std::{cmp::min, fmt::Debug, str::FromStr, time::Duration};
 
 pub extern crate sqlx;
-pub use sqlx::{Database, Postgres, Sqlite};
+pub use sqlx::{Database, Sqlite};
 
 mod db;
 mod migrate;
@@ -1395,11 +1402,8 @@
 
 /// Postgres client config.
 #[derive(Clone, Debug)]
-pub struct Config<DB>
-where
-    DB: Database,
-{
-    db_opt: <DB::Connection as Connection>::Options,
+pub struct Config {
+    db_opt: PgConnectOptions,
     pool_opt: PoolOptions<Db>,
     schema: String,
     reset: bool,
@@ -1409,7 +1413,7 @@
     archive: bool,
 }
 
-impl Default for Config<Postgres> {
+impl Default for Config {
     fn default() -> Self {
         PgConnectOptions::default()
             .host("localhost")
@@ -1418,7 +1422,7 @@
     }
 }
 
-impl From<PgConnectOptions> for Config<Postgres> {
+impl From<PgConnectOptions> for Config {
     fn from(db_opt: PgConnectOptions) -> Self {
         Self {
             db_opt,
@@ -1433,7 +1437,7 @@
     }
 }
 
-impl FromStr for Config<Postgres> {
+impl FromStr for Config {
     type Err = <PgConnectOptions as FromStr>::Err;
 
     fn from_str(s: &str) -> Result<Self, Self::Err> {
@@ -1441,7 +1445,7 @@
     }
 }
 
-impl Config<Postgres> {
+impl Config {
     /// Set the hostname of the database server.
     ///
     /// The default is `localhost`.
@@ -1485,9 +1489,7 @@
         self.db_opt = self.db_opt.ssl_mode(PgSslMode::Require);
         self
     }
-}
 
-impl<DB: Database> Config<DB> {
     /// Set the name of the schema to use for queries.
     ///
     /// The default schema is named `hotshot` and is created via the default migrations.
@@ -1585,6 +1587,16 @@
         self.pool_opt = self.pool_opt.max_connections(max);
         self
     }
+
+    /// Log at WARN level any time a SQL statement takes longer than `threshold`.
+    ///
+    /// The default threshold is 1s.
+    pub fn slow_statement_threshold(mut self, threshold: Duration) -> Self {
+        self.db_opt = self
+            .db_opt
+            .log_slow_statements(LevelFilter::Warn, threshold);
+        self
+    }
 }
 
 /// Storage for the APIs provided in this crate, backed by a remote PostgreSQL database.
@@ -1605,7 +1617,7 @@
 
 impl SqlStorage {
     /// Connect to a remote database.
-    pub async fn connect<DB: Database>(mut config: Config<DB>) -> Result<Self, Error> {
+    pub async fn connect(mut config: Config) -> Result<Self, Error> {
         let schema = config.schema.clone();
         let pool = config
             .pool_opt
@@ -1619,7 +1631,7 @@
                 }
                 .boxed()
             })
-            .connect(config.db_opt.to_url_lossy().as_ref())
+            .connect_with(config.db_opt)
             .await?;
 
         // Create or connect to the schema for this query service.
@@ -1888,7 +1900,7 @@
     use portpicker::pick_unused_port;
     use refinery::Migration;
 
-    use super::{Config, Postgres};
+    use super::Config;
     use crate::testing::sleep;
 
     #[derive(Debug)]
@@ -1955,7 +1967,7 @@
             self.port
         }
 
-        pub fn config(&self) -> Config<Postgres> {
+        pub fn config(&self) -> Config {
             Config::default()
                 .user("postgres")
                 .password("password")
diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js
index 46b722e03..3568241db 100644
--- a/trait.impl/core/clone/trait.Clone.js
+++ b/trait.impl/core/clone/trait.Clone.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["hotshot_query_service",[["impl Clone for Error"],["impl Clone for DataSource"],["impl Clone for Error"],["impl Clone for QueryError"],["impl Clone for CurrencyCode"],["impl Clone for Error"],["impl Clone for GetBlockDetailError"],["impl Clone for GetBlockSummariesError"],["impl Clone for GetExplorerSummaryError"],["impl Clone for GetSearchResultsError"],["impl Clone for GetTransactionDetailError"],["impl Clone for GetTransactionSummariesError"],["impl Clone for Error"],["impl Clone for Error"],["impl Clone for Error"],["impl Clone for RequestSnafu"],["impl Clone for NoStorage"],["impl Clone for PrunerCfg"],["impl Clone for Read"],["impl Clone for Write"],["impl Clone for MetricsDataSource"],["impl Clone for CurrencyMismatchError"],["impl Clone for InvalidCurrencyCodeError"],["impl Clone for MonetaryValue"],["impl Clone for Timestamp"],["impl Clone for NoFetching"],["impl Clone for LeafRequest"],["impl Clone for PayloadRequest"],["impl Clone for VidCommonRequest"],["impl Clone for Counter"],["impl Clone for CounterFamily"],["impl Clone for Gauge"],["impl Clone for GaugeFamily"],["impl Clone for Histogram"],["impl Clone for HistogramFamily"],["impl Clone for PrometheusMetrics"],["impl Clone for TextFamily"],["impl Clone for QuerySnafu"],["impl Clone for RequestSnafu"],["impl Clone for SyncStatus"],["impl Clone for MissingSnafu"],["impl Clone for NotFoundSnafu"],["impl Clone for BackgroundTask"],["impl Clone for MockNodeImpl"],["impl Clone for MockTypes"],["impl Clone for MockVersions"],["impl<D: Clone> Clone for ApiState<D>"],["impl<D: Clone, U: Clone> Clone for ExtensibleDataSource<D, U>"],["impl<DB> Clone for Config<DB>
where\n DB: Database + Clone,\n DB::Connection: Clone,
"],["impl<P> Clone for TestProvider<P>"],["impl<T, C> Clone for Fetcher<T, C>"],["impl<T: MerklizedState<Types, ARITY>, Types: NodeType, const ARITY: usize> Clone for Snapshot<Types, T, ARITY>"],["impl<T: Clone> Clone for TimeWindowQueryData<T>"],["impl<Types> Clone for AnyProvider<Types>
where\n Types: NodeType,
"],["impl<Types, S, P> Clone for FetchingDataSource<Types, S, P>
where\n Types: NodeType,
"],["impl<Types, S, P> Clone for Pruner<Types, S, P>
where\n Types: NodeType,
"],["impl<Types: Clone + NodeType> Clone for BlockIdentifier<Types>"],["impl<Types: Clone + NodeType> Clone for TransactionIdentifier<Types>"],["impl<Types: Clone + NodeType> Clone for BlockQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for BlockSummaryQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for InconsistentLeafError<Types>"],["impl<Types: Clone + NodeType> Clone for LeafQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for PayloadQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for TransactionQueryData<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: Clone + NodeType> Clone for TransactionSummaryQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for VidCommonQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for BlockRange<Types>"],["impl<Types: Clone + NodeType> Clone for TransactionRange<Types>"],["impl<Types: NodeType> Clone for BlockId<Types>"],["impl<Types: NodeType> Clone for LeafId<Types>"],["impl<Types: NodeType> Clone for WindowStart<Types>"],["impl<Ver: Clone + StaticVersionType> Clone for QueryServiceProvider<Ver>"],["impl<__T0: Clone> Clone for FetchBlockSnafu<__T0>"],["impl<__T0: Clone> Clone for FetchLeafSnafu<__T0>"],["impl<__T0: Clone> Clone for FetchTransactionSnafu<__T0>"],["impl<__T0: Clone> Clone for QueryVidSnafu<__T0>"],["impl<__T0: Clone> Clone for ErrorSnafu<__T0>"],["impl<__T0: Clone, __T1: Clone> Clone for CustomSnafu<__T0, __T1>"],["impl<__T0: Clone, __T1: Clone> Clone for InvalidTransactionIndexSnafu<__T0, __T1>"],["impl<__T0: Clone, __T1: Clone> Clone for CustomSnafu<__T0, __T1>"],["impl<__T0: Clone, __T1: Clone> Clone for QueryWindowSnafu<__T0, __T1>"]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl Clone for Error"],["impl Clone for DataSource"],["impl Clone for Error"],["impl Clone for QueryError"],["impl Clone for CurrencyCode"],["impl Clone for Error"],["impl Clone for GetBlockDetailError"],["impl Clone for GetBlockSummariesError"],["impl Clone for GetExplorerSummaryError"],["impl Clone for GetSearchResultsError"],["impl Clone for GetTransactionDetailError"],["impl Clone for GetTransactionSummariesError"],["impl Clone for Error"],["impl Clone for Error"],["impl Clone for Error"],["impl Clone for RequestSnafu"],["impl Clone for NoStorage"],["impl Clone for PrunerCfg"],["impl Clone for Config"],["impl Clone for Read"],["impl Clone for Write"],["impl Clone for MetricsDataSource"],["impl Clone for CurrencyMismatchError"],["impl Clone for InvalidCurrencyCodeError"],["impl Clone for MonetaryValue"],["impl Clone for Timestamp"],["impl Clone for NoFetching"],["impl Clone for LeafRequest"],["impl Clone for PayloadRequest"],["impl Clone for VidCommonRequest"],["impl Clone for Counter"],["impl Clone for CounterFamily"],["impl Clone for Gauge"],["impl Clone for GaugeFamily"],["impl Clone for Histogram"],["impl Clone for HistogramFamily"],["impl Clone for PrometheusMetrics"],["impl Clone for TextFamily"],["impl Clone for QuerySnafu"],["impl Clone for RequestSnafu"],["impl Clone for SyncStatus"],["impl Clone for MissingSnafu"],["impl Clone for NotFoundSnafu"],["impl Clone for BackgroundTask"],["impl Clone for MockNodeImpl"],["impl Clone for MockTypes"],["impl Clone for MockVersions"],["impl<D: Clone> Clone for ApiState<D>"],["impl<D: Clone, U: Clone> Clone for ExtensibleDataSource<D, U>"],["impl<P> Clone for TestProvider<P>"],["impl<T, C> Clone for Fetcher<T, C>"],["impl<T: MerklizedState<Types, ARITY>, Types: NodeType, const ARITY: usize> Clone for Snapshot<Types, T, ARITY>"],["impl<T: Clone> Clone for TimeWindowQueryData<T>"],["impl<Types> Clone for AnyProvider<Types>
where\n Types: NodeType,
"],["impl<Types, S, P> Clone for FetchingDataSource<Types, S, P>
where\n Types: NodeType,
"],["impl<Types, S, P> Clone for Pruner<Types, S, P>
where\n Types: NodeType,
"],["impl<Types: Clone + NodeType> Clone for BlockIdentifier<Types>"],["impl<Types: Clone + NodeType> Clone for TransactionIdentifier<Types>"],["impl<Types: Clone + NodeType> Clone for BlockQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for BlockSummaryQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for InconsistentLeafError<Types>"],["impl<Types: Clone + NodeType> Clone for LeafQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for PayloadQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for TransactionQueryData<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: Clone + NodeType> Clone for TransactionSummaryQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for VidCommonQueryData<Types>"],["impl<Types: Clone + NodeType> Clone for BlockRange<Types>"],["impl<Types: Clone + NodeType> Clone for TransactionRange<Types>"],["impl<Types: NodeType> Clone for BlockId<Types>"],["impl<Types: NodeType> Clone for LeafId<Types>"],["impl<Types: NodeType> Clone for WindowStart<Types>"],["impl<Ver: Clone + StaticVersionType> Clone for QueryServiceProvider<Ver>"],["impl<__T0: Clone> Clone for FetchBlockSnafu<__T0>"],["impl<__T0: Clone> Clone for FetchLeafSnafu<__T0>"],["impl<__T0: Clone> Clone for FetchTransactionSnafu<__T0>"],["impl<__T0: Clone> Clone for QueryVidSnafu<__T0>"],["impl<__T0: Clone> Clone for ErrorSnafu<__T0>"],["impl<__T0: Clone, __T1: Clone> Clone for CustomSnafu<__T0, __T1>"],["impl<__T0: Clone, __T1: Clone> Clone for InvalidTransactionIndexSnafu<__T0, __T1>"],["impl<__T0: Clone, __T1: Clone> Clone for CustomSnafu<__T0, __T1>"],["impl<__T0: Clone, __T1: Clone> Clone for QueryWindowSnafu<__T0, __T1>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[32666]} \ No newline at end of file +//{"start":57,"fragment_lengths":[31911]} \ No newline at end of file diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index 06c908f77..b35f5eac5 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl From<(String, StatusCode)> for Error"],["impl From<(String, StatusCode)> for Error"],["impl From<(String, StatusCode)> for Error"],["impl From<(String, StatusCode)> for Error"],["impl From<Error> for Error"],["impl From<QueryError> for GetBlockDetailError"],["impl From<QueryError> for GetBlockSummariesError"],["impl From<QueryError> for GetExplorerSummaryError"],["impl From<QueryError> for GetSearchResultsError"],["impl From<QueryError> for GetTransactionDetailError"],["impl From<QueryError> for GetTransactionSummariesError"],["impl From<QueryError> for Error"],["impl From<QueryError> for Error"],["impl From<CurrencyCode> for u16"],["impl From<CurrencyCode> for String"],["impl From<Error> for Error"],["impl From<GetBlockDetailError> for GetExplorerSummaryError"],["impl From<GetBlockSummariesError> for GetExplorerSummaryError"],["impl From<GetTransactionSummariesError> for GetExplorerSummaryError"],["impl From<TimestampConversionError> for QueryError"],["impl From<TimestampConversionError> for GetTransactionDetailError"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<i128> for MonetaryValue"],["impl From<usize> for LeafRequest"],["impl From<LeafRequest> for usize"],["impl From<String> for Error"],["impl From<TryFromIntError> for TimestampConversionError"],["impl From<ComponentRange> for TimestampConversionError"],["impl From<Error> for QueryError"],["impl From<Error> for GetBlockDetailError"],["impl From<Error> for GetBlockSummariesError"],["impl From<Error> for GetExplorerSummaryError"],["impl From<Error> for GetSearchResultsError"],["impl From<Error> for GetTransactionDetailError"],["impl From<Error> for GetTransactionSummariesError"],["impl From<Error> for MetricsError"],["impl From<PgConnectOptions> for Config<Postgres>"],["impl From<RequestError> for Error"],["impl From<RequestError> for Error"],["impl From<RequestError> for Error"],["impl From<RequestError> for Error"],["impl<D> From<ApiState<D>> for Arc<D>"],["impl<D> From<Arc<D>> for ApiState<D>"],["impl<D> From<D> for ApiState<D>"],["impl<Types: NodeType> From<usize> for BlockId<Types>"],["impl<Types: NodeType> From<usize> for LeafId<Types>"],["impl<Types: NodeType> From<BlockQueryData<Types>> for BlockSummaryQueryData<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: NodeType> From<BlockQueryData<Types>> for PayloadQueryData<Types>"],["impl<Types: NodeType> From<BlockDetail<Types>> for BlockDetailResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: NodeType> From<ExplorerSummary<Types>> for ExplorerSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> From<SearchResult<Types>> for SearchResultResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> From<Vec<BlockSummary<Types>>> for BlockSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: NodeType> From<Vec<TransactionSummary<Types>>> for TransactionSummariesResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> From<Commitment<<Types as NodeType>::BlockHeader>> for BlockId<Types>"],["impl<Types: NodeType> From<Commitment<<Types as NodeType>::BlockHeader>> for WindowStart<Types>"],["impl<Types: NodeType> From<Commitment<Leaf<Types>>> for LeafId<Types>"]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl From<(String, StatusCode)> for Error"],["impl From<(String, StatusCode)> for Error"],["impl From<(String, StatusCode)> for Error"],["impl From<(String, StatusCode)> for Error"],["impl From<Error> for Error"],["impl From<QueryError> for GetBlockDetailError"],["impl From<QueryError> for GetBlockSummariesError"],["impl From<QueryError> for GetExplorerSummaryError"],["impl From<QueryError> for GetSearchResultsError"],["impl From<QueryError> for GetTransactionDetailError"],["impl From<QueryError> for GetTransactionSummariesError"],["impl From<QueryError> for Error"],["impl From<QueryError> for Error"],["impl From<CurrencyCode> for u16"],["impl From<CurrencyCode> for String"],["impl From<Error> for Error"],["impl From<GetBlockDetailError> for GetExplorerSummaryError"],["impl From<GetBlockSummariesError> for GetExplorerSummaryError"],["impl From<GetTransactionSummariesError> for GetExplorerSummaryError"],["impl From<TimestampConversionError> for QueryError"],["impl From<TimestampConversionError> for GetTransactionDetailError"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<i128> for MonetaryValue"],["impl From<usize> for LeafRequest"],["impl From<LeafRequest> for usize"],["impl From<String> for Error"],["impl From<TryFromIntError> for TimestampConversionError"],["impl From<ComponentRange> for TimestampConversionError"],["impl From<Error> for QueryError"],["impl From<Error> for GetBlockDetailError"],["impl From<Error> for GetBlockSummariesError"],["impl From<Error> for GetExplorerSummaryError"],["impl From<Error> for GetSearchResultsError"],["impl From<Error> for GetTransactionDetailError"],["impl From<Error> for GetTransactionSummariesError"],["impl From<Error> for MetricsError"],["impl From<PgConnectOptions> for Config"],["impl From<RequestError> for Error"],["impl From<RequestError> for Error"],["impl From<RequestError> for Error"],["impl From<RequestError> for Error"],["impl<D> From<ApiState<D>> for Arc<D>"],["impl<D> From<Arc<D>> for ApiState<D>"],["impl<D> From<D> for ApiState<D>"],["impl<Types: NodeType> From<usize> for BlockId<Types>"],["impl<Types: NodeType> From<usize> for LeafId<Types>"],["impl<Types: NodeType> From<BlockQueryData<Types>> for BlockSummaryQueryData<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: NodeType> From<BlockQueryData<Types>> for PayloadQueryData<Types>"],["impl<Types: NodeType> From<BlockDetail<Types>> for BlockDetailResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: NodeType> From<ExplorerSummary<Types>> for ExplorerSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> From<SearchResult<Types>> for SearchResultResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> From<Vec<BlockSummary<Types>>> for BlockSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: NodeType> From<Vec<TransactionSummary<Types>>> for TransactionSummariesResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> From<Commitment<<Types as NodeType>::BlockHeader>> for BlockId<Types>"],["impl<Types: NodeType> From<Commitment<<Types as NodeType>::BlockHeader>> for WindowStart<Types>"],["impl<Types: NodeType> From<Commitment<Leaf<Types>>> for LeafId<Types>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[29089]} \ No newline at end of file +//{"start":57,"fragment_lengths":[28897]} \ No newline at end of file diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js index b794ac651..d3b114ef3 100644 --- a/trait.impl/core/default/trait.Default.js +++ b/trait.impl/core/default/trait.Default.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl Default for Options"],["impl Default for NoStorage"],["impl Default for PrunerCfg"],["impl Default for Config<Postgres>"],["impl Default for Pruner"],["impl Default for Read"],["impl Default for Write"],["impl Default for MetricsDataSource"],["impl Default for NoFetching"],["impl Default for Options"],["impl Default for PrometheusMetrics"],["impl Default for Options"],["impl Default for Options"],["impl Default for Options"],["impl Default for MockNodeImpl"],["impl Default for MockTypes"],["impl<'q> Default for QueryBuilder<'q>"],["impl<T> Default for TimeWindowQueryData<T>"],["impl<T, C> Default for Fetcher<T, C>"],["impl<Types> Default for AnyProvider<Types>
where\n Types: NodeType,
"],["impl<Types: NodeType> Default for GetTransactionSummariesRequest<Types>"]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl Default for Options"],["impl Default for NoStorage"],["impl Default for PrunerCfg"],["impl Default for Config"],["impl Default for Pruner"],["impl Default for Read"],["impl Default for Write"],["impl Default for MetricsDataSource"],["impl Default for NoFetching"],["impl Default for Options"],["impl Default for PrometheusMetrics"],["impl Default for Options"],["impl Default for Options"],["impl Default for Options"],["impl Default for MockNodeImpl"],["impl Default for MockTypes"],["impl<'q> Default for QueryBuilder<'q>"],["impl<T> Default for TimeWindowQueryData<T>"],["impl<T, C> Default for Fetcher<T, C>"],["impl<Types> Default for AnyProvider<Types>
where\n Types: NodeType,
"],["impl<Types: NodeType> Default for GetTransactionSummariesRequest<Types>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[7350]} \ No newline at end of file +//{"start":57,"fragment_lengths":[7158]} \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js index 6fda66509..063a57e77 100644 --- a/trait.impl/core/fmt/trait.Debug.js +++ b/trait.impl/core/fmt/trait.Debug.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl Debug for Error"],["impl Debug for DataSource"],["impl Debug for Error"],["impl Debug for QueryError"],["impl Debug for CurrencyCode"],["impl Debug for Error"],["impl Debug for GetBlockDetailError"],["impl Debug for GetBlockSummariesError"],["impl Debug for GetExplorerSummaryError"],["impl Debug for GetSearchResultsError"],["impl Debug for GetTransactionDetailError"],["impl Debug for GetTransactionSummariesError"],["impl Debug for TimestampConversionError"],["impl Debug for TransactionSummaryFilter"],["impl Debug for Error"],["impl Debug for MetricsError"],["impl Debug for Error"],["impl Debug for Error"],["impl Debug for RequestSnafu"],["impl Debug for NoStorage"],["impl Debug for PrunerCfg"],["impl Debug for Pruner"],["impl Debug for Read"],["impl Debug for SqlStorage"],["impl Debug for Write"],["impl Debug for TmpDb"],["impl Debug for MetricsDataSource"],["impl Debug for CurrencyMismatchError"],["impl Debug for ExplorerHistograms"],["impl Debug for FeeAttribution"],["impl Debug for GenesisOverview"],["impl Debug for InvalidCurrencyCodeError"],["impl Debug for MonetaryValue"],["impl Debug for Timestamp"],["impl Debug for NoFetching"],["impl Debug for LeafRequest"],["impl Debug for PayloadRequest"],["impl Debug for VidCommonRequest"],["impl Debug for Counter"],["impl Debug for CounterFamily"],["impl Debug for Gauge"],["impl Debug for GaugeFamily"],["impl Debug for Histogram"],["impl Debug for HistogramFamily"],["impl Debug for PrometheusMetrics"],["impl Debug for TextFamily"],["impl Debug for QuerySnafu"],["impl Debug for RequestSnafu"],["impl Debug for SyncStatus"],["impl Debug for MissingSnafu"],["impl Debug for NotFoundSnafu"],["impl Debug for BackgroundTask"],["impl Debug for MockNodeImpl"],["impl Debug for MockTypes"],["impl Debug for MockVersions"],["impl<'a, Types, T: Debug> Debug for Transaction<'a, Types, T>
where\n Types: NodeType + Debug,
"],["impl<'q> Debug for QueryBuilder<'q>"],["impl<D: Debug> Debug for ApiState<D>"],["impl<D: Debug, U: Debug> Debug for ExtensibleDataSource<D, U>"],["impl<DB> Debug for Config<DB>
where\n DB: Database + Debug,\n DB::Connection: Debug,
"],["impl<Mode: Debug> Debug for Transaction<Mode>"],["impl<P> Debug for TestProvider<P>
where\n P: Debug,
"],["impl<T, C> Debug for Fetcher<T, C>"],["impl<T: Debug + Revert> Debug for Transaction<T>"],["impl<T: Debug> Debug for TimeWindowQueryData<T>"],["impl<T: Send + 'static> Debug for Task<T>"],["impl<Types> Debug for FileSystemStorageInner<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n HashMap<LeafHash<Types>, u64>: Debug,\n HashMap<BlockHash<Types>, u64>: Debug,\n HashMap<TransactionHash<Types>, u64>: Debug,\n LedgerLog<LeafQueryData<Types>>: Debug,\n LedgerLog<BlockQueryData<Types>>: Debug,\n LedgerLog<(VidCommonQueryData<Types>, Option<VidShare>)>: Debug,
"],["impl<Types> Debug for AnyProvider<Types>
where\n Types: NodeType,
"],["impl<Types, S, P> Debug for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: Debug,\n P: Debug,
"],["impl<Types, S, P> Debug for Pruner<Types, S, P>
where\n Types: NodeType,\n S: Debug,\n P: Debug,
"],["impl<Types: Debug + NodeType> Debug for BlockIdentifier<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionIdentifier<Types>"],["impl<Types: Debug + NodeType> Debug for BlockQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for BlockSummaryQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for InconsistentLeafError<Types>"],["impl<Types: Debug + NodeType> Debug for LeafQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for PayloadQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionQueryData<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: Debug + NodeType> Debug for TransactionSummaryQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for VidCommonQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for FileSystemStorage<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockDetail<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockDetailResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockRange<Types>"],["impl<Types: Debug + NodeType> Debug for BlockSummary<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for ExplorerSummary<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for ExplorerSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for GetBlockSummariesRequest<Types>"],["impl<Types: Debug + NodeType> Debug for GetTransactionSummariesRequest<Types>"],["impl<Types: Debug + NodeType> Debug for SearchResult<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for SearchResultResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for TransactionDetail<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionDetailResponse<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionRange<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionSummariesResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for TransactionSummary<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> Debug for BlockId<Types>"],["impl<Types: NodeType> Debug for LeafId<Types>"],["impl<Types: NodeType> Debug for WindowStart<Types>"],["impl<Types: NodeType, T: MerklizedState<Types, ARITY>, const ARITY: usize> Debug for Snapshot<Types, T, ARITY>"],["impl<Ver: Debug + StaticVersionType> Debug for QueryServiceProvider<Ver>"],["impl<__T0: Debug> Debug for FetchBlockSnafu<__T0>"],["impl<__T0: Debug> Debug for FetchLeafSnafu<__T0>"],["impl<__T0: Debug> Debug for FetchTransactionSnafu<__T0>"],["impl<__T0: Debug> Debug for QueryVidSnafu<__T0>"],["impl<__T0: Debug> Debug for ErrorSnafu<__T0>"],["impl<__T0: Debug, __T1: Debug> Debug for CustomSnafu<__T0, __T1>"],["impl<__T0: Debug, __T1: Debug> Debug for InvalidTransactionIndexSnafu<__T0, __T1>"],["impl<__T0: Debug, __T1: Debug> Debug for CustomSnafu<__T0, __T1>"],["impl<__T0: Debug, __T1: Debug> Debug for QueryWindowSnafu<__T0, __T1>"]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl Debug for Error"],["impl Debug for DataSource"],["impl Debug for Error"],["impl Debug for QueryError"],["impl Debug for CurrencyCode"],["impl Debug for Error"],["impl Debug for GetBlockDetailError"],["impl Debug for GetBlockSummariesError"],["impl Debug for GetExplorerSummaryError"],["impl Debug for GetSearchResultsError"],["impl Debug for GetTransactionDetailError"],["impl Debug for GetTransactionSummariesError"],["impl Debug for TimestampConversionError"],["impl Debug for TransactionSummaryFilter"],["impl Debug for Error"],["impl Debug for MetricsError"],["impl Debug for Error"],["impl Debug for Error"],["impl Debug for RequestSnafu"],["impl Debug for NoStorage"],["impl Debug for PrunerCfg"],["impl Debug for Config"],["impl Debug for Pruner"],["impl Debug for Read"],["impl Debug for SqlStorage"],["impl Debug for Write"],["impl Debug for TmpDb"],["impl Debug for MetricsDataSource"],["impl Debug for CurrencyMismatchError"],["impl Debug for ExplorerHistograms"],["impl Debug for FeeAttribution"],["impl Debug for GenesisOverview"],["impl Debug for InvalidCurrencyCodeError"],["impl Debug for MonetaryValue"],["impl Debug for Timestamp"],["impl Debug for NoFetching"],["impl Debug for LeafRequest"],["impl Debug for PayloadRequest"],["impl Debug for VidCommonRequest"],["impl Debug for Counter"],["impl Debug for CounterFamily"],["impl Debug for Gauge"],["impl Debug for GaugeFamily"],["impl Debug for Histogram"],["impl Debug for HistogramFamily"],["impl Debug for PrometheusMetrics"],["impl Debug for TextFamily"],["impl Debug for QuerySnafu"],["impl Debug for RequestSnafu"],["impl Debug for SyncStatus"],["impl Debug for MissingSnafu"],["impl Debug for NotFoundSnafu"],["impl Debug for BackgroundTask"],["impl Debug for MockNodeImpl"],["impl Debug for MockTypes"],["impl Debug for MockVersions"],["impl<'a, Types, T: Debug> Debug for Transaction<'a, Types, T>
where\n Types: NodeType + Debug,
"],["impl<'q> Debug for QueryBuilder<'q>"],["impl<D: Debug> Debug for ApiState<D>"],["impl<D: Debug, U: Debug> Debug for ExtensibleDataSource<D, U>"],["impl<Mode: Debug> Debug for Transaction<Mode>"],["impl<P> Debug for TestProvider<P>
where\n P: Debug,
"],["impl<T, C> Debug for Fetcher<T, C>"],["impl<T: Debug + Revert> Debug for Transaction<T>"],["impl<T: Debug> Debug for TimeWindowQueryData<T>"],["impl<T: Send + 'static> Debug for Task<T>"],["impl<Types> Debug for FileSystemStorageInner<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n HashMap<LeafHash<Types>, u64>: Debug,\n HashMap<BlockHash<Types>, u64>: Debug,\n HashMap<TransactionHash<Types>, u64>: Debug,\n LedgerLog<LeafQueryData<Types>>: Debug,\n LedgerLog<BlockQueryData<Types>>: Debug,\n LedgerLog<(VidCommonQueryData<Types>, Option<VidShare>)>: Debug,
"],["impl<Types> Debug for AnyProvider<Types>
where\n Types: NodeType,
"],["impl<Types, S, P> Debug for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: Debug,\n P: Debug,
"],["impl<Types, S, P> Debug for Pruner<Types, S, P>
where\n Types: NodeType,\n S: Debug,\n P: Debug,
"],["impl<Types: Debug + NodeType> Debug for BlockIdentifier<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionIdentifier<Types>"],["impl<Types: Debug + NodeType> Debug for BlockQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for BlockSummaryQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for InconsistentLeafError<Types>"],["impl<Types: Debug + NodeType> Debug for LeafQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for PayloadQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionQueryData<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: Debug + NodeType> Debug for TransactionSummaryQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for VidCommonQueryData<Types>"],["impl<Types: Debug + NodeType> Debug for FileSystemStorage<Types>
where\n Payload<Types>: QueryablePayload<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockDetail<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockDetailResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockRange<Types>"],["impl<Types: Debug + NodeType> Debug for BlockSummary<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for BlockSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,
"],["impl<Types: Debug + NodeType> Debug for ExplorerSummary<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for ExplorerSummaryResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for GetBlockSummariesRequest<Types>"],["impl<Types: Debug + NodeType> Debug for GetTransactionSummariesRequest<Types>"],["impl<Types: Debug + NodeType> Debug for SearchResult<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for SearchResultResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for TransactionDetail<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionDetailResponse<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionRange<Types>"],["impl<Types: Debug + NodeType> Debug for TransactionSummariesResponse<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: Debug + NodeType> Debug for TransactionSummary<Types>
where\n Header<Types>: ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,
"],["impl<Types: NodeType> Debug for BlockId<Types>"],["impl<Types: NodeType> Debug for LeafId<Types>"],["impl<Types: NodeType> Debug for WindowStart<Types>"],["impl<Types: NodeType, T: MerklizedState<Types, ARITY>, const ARITY: usize> Debug for Snapshot<Types, T, ARITY>"],["impl<Ver: Debug + StaticVersionType> Debug for QueryServiceProvider<Ver>"],["impl<__T0: Debug> Debug for FetchBlockSnafu<__T0>"],["impl<__T0: Debug> Debug for FetchLeafSnafu<__T0>"],["impl<__T0: Debug> Debug for FetchTransactionSnafu<__T0>"],["impl<__T0: Debug> Debug for QueryVidSnafu<__T0>"],["impl<__T0: Debug> Debug for ErrorSnafu<__T0>"],["impl<__T0: Debug, __T1: Debug> Debug for CustomSnafu<__T0, __T1>"],["impl<__T0: Debug, __T1: Debug> Debug for InvalidTransactionIndexSnafu<__T0, __T1>"],["impl<__T0: Debug, __T1: Debug> Debug for CustomSnafu<__T0, __T1>"],["impl<__T0: Debug, __T1: Debug> Debug for QueryWindowSnafu<__T0, __T1>"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[55847]} \ No newline at end of file +//{"start":57,"fragment_lengths":[55100]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index 3ee8a324e..0bc6a895f 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl Freeze for Error",1,["hotshot_query_service::availability::Error"]],["impl Freeze for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Freeze for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Freeze for Error",1,["hotshot_query_service::error::Error"]],["impl Freeze for QueryError",1,["hotshot_query_service::QueryError"]],["impl Freeze for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Freeze for Error",1,["hotshot_query_service::explorer::Error"]],["impl Freeze for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Freeze for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Freeze for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Freeze for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Freeze for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Freeze for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Freeze for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Freeze for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Freeze for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Freeze for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Freeze for Error",1,["hotshot_query_service::node::Error"]],["impl Freeze for Error",1,["hotshot_query_service::status::Error"]],["impl Freeze for Options",1,["hotshot_query_service::availability::Options"]],["impl Freeze for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Freeze for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Freeze for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Freeze for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Freeze for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Freeze for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Freeze for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Freeze for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Freeze for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Freeze for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Freeze for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Freeze for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Freeze for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Freeze for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Freeze for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Freeze for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Freeze for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Freeze for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Freeze for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Freeze for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Freeze for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Freeze for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Freeze for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Freeze for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Freeze for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Freeze for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Freeze for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Freeze for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Freeze for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Freeze for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Freeze for Options",1,["hotshot_query_service::node::Options"]],["impl Freeze for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Freeze for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Freeze for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Freeze for Options",1,["hotshot_query_service::status::Options"]],["impl Freeze for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Freeze for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Freeze for Options",1,["hotshot_query_service::Options"]],["impl Freeze for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Freeze for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Freeze for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Freeze for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Freeze for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Freeze for Transaction<'a, T>
where\n T: Freeze,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Freeze for Transaction<'a, Types, T>
where\n T: Freeze,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Freeze for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Freeze for ApiState<D>",1,["hotshot_query_service::ApiState"]],["impl<D> Freeze for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Freeze for ExtensibleDataSource<D, U>
where\n D: Freeze,\n U: Freeze,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<DB> Freeze for Config<DB>
where\n <<DB as Database>::Connection as Connection>::Options: Freeze,
",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl<Mode> Freeze for Transaction<Mode>",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Freeze for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> Freeze for Fetch<T>
where\n T: Freeze,
",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Freeze for Transaction<T>
where\n T: Freeze,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Freeze for TimeWindowQueryData<T>
where\n T: Freeze,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Freeze for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Freeze for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> !Freeze for FileSystemStorage<Types>",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Freeze for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Freeze for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Freeze for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Freeze for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Freeze for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Freeze for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Freeze,\n <Types as NodeType>::BlockPayload: Freeze,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Freeze for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Freeze,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Freeze for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Freeze for LeafQueryData<Types>
where\n <Types as NodeType>::View: Freeze,\n <Types as NodeType>::BlockHeader: Freeze,\n <Types as NodeType>::BlockPayload: Freeze,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Freeze,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Freeze for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: Freeze,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Freeze for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: Freeze,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: Freeze,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Freeze for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Freeze,\n <Types as NodeType>::Transaction: Freeze,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Freeze for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Freeze for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Freeze for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Freeze for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Freeze for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Freeze for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Freeze for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Freeze for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Freeze for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Freeze for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Freeze for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Freeze for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Freeze for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Freeze for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Freeze for TransactionDetailResponse<Types>",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Freeze for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Freeze for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Freeze for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Freeze for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Freeze for Builder<Types, S, P>
where\n S: Freeze,\n P: Freeze,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Freeze for FetchingDataSource<Types, S, P>",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Freeze for Pruner<Types, S, P>",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Freeze for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: Freeze,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Freeze for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Freeze for FetchBlockSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Freeze for FetchLeafSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Freeze for FetchTransactionSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Freeze for QueryVidSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Freeze for ErrorSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Freeze for CustomSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Freeze for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Freeze for CustomSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Freeze for QueryWindowSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl Freeze for Error",1,["hotshot_query_service::availability::Error"]],["impl Freeze for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Freeze for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Freeze for Error",1,["hotshot_query_service::error::Error"]],["impl Freeze for QueryError",1,["hotshot_query_service::QueryError"]],["impl Freeze for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Freeze for Error",1,["hotshot_query_service::explorer::Error"]],["impl Freeze for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Freeze for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Freeze for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Freeze for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Freeze for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Freeze for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Freeze for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Freeze for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Freeze for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Freeze for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Freeze for Error",1,["hotshot_query_service::node::Error"]],["impl Freeze for Error",1,["hotshot_query_service::status::Error"]],["impl Freeze for Options",1,["hotshot_query_service::availability::Options"]],["impl Freeze for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Freeze for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Freeze for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Freeze for Config",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl Freeze for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Freeze for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Freeze for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Freeze for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Freeze for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Freeze for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Freeze for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Freeze for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Freeze for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Freeze for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Freeze for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Freeze for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Freeze for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Freeze for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Freeze for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Freeze for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Freeze for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Freeze for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Freeze for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Freeze for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Freeze for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Freeze for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Freeze for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Freeze for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Freeze for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Freeze for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Freeze for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Freeze for Options",1,["hotshot_query_service::node::Options"]],["impl Freeze for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Freeze for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Freeze for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Freeze for Options",1,["hotshot_query_service::status::Options"]],["impl Freeze for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Freeze for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Freeze for Options",1,["hotshot_query_service::Options"]],["impl Freeze for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Freeze for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Freeze for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Freeze for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Freeze for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Freeze for Transaction<'a, T>
where\n T: Freeze,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Freeze for Transaction<'a, Types, T>
where\n T: Freeze,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Freeze for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Freeze for ApiState<D>",1,["hotshot_query_service::ApiState"]],["impl<D> Freeze for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Freeze for ExtensibleDataSource<D, U>
where\n D: Freeze,\n U: Freeze,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<Mode> Freeze for Transaction<Mode>",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Freeze for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> Freeze for Fetch<T>
where\n T: Freeze,
",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Freeze for Transaction<T>
where\n T: Freeze,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Freeze for TimeWindowQueryData<T>
where\n T: Freeze,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Freeze for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Freeze for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> !Freeze for FileSystemStorage<Types>",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Freeze for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Freeze for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Freeze for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Freeze for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Freeze for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Freeze for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Freeze,\n <Types as NodeType>::BlockPayload: Freeze,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Freeze for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Freeze,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Freeze for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Freeze for LeafQueryData<Types>
where\n <Types as NodeType>::View: Freeze,\n <Types as NodeType>::BlockHeader: Freeze,\n <Types as NodeType>::BlockPayload: Freeze,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Freeze,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Freeze for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: Freeze,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Freeze for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: Freeze,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: Freeze,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Freeze for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Freeze,\n <Types as NodeType>::Transaction: Freeze,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Freeze for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Freeze for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Freeze for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Freeze for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Freeze for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Freeze for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Freeze for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Freeze for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Freeze for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Freeze,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Freeze for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Freeze for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Freeze for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Freeze for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Freeze for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Freeze for TransactionDetailResponse<Types>",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Freeze for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Freeze for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Freeze for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Freeze for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Freeze for Builder<Types, S, P>
where\n S: Freeze,\n P: Freeze,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Freeze for FetchingDataSource<Types, S, P>",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Freeze for Pruner<Types, S, P>",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Freeze for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: Freeze,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Freeze for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Freeze for FetchBlockSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Freeze for FetchLeafSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Freeze for FetchTransactionSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Freeze for QueryVidSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Freeze for ErrorSnafu<__T0>
where\n __T0: Freeze,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Freeze for CustomSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Freeze for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Freeze for CustomSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Freeze for QueryWindowSnafu<__T0, __T1>
where\n __T0: Freeze,\n __T1: Freeze,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[65838]} \ No newline at end of file +//{"start":57,"fragment_lengths":[65182]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index e0252f1f2..ba5a6a83e 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl Send for Error",1,["hotshot_query_service::availability::Error"]],["impl Send for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Send for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Send for Error",1,["hotshot_query_service::error::Error"]],["impl Send for QueryError",1,["hotshot_query_service::QueryError"]],["impl Send for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Send for Error",1,["hotshot_query_service::explorer::Error"]],["impl Send for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Send for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Send for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Send for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Send for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Send for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Send for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Send for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Send for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Send for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Send for Error",1,["hotshot_query_service::node::Error"]],["impl Send for Error",1,["hotshot_query_service::status::Error"]],["impl Send for Options",1,["hotshot_query_service::availability::Options"]],["impl Send for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Send for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Send for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Send for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Send for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Send for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Send for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Send for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Send for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Send for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Send for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Send for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Send for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Send for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Send for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Send for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Send for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Send for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Send for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Send for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Send for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Send for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Send for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Send for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Send for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Send for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Send for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Send for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Send for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Send for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Send for Options",1,["hotshot_query_service::node::Options"]],["impl Send for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Send for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Send for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Send for Options",1,["hotshot_query_service::status::Options"]],["impl Send for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Send for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Send for Options",1,["hotshot_query_service::Options"]],["impl Send for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Send for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Send for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Send for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Send for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Send for Transaction<'a, T>
where\n T: Send,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Send for Transaction<'a, Types, T>
where\n T: Send,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Send for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Send for ApiState<D>
where\n D: Sync + Send,
",1,["hotshot_query_service::ApiState"]],["impl<D> Send for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Send for ExtensibleDataSource<D, U>
where\n D: Send,\n U: Send,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<DB> Send for Config<DB>",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl<Mode> Send for Transaction<Mode>
where\n Mode: Send,
",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Send for TestProvider<P>
where\n P: Sync + Send,
",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> Send for Fetch<T>
where\n T: Send,
",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Send for Transaction<T>
where\n T: Send,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Send for TimeWindowQueryData<T>
where\n T: Send,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Send for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Send for Fetcher<T, C>
where\n T: Send,\n C: Send,
",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> Send for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Send for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Send for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Send for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Send for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Send for BlockQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Send for BlockSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Send for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Send for LeafQueryData<Types>",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Send for PayloadQueryData<Types>",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Send for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Send for TransactionSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Send for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Send for FileSystemStorage<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Send for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Send for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Send for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Send for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Send for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Send for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Send for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Send for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Send for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Send for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Send for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Send for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Send for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Send for TransactionDetailResponse<Types>",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Send for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Send for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Send for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Send for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Send for Builder<Types, S, P>
where\n S: Send,\n P: Send,\n Types: Send,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Send for FetchingDataSource<Types, S, P>
where\n S: Sync + Send,\n P: Sync + Send,
",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Send for Pruner<Types, S, P>
where\n S: Send,\n P: Send,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Send for Snapshot<Types, T, ARITY>",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Send for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Send for FetchBlockSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Send for FetchLeafSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Send for FetchTransactionSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Send for QueryVidSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Send for ErrorSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Send for CustomSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Send for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Send for CustomSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Send for QueryWindowSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl Send for Error",1,["hotshot_query_service::availability::Error"]],["impl Send for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Send for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Send for Error",1,["hotshot_query_service::error::Error"]],["impl Send for QueryError",1,["hotshot_query_service::QueryError"]],["impl Send for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Send for Error",1,["hotshot_query_service::explorer::Error"]],["impl Send for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Send for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Send for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Send for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Send for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Send for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Send for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Send for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Send for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Send for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Send for Error",1,["hotshot_query_service::node::Error"]],["impl Send for Error",1,["hotshot_query_service::status::Error"]],["impl Send for Options",1,["hotshot_query_service::availability::Options"]],["impl Send for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Send for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Send for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Send for Config",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl Send for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Send for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Send for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Send for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Send for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Send for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Send for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Send for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Send for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Send for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Send for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Send for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Send for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Send for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Send for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Send for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Send for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Send for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Send for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Send for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Send for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Send for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Send for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Send for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Send for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Send for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Send for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Send for Options",1,["hotshot_query_service::node::Options"]],["impl Send for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Send for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Send for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Send for Options",1,["hotshot_query_service::status::Options"]],["impl Send for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Send for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Send for Options",1,["hotshot_query_service::Options"]],["impl Send for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Send for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Send for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Send for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Send for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Send for Transaction<'a, T>
where\n T: Send,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Send for Transaction<'a, Types, T>
where\n T: Send,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Send for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Send for ApiState<D>
where\n D: Sync + Send,
",1,["hotshot_query_service::ApiState"]],["impl<D> Send for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Send for ExtensibleDataSource<D, U>
where\n D: Send,\n U: Send,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<Mode> Send for Transaction<Mode>
where\n Mode: Send,
",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Send for TestProvider<P>
where\n P: Sync + Send,
",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> Send for Fetch<T>
where\n T: Send,
",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Send for Transaction<T>
where\n T: Send,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Send for TimeWindowQueryData<T>
where\n T: Send,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Send for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Send for Fetcher<T, C>
where\n T: Send,\n C: Send,
",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> Send for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Send for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Send for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Send for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Send for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Send for BlockQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Send for BlockSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Send for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Send for LeafQueryData<Types>",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Send for PayloadQueryData<Types>",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Send for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Send for TransactionSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Send for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Send for FileSystemStorage<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Send for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Send for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Send for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Send for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Send for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Send for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Send for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Send for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Send for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Send for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Send for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Send for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Send for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Send for TransactionDetailResponse<Types>",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Send for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Send for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Send for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Send for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Send for Builder<Types, S, P>
where\n S: Send,\n P: Send,\n Types: Send,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Send for FetchingDataSource<Types, S, P>
where\n S: Sync + Send,\n P: Sync + Send,
",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Send for Pruner<Types, S, P>
where\n S: Send,\n P: Send,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Send for Snapshot<Types, T, ARITY>",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Send for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Send for FetchBlockSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Send for FetchLeafSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Send for FetchTransactionSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Send for QueryVidSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Send for ErrorSnafu<__T0>
where\n __T0: Send,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Send for CustomSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Send for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Send for CustomSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Send for QueryWindowSnafu<__T0, __T1>
where\n __T0: Send,\n __T1: Send,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[57935]} \ No newline at end of file +//{"start":57,"fragment_lengths":[57915]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index a221447a5..2cd15e6da 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl Sync for Error",1,["hotshot_query_service::availability::Error"]],["impl Sync for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Sync for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Sync for Error",1,["hotshot_query_service::error::Error"]],["impl Sync for QueryError",1,["hotshot_query_service::QueryError"]],["impl Sync for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Sync for Error",1,["hotshot_query_service::explorer::Error"]],["impl Sync for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Sync for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Sync for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Sync for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Sync for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Sync for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Sync for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Sync for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Sync for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Sync for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Sync for Error",1,["hotshot_query_service::node::Error"]],["impl Sync for Error",1,["hotshot_query_service::status::Error"]],["impl Sync for Options",1,["hotshot_query_service::availability::Options"]],["impl Sync for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Sync for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Sync for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Sync for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Sync for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Sync for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Sync for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Sync for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Sync for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Sync for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Sync for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Sync for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Sync for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Sync for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Sync for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Sync for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Sync for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Sync for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Sync for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Sync for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Sync for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Sync for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Sync for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Sync for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Sync for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Sync for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Sync for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Sync for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Sync for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Sync for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Sync for Options",1,["hotshot_query_service::node::Options"]],["impl Sync for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Sync for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Sync for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Sync for Options",1,["hotshot_query_service::status::Options"]],["impl Sync for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Sync for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Sync for Options",1,["hotshot_query_service::Options"]],["impl Sync for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Sync for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Sync for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Sync for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Sync for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Sync for Transaction<'a, T>
where\n T: Sync,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Sync for Transaction<'a, Types, T>
where\n T: Sync,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Sync for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Sync for ApiState<D>
where\n D: Sync + Send,
",1,["hotshot_query_service::ApiState"]],["impl<D> Sync for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Sync for ExtensibleDataSource<D, U>
where\n D: Sync,\n U: Sync,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<DB> Sync for Config<DB>",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl<Mode> Sync for Transaction<Mode>
where\n Mode: Sync,
",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Sync for TestProvider<P>
where\n P: Sync + Send,
",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> !Sync for Fetch<T>",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Sync for Transaction<T>
where\n T: Sync,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Sync for TimeWindowQueryData<T>
where\n T: Sync,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Sync for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Sync for Fetcher<T, C>
where\n T: Send,\n C: Send,
",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> Sync for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Sync for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Sync for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Sync for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Sync for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Sync for BlockQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Sync for BlockSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Sync for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Sync for LeafQueryData<Types>",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Sync for PayloadQueryData<Types>",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Sync for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Sync for TransactionSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Sync for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Sync for FileSystemStorage<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Sync for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Sync for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Sync for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Sync for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Sync for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Sync for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Sync for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Sync for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Sync for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Sync for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Sync for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Sync for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Sync for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Sync for TransactionDetailResponse<Types>",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Sync for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Sync for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Sync for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Sync for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Sync for Builder<Types, S, P>
where\n S: Sync,\n P: Sync,\n Types: Sync,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Sync for FetchingDataSource<Types, S, P>
where\n S: Sync + Send,\n P: Sync + Send,
",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Sync for Pruner<Types, S, P>
where\n S: Sync,\n P: Sync,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Sync for Snapshot<Types, T, ARITY>",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Sync for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Sync for FetchBlockSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Sync for FetchLeafSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Sync for FetchTransactionSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Sync for QueryVidSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Sync for ErrorSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Sync for CustomSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Sync for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Sync for CustomSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Sync for QueryWindowSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl Sync for Error",1,["hotshot_query_service::availability::Error"]],["impl Sync for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Sync for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Sync for Error",1,["hotshot_query_service::error::Error"]],["impl Sync for QueryError",1,["hotshot_query_service::QueryError"]],["impl Sync for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Sync for Error",1,["hotshot_query_service::explorer::Error"]],["impl Sync for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Sync for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Sync for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Sync for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Sync for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Sync for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Sync for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Sync for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Sync for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Sync for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Sync for Error",1,["hotshot_query_service::node::Error"]],["impl Sync for Error",1,["hotshot_query_service::status::Error"]],["impl Sync for Options",1,["hotshot_query_service::availability::Options"]],["impl Sync for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Sync for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Sync for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Sync for Config",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl Sync for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Sync for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Sync for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Sync for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Sync for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Sync for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Sync for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Sync for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Sync for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Sync for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Sync for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Sync for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Sync for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Sync for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Sync for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Sync for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Sync for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Sync for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Sync for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Sync for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Sync for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Sync for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Sync for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Sync for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Sync for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Sync for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Sync for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Sync for Options",1,["hotshot_query_service::node::Options"]],["impl Sync for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Sync for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Sync for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Sync for Options",1,["hotshot_query_service::status::Options"]],["impl Sync for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Sync for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Sync for Options",1,["hotshot_query_service::Options"]],["impl Sync for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Sync for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Sync for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Sync for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Sync for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Sync for Transaction<'a, T>
where\n T: Sync,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Sync for Transaction<'a, Types, T>
where\n T: Sync,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Sync for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Sync for ApiState<D>
where\n D: Sync + Send,
",1,["hotshot_query_service::ApiState"]],["impl<D> Sync for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Sync for ExtensibleDataSource<D, U>
where\n D: Sync,\n U: Sync,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<Mode> Sync for Transaction<Mode>
where\n Mode: Sync,
",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Sync for TestProvider<P>
where\n P: Sync + Send,
",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> !Sync for Fetch<T>",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Sync for Transaction<T>
where\n T: Sync,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Sync for TimeWindowQueryData<T>
where\n T: Sync,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Sync for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Sync for Fetcher<T, C>
where\n T: Send,\n C: Send,
",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> Sync for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Sync for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Sync for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Sync for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Sync for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Sync for BlockQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Sync for BlockSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Sync for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Sync for LeafQueryData<Types>",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Sync for PayloadQueryData<Types>",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Sync for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Sync for TransactionSummaryQueryData<Types>",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Sync for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Sync for FileSystemStorage<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Sync for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Sync for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Sync for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Sync for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Sync for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Sync for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Sync for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Sync for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Sync for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Sync for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Sync for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Sync for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Sync for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Sync for TransactionDetailResponse<Types>",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Sync for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Sync for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Sync for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Sync for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Sync for Builder<Types, S, P>
where\n S: Sync,\n P: Sync,\n Types: Sync,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Sync for FetchingDataSource<Types, S, P>
where\n S: Sync + Send,\n P: Sync + Send,
",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Sync for Pruner<Types, S, P>
where\n S: Sync,\n P: Sync,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Sync for Snapshot<Types, T, ARITY>",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Sync for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Sync for FetchBlockSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Sync for FetchLeafSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Sync for FetchTransactionSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Sync for QueryVidSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Sync for ErrorSnafu<__T0>
where\n __T0: Sync,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Sync for CustomSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Sync for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Sync for CustomSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Sync for QueryWindowSnafu<__T0, __T1>
where\n __T0: Sync,\n __T1: Sync,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[57762]} \ No newline at end of file +//{"start":57,"fragment_lengths":[57742]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index addb78ea5..e363d1d5d 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl Unpin for Error",1,["hotshot_query_service::availability::Error"]],["impl Unpin for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Unpin for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Unpin for Error",1,["hotshot_query_service::error::Error"]],["impl Unpin for QueryError",1,["hotshot_query_service::QueryError"]],["impl Unpin for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Unpin for Error",1,["hotshot_query_service::explorer::Error"]],["impl Unpin for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Unpin for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Unpin for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Unpin for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Unpin for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Unpin for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Unpin for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Unpin for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Unpin for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Unpin for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Unpin for Error",1,["hotshot_query_service::node::Error"]],["impl Unpin for Error",1,["hotshot_query_service::status::Error"]],["impl Unpin for Options",1,["hotshot_query_service::availability::Options"]],["impl Unpin for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Unpin for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Unpin for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Unpin for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Unpin for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Unpin for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Unpin for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Unpin for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Unpin for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Unpin for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Unpin for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Unpin for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Unpin for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Unpin for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Unpin for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Unpin for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Unpin for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Unpin for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Unpin for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Unpin for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Unpin for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Unpin for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Unpin for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Unpin for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Unpin for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Unpin for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Unpin for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Unpin for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Unpin for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Unpin for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Unpin for Options",1,["hotshot_query_service::node::Options"]],["impl Unpin for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Unpin for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Unpin for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Unpin for Options",1,["hotshot_query_service::status::Options"]],["impl Unpin for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Unpin for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Unpin for Options",1,["hotshot_query_service::Options"]],["impl Unpin for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Unpin for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Unpin for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Unpin for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Unpin for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Unpin for Transaction<'a, T>
where\n T: Unpin,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Unpin for Transaction<'a, Types, T>
where\n T: Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::BlockPayload: Unpin,\n <Types as NodeType>::View: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Unpin for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Unpin for ApiState<D>",1,["hotshot_query_service::ApiState"]],["impl<D> Unpin for MockNetwork<D>
where\n D: Unpin,\n <D as DataSourceLifeCycle>::Storage: Unpin,
",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Unpin for ExtensibleDataSource<D, U>
where\n D: Unpin,\n U: Unpin,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<DB> Unpin for Config<DB>
where\n <<DB as Database>::Connection as Connection>::Options: Unpin,
",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl<Mode> Unpin for Transaction<Mode>
where\n Mode: Unpin,
",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Unpin for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> Unpin for Fetch<T>
where\n T: Unpin,
",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Unpin for Transaction<T>
where\n T: Unpin,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Unpin for TimeWindowQueryData<T>
where\n T: Unpin,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Unpin for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Unpin for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> Unpin for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Unpin for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Unpin for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Unpin for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Unpin for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Unpin for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::BlockPayload: Unpin,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Unpin for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Unpin,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Unpin for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Unpin for LeafQueryData<Types>
where\n <Types as NodeType>::View: Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::BlockPayload: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Unpin for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: Unpin,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Unpin for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: Unpin,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: Unpin,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Unpin for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::Transaction: Unpin,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Unpin for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Unpin for FileSystemStorage<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::View: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Unpin for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::View: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Unpin for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Unpin for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Unpin for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Unpin for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Unpin for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Unpin for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Unpin for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Unpin for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Unpin for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Unpin for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Unpin for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Unpin for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Unpin for TransactionDetailResponse<Types>
where\n <Types as NodeType>::Transaction: Unpin,
",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Unpin for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Unpin for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Unpin for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Unpin for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Unpin for Builder<Types, S, P>
where\n S: Unpin,\n P: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Unpin for FetchingDataSource<Types, S, P>
where\n Types: Unpin,\n S: Unpin,\n P: Unpin,
",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Unpin for Pruner<Types, S, P>
where\n Types: Unpin,\n S: Unpin,\n P: Unpin,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Unpin for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: Unpin,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Unpin for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Unpin for FetchBlockSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Unpin for FetchLeafSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Unpin for FetchTransactionSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Unpin for QueryVidSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Unpin for ErrorSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Unpin for CustomSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Unpin for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Unpin for CustomSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Unpin for QueryWindowSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl Unpin for Error",1,["hotshot_query_service::availability::Error"]],["impl Unpin for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl Unpin for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl Unpin for Error",1,["hotshot_query_service::error::Error"]],["impl Unpin for QueryError",1,["hotshot_query_service::QueryError"]],["impl Unpin for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl Unpin for Error",1,["hotshot_query_service::explorer::Error"]],["impl Unpin for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl Unpin for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl Unpin for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl Unpin for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl Unpin for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl Unpin for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl Unpin for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl Unpin for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl Unpin for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl Unpin for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl Unpin for Error",1,["hotshot_query_service::node::Error"]],["impl Unpin for Error",1,["hotshot_query_service::status::Error"]],["impl Unpin for Options",1,["hotshot_query_service::availability::Options"]],["impl Unpin for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl Unpin for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl Unpin for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl Unpin for Config",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl Unpin for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl Unpin for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl Unpin for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl Unpin for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl Unpin for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl Unpin for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl Unpin for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl Unpin for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl Unpin for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl Unpin for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl Unpin for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl Unpin for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl Unpin for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl Unpin for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl Unpin for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl Unpin for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl Unpin for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl Unpin for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl Unpin for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl Unpin for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl Unpin for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl Unpin for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl Unpin for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl Unpin for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl Unpin for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl Unpin for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl Unpin for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl Unpin for Options",1,["hotshot_query_service::node::Options"]],["impl Unpin for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl Unpin for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl Unpin for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl Unpin for Options",1,["hotshot_query_service::status::Options"]],["impl Unpin for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl Unpin for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl Unpin for Options",1,["hotshot_query_service::Options"]],["impl Unpin for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl Unpin for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl Unpin for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl Unpin for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> Unpin for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> Unpin for Transaction<'a, T>
where\n T: Unpin,
",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> Unpin for Transaction<'a, Types, T>
where\n T: Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::BlockPayload: Unpin,\n <Types as NodeType>::View: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> Unpin for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> Unpin for ApiState<D>",1,["hotshot_query_service::ApiState"]],["impl<D> Unpin for MockNetwork<D>
where\n D: Unpin,\n <D as DataSourceLifeCycle>::Storage: Unpin,
",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D, U> Unpin for ExtensibleDataSource<D, U>
where\n D: Unpin,\n U: Unpin,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<Mode> Unpin for Transaction<Mode>
where\n Mode: Unpin,
",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> Unpin for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> Unpin for Fetch<T>
where\n T: Unpin,
",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> Unpin for Transaction<T>
where\n T: Unpin,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> Unpin for TimeWindowQueryData<T>
where\n T: Unpin,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> Unpin for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> Unpin for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> Unpin for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> Unpin for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> Unpin for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> Unpin for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> Unpin for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> Unpin for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::BlockPayload: Unpin,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> Unpin for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Unpin,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> Unpin for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> Unpin for LeafQueryData<Types>
where\n <Types as NodeType>::View: Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::BlockPayload: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> Unpin for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: Unpin,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> Unpin for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: Unpin,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: Unpin,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> Unpin for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::Transaction: Unpin,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> Unpin for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> Unpin for FileSystemStorage<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::View: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> Unpin for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + Unpin,\n <Types as NodeType>::BlockHeader: Unpin,\n <Types as NodeType>::View: Unpin,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> Unpin for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> Unpin for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> Unpin for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> Unpin for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> Unpin for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> Unpin for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> Unpin for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> Unpin for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> Unpin for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> Unpin for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> Unpin for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Unpin,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> Unpin for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> Unpin for TransactionDetailResponse<Types>
where\n <Types as NodeType>::Transaction: Unpin,
",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> Unpin for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> Unpin for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> Unpin for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: Unpin,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types> Unpin for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types, S, P> Unpin for Builder<Types, S, P>
where\n S: Unpin,\n P: Unpin,\n Types: Unpin,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> Unpin for FetchingDataSource<Types, S, P>
where\n Types: Unpin,\n S: Unpin,\n P: Unpin,
",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> Unpin for Pruner<Types, S, P>
where\n Types: Unpin,\n S: Unpin,\n P: Unpin,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> Unpin for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: Unpin,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> Unpin for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> Unpin for FetchBlockSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> Unpin for FetchLeafSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> Unpin for FetchTransactionSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> Unpin for QueryVidSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> Unpin for ErrorSnafu<__T0>
where\n __T0: Unpin,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> Unpin for CustomSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> Unpin for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> Unpin for CustomSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> Unpin for QueryWindowSnafu<__T0, __T1>
where\n __T0: Unpin,\n __T1: Unpin,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[75940]} \ No newline at end of file +//{"start":57,"fragment_lengths":[75287]} \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 117632a79..355e21854 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl !RefUnwindSafe for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl !RefUnwindSafe for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl !RefUnwindSafe for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl !RefUnwindSafe for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl !RefUnwindSafe for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl !RefUnwindSafe for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl !RefUnwindSafe for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl !RefUnwindSafe for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl !RefUnwindSafe for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl !RefUnwindSafe for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::availability::Error"]],["impl RefUnwindSafe for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::error::Error"]],["impl RefUnwindSafe for QueryError",1,["hotshot_query_service::QueryError"]],["impl RefUnwindSafe for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::explorer::Error"]],["impl RefUnwindSafe for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl RefUnwindSafe for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl RefUnwindSafe for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl RefUnwindSafe for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl RefUnwindSafe for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl RefUnwindSafe for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl RefUnwindSafe for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl RefUnwindSafe for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::node::Error"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::status::Error"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::availability::Options"]],["impl RefUnwindSafe for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl RefUnwindSafe for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl RefUnwindSafe for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl RefUnwindSafe for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl RefUnwindSafe for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl RefUnwindSafe for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl RefUnwindSafe for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl RefUnwindSafe for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl RefUnwindSafe for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl RefUnwindSafe for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl RefUnwindSafe for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl RefUnwindSafe for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl RefUnwindSafe for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl RefUnwindSafe for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl RefUnwindSafe for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl RefUnwindSafe for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl RefUnwindSafe for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl RefUnwindSafe for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl RefUnwindSafe for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl RefUnwindSafe for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl RefUnwindSafe for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::node::Options"]],["impl RefUnwindSafe for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl RefUnwindSafe for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl RefUnwindSafe for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::status::Options"]],["impl RefUnwindSafe for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl RefUnwindSafe for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::Options"]],["impl RefUnwindSafe for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl RefUnwindSafe for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl RefUnwindSafe for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl RefUnwindSafe for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> !RefUnwindSafe for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> !RefUnwindSafe for Transaction<'a, T>",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> !RefUnwindSafe for Transaction<'a, Types, T>",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> !RefUnwindSafe for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> !RefUnwindSafe for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D> RefUnwindSafe for ApiState<D>
where\n D: RefUnwindSafe,
",1,["hotshot_query_service::ApiState"]],["impl<D, U> RefUnwindSafe for ExtensibleDataSource<D, U>
where\n D: RefUnwindSafe,\n U: RefUnwindSafe,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<DB> !RefUnwindSafe for Config<DB>",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl<Mode> !RefUnwindSafe for Transaction<Mode>",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> !RefUnwindSafe for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> !RefUnwindSafe for Fetch<T>",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> RefUnwindSafe for Transaction<T>
where\n T: RefUnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> RefUnwindSafe for TimeWindowQueryData<T>
where\n T: RefUnwindSafe,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> RefUnwindSafe for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> !RefUnwindSafe for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> !RefUnwindSafe for FileSystemStorage<Types>",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> !RefUnwindSafe for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types> RefUnwindSafe for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> RefUnwindSafe for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> RefUnwindSafe for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> RefUnwindSafe for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> RefUnwindSafe for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> RefUnwindSafe for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::BlockPayload: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> RefUnwindSafe for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> RefUnwindSafe for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> RefUnwindSafe for LeafQueryData<Types>
where\n <Types as NodeType>::View: RefUnwindSafe,\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::BlockPayload: RefUnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: RefUnwindSafe,\n Types: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> RefUnwindSafe for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> RefUnwindSafe for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: RefUnwindSafe,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> RefUnwindSafe for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::Transaction: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> RefUnwindSafe for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> RefUnwindSafe for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + RefUnwindSafe,\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::View: RefUnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: RefUnwindSafe,\n Types: RefUnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> RefUnwindSafe for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> RefUnwindSafe for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> RefUnwindSafe for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> RefUnwindSafe for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> RefUnwindSafe for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> RefUnwindSafe for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> RefUnwindSafe for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> RefUnwindSafe for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> RefUnwindSafe for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> RefUnwindSafe for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> RefUnwindSafe for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> RefUnwindSafe for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> RefUnwindSafe for TransactionDetailResponse<Types>
where\n <Types as NodeType>::Transaction: RefUnwindSafe,
",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> RefUnwindSafe for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> RefUnwindSafe for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> RefUnwindSafe for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types, S, P> !RefUnwindSafe for FetchingDataSource<Types, S, P>",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> RefUnwindSafe for Builder<Types, S, P>
where\n S: RefUnwindSafe,\n P: RefUnwindSafe,\n Types: RefUnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> RefUnwindSafe for Pruner<Types, S, P>
where\n Types: RefUnwindSafe,\n S: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> RefUnwindSafe for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: RefUnwindSafe,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> !RefUnwindSafe for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> RefUnwindSafe for FetchBlockSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> RefUnwindSafe for FetchLeafSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> RefUnwindSafe for FetchTransactionSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> RefUnwindSafe for QueryVidSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> RefUnwindSafe for ErrorSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> RefUnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> RefUnwindSafe for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> RefUnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> RefUnwindSafe for QueryWindowSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl !RefUnwindSafe for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl !RefUnwindSafe for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl !RefUnwindSafe for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl !RefUnwindSafe for Config",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl !RefUnwindSafe for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl !RefUnwindSafe for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl !RefUnwindSafe for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl !RefUnwindSafe for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl !RefUnwindSafe for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl !RefUnwindSafe for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl !RefUnwindSafe for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::availability::Error"]],["impl RefUnwindSafe for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::error::Error"]],["impl RefUnwindSafe for QueryError",1,["hotshot_query_service::QueryError"]],["impl RefUnwindSafe for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::explorer::Error"]],["impl RefUnwindSafe for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl RefUnwindSafe for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl RefUnwindSafe for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl RefUnwindSafe for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl RefUnwindSafe for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl RefUnwindSafe for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl RefUnwindSafe for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl RefUnwindSafe for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::node::Error"]],["impl RefUnwindSafe for Error",1,["hotshot_query_service::status::Error"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::availability::Options"]],["impl RefUnwindSafe for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl RefUnwindSafe for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl RefUnwindSafe for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl RefUnwindSafe for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl RefUnwindSafe for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl RefUnwindSafe for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl RefUnwindSafe for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl RefUnwindSafe for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl RefUnwindSafe for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl RefUnwindSafe for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl RefUnwindSafe for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl RefUnwindSafe for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl RefUnwindSafe for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl RefUnwindSafe for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl RefUnwindSafe for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl RefUnwindSafe for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl RefUnwindSafe for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl RefUnwindSafe for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl RefUnwindSafe for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl RefUnwindSafe for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl RefUnwindSafe for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::node::Options"]],["impl RefUnwindSafe for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl RefUnwindSafe for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl RefUnwindSafe for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::status::Options"]],["impl RefUnwindSafe for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl RefUnwindSafe for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl RefUnwindSafe for Options",1,["hotshot_query_service::Options"]],["impl RefUnwindSafe for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl RefUnwindSafe for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl RefUnwindSafe for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl RefUnwindSafe for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> !RefUnwindSafe for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> !RefUnwindSafe for Transaction<'a, T>",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> !RefUnwindSafe for Transaction<'a, Types, T>",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> !RefUnwindSafe for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> !RefUnwindSafe for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D> RefUnwindSafe for ApiState<D>
where\n D: RefUnwindSafe,
",1,["hotshot_query_service::ApiState"]],["impl<D, U> RefUnwindSafe for ExtensibleDataSource<D, U>
where\n D: RefUnwindSafe,\n U: RefUnwindSafe,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<Mode> !RefUnwindSafe for Transaction<Mode>",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> !RefUnwindSafe for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> !RefUnwindSafe for Fetch<T>",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> RefUnwindSafe for Transaction<T>
where\n T: RefUnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> RefUnwindSafe for TimeWindowQueryData<T>
where\n T: RefUnwindSafe,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> RefUnwindSafe for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> !RefUnwindSafe for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> !RefUnwindSafe for FileSystemStorage<Types>",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> !RefUnwindSafe for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types> RefUnwindSafe for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> RefUnwindSafe for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> RefUnwindSafe for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> RefUnwindSafe for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> RefUnwindSafe for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> RefUnwindSafe for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::BlockPayload: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> RefUnwindSafe for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> RefUnwindSafe for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> RefUnwindSafe for LeafQueryData<Types>
where\n <Types as NodeType>::View: RefUnwindSafe,\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::BlockPayload: RefUnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: RefUnwindSafe,\n Types: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> RefUnwindSafe for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> RefUnwindSafe for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: RefUnwindSafe,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> RefUnwindSafe for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::Transaction: RefUnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> RefUnwindSafe for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> RefUnwindSafe for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + RefUnwindSafe,\n <Types as NodeType>::BlockHeader: RefUnwindSafe,\n <Types as NodeType>::View: RefUnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: RefUnwindSafe,\n Types: RefUnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> RefUnwindSafe for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> RefUnwindSafe for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> RefUnwindSafe for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> RefUnwindSafe for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> RefUnwindSafe for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> RefUnwindSafe for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> RefUnwindSafe for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> RefUnwindSafe for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> RefUnwindSafe for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> RefUnwindSafe for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> RefUnwindSafe for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: RefUnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> RefUnwindSafe for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> RefUnwindSafe for TransactionDetailResponse<Types>
where\n <Types as NodeType>::Transaction: RefUnwindSafe,
",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> RefUnwindSafe for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> RefUnwindSafe for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> RefUnwindSafe for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: RefUnwindSafe,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types, S, P> !RefUnwindSafe for FetchingDataSource<Types, S, P>",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> RefUnwindSafe for Builder<Types, S, P>
where\n S: RefUnwindSafe,\n P: RefUnwindSafe,\n Types: RefUnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> RefUnwindSafe for Pruner<Types, S, P>
where\n Types: RefUnwindSafe,\n S: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> RefUnwindSafe for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: RefUnwindSafe,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> !RefUnwindSafe for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> RefUnwindSafe for FetchBlockSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> RefUnwindSafe for FetchLeafSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> RefUnwindSafe for FetchTransactionSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> RefUnwindSafe for QueryVidSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> RefUnwindSafe for ErrorSnafu<__T0>
where\n __T0: RefUnwindSafe,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> RefUnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> RefUnwindSafe for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> RefUnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> RefUnwindSafe for QueryWindowSnafu<__T0, __T1>
where\n __T0: RefUnwindSafe,\n __T1: RefUnwindSafe,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[80262]} \ No newline at end of file +//{"start":57,"fragment_lengths":[80242]} \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index b6bc90a41..c554ae354 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl !UnwindSafe for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl !UnwindSafe for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl !UnwindSafe for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl !UnwindSafe for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl !UnwindSafe for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl !UnwindSafe for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl !UnwindSafe for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl !UnwindSafe for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl !UnwindSafe for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl !UnwindSafe for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl UnwindSafe for Error",1,["hotshot_query_service::availability::Error"]],["impl UnwindSafe for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl UnwindSafe for Error",1,["hotshot_query_service::error::Error"]],["impl UnwindSafe for QueryError",1,["hotshot_query_service::QueryError"]],["impl UnwindSafe for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl UnwindSafe for Error",1,["hotshot_query_service::explorer::Error"]],["impl UnwindSafe for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl UnwindSafe for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl UnwindSafe for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl UnwindSafe for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl UnwindSafe for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl UnwindSafe for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl UnwindSafe for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl UnwindSafe for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl UnwindSafe for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl UnwindSafe for Error",1,["hotshot_query_service::node::Error"]],["impl UnwindSafe for Error",1,["hotshot_query_service::status::Error"]],["impl UnwindSafe for Options",1,["hotshot_query_service::availability::Options"]],["impl UnwindSafe for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl UnwindSafe for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl UnwindSafe for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl UnwindSafe for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl UnwindSafe for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl UnwindSafe for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl UnwindSafe for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl UnwindSafe for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl UnwindSafe for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl UnwindSafe for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl UnwindSafe for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl UnwindSafe for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl UnwindSafe for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl UnwindSafe for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl UnwindSafe for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl UnwindSafe for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl UnwindSafe for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl UnwindSafe for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl UnwindSafe for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl UnwindSafe for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl UnwindSafe for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl UnwindSafe for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl UnwindSafe for Options",1,["hotshot_query_service::node::Options"]],["impl UnwindSafe for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl UnwindSafe for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl UnwindSafe for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl UnwindSafe for Options",1,["hotshot_query_service::status::Options"]],["impl UnwindSafe for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl UnwindSafe for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl UnwindSafe for Options",1,["hotshot_query_service::Options"]],["impl UnwindSafe for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl UnwindSafe for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl UnwindSafe for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl UnwindSafe for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> !UnwindSafe for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> !UnwindSafe for Transaction<'a, T>",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> !UnwindSafe for Transaction<'a, Types, T>",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> !UnwindSafe for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> !UnwindSafe for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D> UnwindSafe for ApiState<D>
where\n D: RefUnwindSafe,
",1,["hotshot_query_service::ApiState"]],["impl<D, U> UnwindSafe for ExtensibleDataSource<D, U>
where\n D: UnwindSafe,\n U: UnwindSafe,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<DB> !UnwindSafe for Config<DB>",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl<Mode> !UnwindSafe for Transaction<Mode>",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> !UnwindSafe for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> !UnwindSafe for Fetch<T>",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> UnwindSafe for Transaction<T>
where\n T: UnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> UnwindSafe for TimeWindowQueryData<T>
where\n T: UnwindSafe,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> UnwindSafe for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> !UnwindSafe for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> !UnwindSafe for FileSystemStorage<Types>",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> !UnwindSafe for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types> UnwindSafe for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> UnwindSafe for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> UnwindSafe for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> UnwindSafe for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> UnwindSafe for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> UnwindSafe for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::BlockPayload: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> UnwindSafe for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> UnwindSafe for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> UnwindSafe for LeafQueryData<Types>
where\n <Types as NodeType>::View: UnwindSafe,\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::BlockPayload: UnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: UnwindSafe,\n Types: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> UnwindSafe for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> UnwindSafe for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: UnwindSafe,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> UnwindSafe for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::Transaction: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> UnwindSafe for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> UnwindSafe for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + UnwindSafe,\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::View: UnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: UnwindSafe,\n Types: UnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> UnwindSafe for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> UnwindSafe for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> UnwindSafe for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> UnwindSafe for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> UnwindSafe for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> UnwindSafe for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> UnwindSafe for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> UnwindSafe for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> UnwindSafe for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> UnwindSafe for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> UnwindSafe for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> UnwindSafe for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> UnwindSafe for TransactionDetailResponse<Types>
where\n <Types as NodeType>::Transaction: UnwindSafe,
",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> UnwindSafe for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> UnwindSafe for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> UnwindSafe for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types, S, P> !UnwindSafe for FetchingDataSource<Types, S, P>",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> UnwindSafe for Builder<Types, S, P>
where\n S: UnwindSafe,\n P: UnwindSafe,\n Types: UnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> UnwindSafe for Pruner<Types, S, P>
where\n Types: UnwindSafe,\n S: UnwindSafe,\n P: UnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> UnwindSafe for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: UnwindSafe,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> !UnwindSafe for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> UnwindSafe for FetchBlockSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> UnwindSafe for FetchLeafSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> UnwindSafe for FetchTransactionSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> UnwindSafe for QueryVidSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> UnwindSafe for ErrorSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> UnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> UnwindSafe for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> UnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> UnwindSafe for QueryWindowSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl !UnwindSafe for DataSource",1,["hotshot_query_service::data_source::storage::no_storage::testing::DataSource"]],["impl !UnwindSafe for MetricsError",1,["hotshot_query_service::metrics::MetricsError"]],["impl !UnwindSafe for NoStorage",1,["hotshot_query_service::data_source::storage::no_storage::NoStorage"]],["impl !UnwindSafe for Config",1,["hotshot_query_service::data_source::storage::sql::Config"]],["impl !UnwindSafe for SqlStorage",1,["hotshot_query_service::data_source::storage::sql::SqlStorage"]],["impl !UnwindSafe for MetricsDataSource",1,["hotshot_query_service::data_source::metrics::MetricsDataSource"]],["impl !UnwindSafe for CounterFamily",1,["hotshot_query_service::metrics::CounterFamily"]],["impl !UnwindSafe for GaugeFamily",1,["hotshot_query_service::metrics::GaugeFamily"]],["impl !UnwindSafe for HistogramFamily",1,["hotshot_query_service::metrics::HistogramFamily"]],["impl !UnwindSafe for PrometheusMetrics",1,["hotshot_query_service::metrics::PrometheusMetrics"]],["impl !UnwindSafe for TextFamily",1,["hotshot_query_service::metrics::TextFamily"]],["impl UnwindSafe for Error",1,["hotshot_query_service::availability::Error"]],["impl UnwindSafe for Storage",1,["hotshot_query_service::data_source::storage::no_storage::testing::Storage"]],["impl UnwindSafe for Error",1,["hotshot_query_service::error::Error"]],["impl UnwindSafe for QueryError",1,["hotshot_query_service::QueryError"]],["impl UnwindSafe for CurrencyCode",1,["hotshot_query_service::explorer::currency::CurrencyCode"]],["impl UnwindSafe for Error",1,["hotshot_query_service::explorer::Error"]],["impl UnwindSafe for GetBlockDetailError",1,["hotshot_query_service::explorer::query_data::GetBlockDetailError"]],["impl UnwindSafe for GetBlockSummariesError",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesError"]],["impl UnwindSafe for GetExplorerSummaryError",1,["hotshot_query_service::explorer::query_data::GetExplorerSummaryError"]],["impl UnwindSafe for GetSearchResultsError",1,["hotshot_query_service::explorer::query_data::GetSearchResultsError"]],["impl UnwindSafe for GetTransactionDetailError",1,["hotshot_query_service::explorer::query_data::GetTransactionDetailError"]],["impl UnwindSafe for GetTransactionSummariesError",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesError"]],["impl UnwindSafe for TimestampConversionError",1,["hotshot_query_service::explorer::query_data::TimestampConversionError"]],["impl UnwindSafe for TransactionSummaryFilter",1,["hotshot_query_service::explorer::query_data::TransactionSummaryFilter"]],["impl UnwindSafe for Error",1,["hotshot_query_service::merklized_state::Error"]],["impl UnwindSafe for Error",1,["hotshot_query_service::node::Error"]],["impl UnwindSafe for Error",1,["hotshot_query_service::status::Error"]],["impl UnwindSafe for Options",1,["hotshot_query_service::availability::Options"]],["impl UnwindSafe for RequestSnafu",1,["hotshot_query_service::availability::RequestSnafu"]],["impl UnwindSafe for PrunerCfg",1,["hotshot_query_service::data_source::storage::pruning::PrunerCfg"]],["impl UnwindSafe for Pruner",1,["hotshot_query_service::data_source::storage::sql::Pruner"]],["impl UnwindSafe for Read",1,["hotshot_query_service::data_source::storage::sql::transaction::Read"]],["impl UnwindSafe for Write",1,["hotshot_query_service::data_source::storage::sql::transaction::Write"]],["impl UnwindSafe for TestMerkleTreeMigration",1,["hotshot_query_service::data_source::storage::sql::testing::TestMerkleTreeMigration"]],["impl UnwindSafe for TmpDb",1,["hotshot_query_service::data_source::storage::sql::testing::TmpDb"]],["impl UnwindSafe for CurrencyMismatchError",1,["hotshot_query_service::explorer::currency::CurrencyMismatchError"]],["impl UnwindSafe for ExplorerHistograms",1,["hotshot_query_service::explorer::query_data::ExplorerHistograms"]],["impl UnwindSafe for FeeAttribution",1,["hotshot_query_service::explorer::query_data::FeeAttribution"]],["impl UnwindSafe for GenesisOverview",1,["hotshot_query_service::explorer::query_data::GenesisOverview"]],["impl UnwindSafe for InvalidCurrencyCodeError",1,["hotshot_query_service::explorer::currency::InvalidCurrencyCodeError"]],["impl UnwindSafe for MonetaryValue",1,["hotshot_query_service::explorer::monetary_value::MonetaryValue"]],["impl UnwindSafe for Timestamp",1,["hotshot_query_service::explorer::query_data::Timestamp"]],["impl UnwindSafe for NoFetching",1,["hotshot_query_service::fetching::provider::NoFetching"]],["impl UnwindSafe for LeafRequest",1,["hotshot_query_service::fetching::request::LeafRequest"]],["impl UnwindSafe for PayloadRequest",1,["hotshot_query_service::fetching::request::PayloadRequest"]],["impl UnwindSafe for VidCommonRequest",1,["hotshot_query_service::fetching::request::VidCommonRequest"]],["impl UnwindSafe for Options",1,["hotshot_query_service::merklized_state::Options"]],["impl UnwindSafe for Counter",1,["hotshot_query_service::metrics::Counter"]],["impl UnwindSafe for Gauge",1,["hotshot_query_service::metrics::Gauge"]],["impl UnwindSafe for Histogram",1,["hotshot_query_service::metrics::Histogram"]],["impl UnwindSafe for Options",1,["hotshot_query_service::node::Options"]],["impl UnwindSafe for QuerySnafu",1,["hotshot_query_service::node::QuerySnafu"]],["impl UnwindSafe for RequestSnafu",1,["hotshot_query_service::node::RequestSnafu"]],["impl UnwindSafe for SyncStatus",1,["hotshot_query_service::node::query_data::SyncStatus"]],["impl UnwindSafe for Options",1,["hotshot_query_service::status::Options"]],["impl UnwindSafe for MissingSnafu",1,["hotshot_query_service::MissingSnafu"]],["impl UnwindSafe for NotFoundSnafu",1,["hotshot_query_service::NotFoundSnafu"]],["impl UnwindSafe for Options",1,["hotshot_query_service::Options"]],["impl UnwindSafe for BackgroundTask",1,["hotshot_query_service::task::BackgroundTask"]],["impl UnwindSafe for MockNodeImpl",1,["hotshot_query_service::testing::mocks::MockNodeImpl"]],["impl UnwindSafe for MockTypes",1,["hotshot_query_service::testing::mocks::MockTypes"]],["impl UnwindSafe for MockVersions",1,["hotshot_query_service::testing::mocks::MockVersions"]],["impl<'a> !UnwindSafe for Transaction<'a>",1,["hotshot_query_service::data_source::storage::no_storage::Transaction"]],["impl<'a, T> !UnwindSafe for Transaction<'a, T>",1,["hotshot_query_service::data_source::storage::no_storage::testing::Transaction"]],["impl<'a, Types, T> !UnwindSafe for Transaction<'a, Types, T>",1,["hotshot_query_service::data_source::fetching::notify_storage::Transaction"]],["impl<'q> !UnwindSafe for QueryBuilder<'q>",1,["hotshot_query_service::data_source::storage::sql::queries::QueryBuilder"]],["impl<D> !UnwindSafe for MockNetwork<D>",1,["hotshot_query_service::testing::consensus::MockNetwork"]],["impl<D> UnwindSafe for ApiState<D>
where\n D: RefUnwindSafe,
",1,["hotshot_query_service::ApiState"]],["impl<D, U> UnwindSafe for ExtensibleDataSource<D, U>
where\n D: UnwindSafe,\n U: UnwindSafe,
",1,["hotshot_query_service::data_source::extension::ExtensibleDataSource"]],["impl<Mode> !UnwindSafe for Transaction<Mode>",1,["hotshot_query_service::data_source::storage::sql::transaction::Transaction"]],["impl<P> !UnwindSafe for TestProvider<P>",1,["hotshot_query_service::fetching::provider::testing::TestProvider"]],["impl<T> !UnwindSafe for Fetch<T>",1,["hotshot_query_service::availability::fetch::Fetch"]],["impl<T> UnwindSafe for Transaction<T>
where\n T: UnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::Transaction"]],["impl<T> UnwindSafe for TimeWindowQueryData<T>
where\n T: UnwindSafe,
",1,["hotshot_query_service::node::query_data::TimeWindowQueryData"]],["impl<T> UnwindSafe for Task<T>",1,["hotshot_query_service::task::Task"]],["impl<T, C> !UnwindSafe for Fetcher<T, C>",1,["hotshot_query_service::fetching::Fetcher"]],["impl<Types> !UnwindSafe for FileSystemStorage<Types>",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorage"]],["impl<Types> !UnwindSafe for AnyProvider<Types>",1,["hotshot_query_service::fetching::provider::any::AnyProvider"]],["impl<Types> UnwindSafe for BlockId<Types>",1,["hotshot_query_service::availability::data_source::BlockId"]],["impl<Types> UnwindSafe for LeafId<Types>",1,["hotshot_query_service::availability::data_source::LeafId"]],["impl<Types> UnwindSafe for BlockIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::BlockIdentifier"]],["impl<Types> UnwindSafe for TransactionIdentifier<Types>",1,["hotshot_query_service::explorer::query_data::TransactionIdentifier"]],["impl<Types> UnwindSafe for WindowStart<Types>",1,["hotshot_query_service::node::data_source::WindowStart"]],["impl<Types> UnwindSafe for BlockQueryData<Types>
where\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::BlockPayload: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockQueryData"]],["impl<Types> UnwindSafe for BlockSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::BlockSummaryQueryData"]],["impl<Types> UnwindSafe for InconsistentLeafError<Types>",1,["hotshot_query_service::availability::query_data::InconsistentLeafError"]],["impl<Types> UnwindSafe for LeafQueryData<Types>
where\n <Types as NodeType>::View: UnwindSafe,\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::BlockPayload: UnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: UnwindSafe,\n Types: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::LeafQueryData"]],["impl<Types> UnwindSafe for PayloadQueryData<Types>
where\n <Types as NodeType>::BlockPayload: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::PayloadQueryData"]],["impl<Types> UnwindSafe for TransactionQueryData<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized,\n <Types as NodeType>::Transaction: UnwindSafe,\n <<Types as NodeType>::BlockPayload as QueryablePayload<Types>>::InclusionProof: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionQueryData"]],["impl<Types> UnwindSafe for TransactionSummaryQueryData<Types>
where\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::Transaction: UnwindSafe,
",1,["hotshot_query_service::availability::query_data::TransactionSummaryQueryData"]],["impl<Types> UnwindSafe for VidCommonQueryData<Types>",1,["hotshot_query_service::availability::query_data::VidCommonQueryData"]],["impl<Types> UnwindSafe for FileSystemStorageInner<Types>
where\n <Types as NodeType>::BlockPayload: for<'de> Sized + UnwindSafe,\n <Types as NodeType>::BlockHeader: UnwindSafe,\n <Types as NodeType>::View: UnwindSafe,\n <<Types as NodeType>::SignatureKey as SignatureKey>::QcType: UnwindSafe,\n Types: UnwindSafe,
",1,["hotshot_query_service::data_source::storage::fs::FileSystemStorageInner"]],["impl<Types> UnwindSafe for BlockDetail<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockDetail"]],["impl<Types> UnwindSafe for BlockDetailResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,
",1,["hotshot_query_service::explorer::BlockDetailResponse"]],["impl<Types> UnwindSafe for BlockRange<Types>",1,["hotshot_query_service::explorer::query_data::BlockRange"]],["impl<Types> UnwindSafe for BlockSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::BlockSummary"]],["impl<Types> UnwindSafe for BlockSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,
",1,["hotshot_query_service::explorer::BlockSummaryResponse"]],["impl<Types> UnwindSafe for ExplorerSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::ExplorerSummary"]],["impl<Types> UnwindSafe for ExplorerSummaryResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::WalletAddress: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::ExplorerSummaryResponse"]],["impl<Types> UnwindSafe for GetBlockSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetBlockSummariesRequest"]],["impl<Types> UnwindSafe for GetTransactionSummariesRequest<Types>",1,["hotshot_query_service::explorer::query_data::GetTransactionSummariesRequest"]],["impl<Types> UnwindSafe for SearchResult<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::SearchResult"]],["impl<Types> UnwindSafe for SearchResultResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: UnwindSafe,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::SearchResultResponse"]],["impl<Types> UnwindSafe for TransactionDetail<Types>",1,["hotshot_query_service::explorer::query_data::TransactionDetail"]],["impl<Types> UnwindSafe for TransactionDetailResponse<Types>
where\n <Types as NodeType>::Transaction: UnwindSafe,
",1,["hotshot_query_service::explorer::TransactionDetailResponse"]],["impl<Types> UnwindSafe for TransactionRange<Types>",1,["hotshot_query_service::explorer::query_data::TransactionRange"]],["impl<Types> UnwindSafe for TransactionSummariesResponse<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::TransactionSummariesResponse"]],["impl<Types> UnwindSafe for TransactionSummary<Types>
where\n <Types as NodeType>::BlockHeader: for<'de> Sized,\n <<Types as NodeType>::Transaction as ExplorerTransaction>::NamespaceId: UnwindSafe,
",1,["hotshot_query_service::explorer::query_data::TransactionSummary"]],["impl<Types, S, P> !UnwindSafe for FetchingDataSource<Types, S, P>",1,["hotshot_query_service::data_source::fetching::FetchingDataSource"]],["impl<Types, S, P> UnwindSafe for Builder<Types, S, P>
where\n S: UnwindSafe,\n P: UnwindSafe,\n Types: UnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Builder"]],["impl<Types, S, P> UnwindSafe for Pruner<Types, S, P>
where\n Types: UnwindSafe,\n S: UnwindSafe,\n P: UnwindSafe,
",1,["hotshot_query_service::data_source::fetching::Pruner"]],["impl<Types, T, const ARITY: usize> UnwindSafe for Snapshot<Types, T, ARITY>
where\n <T as MerklizedState<Types, ARITY>>::Commit: UnwindSafe,
",1,["hotshot_query_service::merklized_state::data_source::Snapshot"]],["impl<Ver> !UnwindSafe for QueryServiceProvider<Ver>",1,["hotshot_query_service::fetching::provider::query_service::QueryServiceProvider"]],["impl<__T0> UnwindSafe for FetchBlockSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::availability::FetchBlockSnafu"]],["impl<__T0> UnwindSafe for FetchLeafSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::availability::FetchLeafSnafu"]],["impl<__T0> UnwindSafe for FetchTransactionSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::availability::FetchTransactionSnafu"]],["impl<__T0> UnwindSafe for QueryVidSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::node::QueryVidSnafu"]],["impl<__T0> UnwindSafe for ErrorSnafu<__T0>
where\n __T0: UnwindSafe,
",1,["hotshot_query_service::ErrorSnafu"]],["impl<__T0, __T1> UnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::availability::CustomSnafu"]],["impl<__T0, __T1> UnwindSafe for InvalidTransactionIndexSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::availability::InvalidTransactionIndexSnafu"]],["impl<__T0, __T1> UnwindSafe for CustomSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::node::CustomSnafu"]],["impl<__T0, __T1> UnwindSafe for QueryWindowSnafu<__T0, __T1>
where\n __T0: UnwindSafe,\n __T1: UnwindSafe,
",1,["hotshot_query_service::node::QueryWindowSnafu"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[78606]} \ No newline at end of file +//{"start":57,"fragment_lengths":[78586]} \ No newline at end of file diff --git a/trait.impl/core/str/traits/trait.FromStr.js b/trait.impl/core/str/traits/trait.FromStr.js index 97794a873..35de8fef1 100644 --- a/trait.impl/core/str/traits/trait.FromStr.js +++ b/trait.impl/core/str/traits/trait.FromStr.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl FromStr for Config<Postgres>"]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl FromStr for Config"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[562]} \ No newline at end of file +//{"start":57,"fragment_lengths":[370]} \ No newline at end of file diff --git a/trait.impl/sqlx_core/from_row/trait.FromRow.js b/trait.impl/sqlx_core/from_row/trait.FromRow.js index ebe047ef3..f0b6d85f1 100644 --- a/trait.impl/sqlx_core/from_row/trait.FromRow.js +++ b/trait.impl/sqlx_core/from_row/trait.FromRow.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["hotshot_query_service",[["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockQueryData<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for LeafQueryData<Types>
where\n Types: NodeType,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for PayloadQueryData<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for VidCommonQueryData<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockDetail<Types>
where\n Types: NodeType,\n Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,\n Payload<Types>: QueryablePayload<Types>,\n BalanceAmount<Types>: Into<MonetaryValue>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockSummary<Types>
where\n Types: NodeType,\n Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,\n Payload<Types>: QueryablePayload<Types>,
"]]]]); + var implementors = Object.fromEntries([["hotshot_query_service",[["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockQueryData<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for LeafQueryData<Types>
where\n Types: NodeType,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for PayloadQueryData<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for VidCommonQueryData<Types>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockDetail<Types>
where\n Types: NodeType,\n Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,\n Payload<Types>: QueryablePayload<Types>,\n BalanceAmount<Types>: Into<MonetaryValue>,
"],["impl<'r, Types> FromRow<'r, <Postgres as Database>::Row> for BlockSummary<Types>
where\n Types: NodeType,\n Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,\n Payload<Types>: QueryablePayload<Types>,
"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[8535]} \ No newline at end of file +//{"start":57,"fragment_lengths":[7479]} \ No newline at end of file diff --git a/type.impl/hotshot_query_service/data_source/fetching/struct.Builder.js b/type.impl/hotshot_query_service/data_source/fetching/struct.Builder.js index f36ae5525..fa9a8f432 100644 --- a/type.impl/hotshot_query_service/data_source/fetching/struct.Builder.js +++ b/type.impl/hotshot_query_service/data_source/fetching/struct.Builder.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["hotshot_query_service",[["
source§

impl<Types, S, P> Builder<Types, S, P>

source

pub fn new(storage: S, provider: P) -> Self

Construct a new builder with the given storage and fetcher and the default options.

\n
source

pub fn with_retry_delay(self, retry_delay: Duration) -> Self

Set the maximum delay between retries of fetches.

\n
source

pub fn with_rate_limit(self, with_rate_limit: usize) -> Self

Set the maximum delay between retries of fetches.

\n
source

pub fn with_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when loading a range or stream.

\n

This determines:

\n
    \n
  • The number of objects to load from storage in a single request
  • \n
  • The number of objects to buffer in memory per request/stream
  • \n
  • The number of concurrent notification subscriptions per request/stream
  • \n
\n
source

pub fn with_minor_scan_interval(self, interval: Duration) -> Self

Set the time interval between minor proactive fetching scans.

\n

See proactive fetching.

\n
source

pub fn with_major_scan_interval(self, interval: usize) -> Self

Set the interval (denominated in minor scans) between\nmajor proactive fetching scans.

\n

See proactive fetching.

\n
source

pub fn with_major_scan_offset(self, offset: usize) -> Self

Set the offset (denominated in minor scans) before the\nfirst major proactive fetching scan.

\n

This is useful when starting multiple nodes at the same time: major proactive scans can have\na measurable impact on the performance of the node for a brief time while the scan is\nrunning, so it may be desirable to prevent a group of nodes from all doing major scans at\nthe same time. This can be achieved by giving each node a different major_scan_offset.

\n

See also proactive fetching.

\n
source

pub fn with_proactive_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when scanning for proactive fetching.

\n

This is similar to Self::with_range_chunk_size, but only affects the chunk size for\nproactive fetching scans, not for normal subscription streams. This can be useful to tune\nthe proactive scanner to be more or less greedy with the lock on persistent storage.

\n

By default (i.e. if this method is not called) the proactive range chunk size will be set to\nwhatever the normal range chunk size is.

\n
source

pub fn with_active_fetch_delay(self, active_fetch_delay: Duration) -> Self

Add a delay between active fetches in proactive scans.

\n

This can be used to limit the rate at which this query service makes requests to other query\nservices during proactive scans. This is useful if the query service has a lot of blocks to\ncatch up on, as without a delay, scanning can be extremely burdensome on the peer.

\n
source

pub fn with_chunk_fetch_delay(self, chunk_fetch_delay: Duration) -> Self

Adds a delay between chunk fetches during proactive scans.

\n

In a proactive scan, we retrieve a range of objects from a provider or local storage (e.g., a database).\nWithout a delay between fetching these chunks, the process can become very CPU-intensive, especially\nwhen chunks are retrieved from local storage. While there is already a delay for active fetches\n(active_fetch_delay), situations may arise when subscribed to an old stream that fetches most of the data\nfrom local storage.

\n

This additional delay helps to limit constant maximum CPU usage\nand ensures that local storage remains accessible to all processes,\nnot just the proactive scanner.

\n
source

pub fn disable_proactive_fetching(self) -> Self

Run without proactive fetching.

\n

This can reduce load on the CPU and the database, but increases the probability that\nrequests will fail due to missing resources. If resources are constrained, it is recommended\nto run with rare proactive fetching (see\nwith_major_scan_interval,\nwith_minor_scan_interval), rather than disabling it\nentirely.

\n
",0,"hotshot_query_service::data_source::sql::Builder"],["
source§

impl<Types, S, P> Builder<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n Header<Types>: QueryableHeader<Types>,\n S: PruneStorage + VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + PrunedHeightStorage + NodeStorage<Types>,\n for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,\n P: AvailabilityProvider<Types>,

source

pub async fn build(self) -> Result<FetchingDataSource<Types, S, P>>

Build a FetchingDataSource with these options.

\n
",0,"hotshot_query_service::data_source::sql::Builder"]]]]); + var type_impls = Object.fromEntries([["hotshot_query_service",[["
source§

impl<Types, S, P> Builder<Types, S, P>

source

pub fn new(storage: S, provider: P) -> Self

Construct a new builder with the given storage and fetcher and the default options.

\n
source

pub fn with_retry_delay(self, retry_delay: Duration) -> Self

Set the maximum delay between retries of fetches.

\n
source

pub fn with_rate_limit(self, with_rate_limit: usize) -> Self

Set the maximum delay between retries of fetches.

\n
source

pub fn with_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when loading a range or stream.

\n

This determines:

\n
    \n
  • The number of objects to load from storage in a single request
  • \n
  • The number of objects to buffer in memory per request/stream
  • \n
  • The number of concurrent notification subscriptions per request/stream
  • \n
\n
source

pub fn with_minor_scan_interval(self, interval: Duration) -> Self

Set the time interval between minor proactive fetching scans.

\n

See proactive fetching.

\n
source

pub fn with_major_scan_interval(self, interval: usize) -> Self

Set the interval (denominated in minor scans) between\nmajor proactive fetching scans.

\n

See proactive fetching.

\n
source

pub fn with_major_scan_offset(self, offset: usize) -> Self

Set the offset (denominated in minor scans) before the\nfirst major proactive fetching scan.

\n

This is useful when starting multiple nodes at the same time: major proactive scans can have\na measurable impact on the performance of the node for a brief time while the scan is\nrunning, so it may be desirable to prevent a group of nodes from all doing major scans at\nthe same time. This can be achieved by giving each node a different major_scan_offset.

\n

See also proactive fetching.

\n
source

pub fn with_proactive_range_chunk_size(self, range_chunk_size: usize) -> Self

Set the number of items to process at a time when scanning for proactive fetching.

\n

This is similar to Self::with_range_chunk_size, but only affects the chunk size for\nproactive fetching scans, not for normal subscription streams. This can be useful to tune\nthe proactive scanner to be more or less greedy with the lock on persistent storage.

\n

By default (i.e. if this method is not called) the proactive range chunk size will be set to\nwhatever the normal range chunk size is.

\n
source

pub fn with_active_fetch_delay(self, active_fetch_delay: Duration) -> Self

Add a delay between active fetches in proactive scans.

\n

This can be used to limit the rate at which this query service makes requests to other query\nservices during proactive scans. This is useful if the query service has a lot of blocks to\ncatch up on, as without a delay, scanning can be extremely burdensome on the peer.

\n
source

pub fn with_chunk_fetch_delay(self, chunk_fetch_delay: Duration) -> Self

Adds a delay between chunk fetches during proactive scans.

\n

In a proactive scan, we retrieve a range of objects from a provider or local storage (e.g., a database).\nWithout a delay between fetching these chunks, the process can become very CPU-intensive, especially\nwhen chunks are retrieved from local storage. While there is already a delay for active fetches\n(active_fetch_delay), situations may arise when subscribed to an old stream that fetches most of the data\nfrom local storage.

\n

This additional delay helps to limit constant maximum CPU usage\nand ensures that local storage remains accessible to all processes,\nnot just the proactive scanner.

\n
source

pub fn disable_proactive_fetching(self) -> Self

Run without proactive fetching.

\n

This can reduce load on the CPU and the database, but increases the probability that\nrequests will fail due to missing resources. If resources are constrained, it is recommended\nto run with rare proactive fetching (see\nwith_major_scan_interval,\nwith_minor_scan_interval), rather than disabling it\nentirely.

\n
",0,"hotshot_query_service::data_source::sql::Builder"],["
source§

impl<Types, S, P> Builder<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n Header<Types>: QueryableHeader<Types>,\n S: PruneStorage + VersionedDataSource + HasMetrics + 'static,\n for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + PrunedHeightStorage + NodeStorage<Types>,\n for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,\n P: AvailabilityProvider<Types>,

source

pub async fn build(self) -> Result<FetchingDataSource<Types, S, P>>

Build a FetchingDataSource with these options.

\n
",0,"hotshot_query_service::data_source::sql::Builder"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[16547]} \ No newline at end of file +//{"start":55,"fragment_lengths":[16701]} \ No newline at end of file diff --git a/type.impl/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.js b/type.impl/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.js index f6d7bd9a4..9e4034990 100644 --- a/type.impl/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.js +++ b/type.impl/hotshot_query_service/data_source/fetching/struct.FetchingDataSource.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["hotshot_query_service",[["
source§

impl<Types, S, P> AsRef<S> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,

source§

fn as_ref(&self) -> &S

Converts this type into a shared reference of the (usually inferred) input type.
","AsRef","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> AvailabilityDataSource<Types> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n S: VersionedDataSource + 'static,\n for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,\n for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage,\n P: AvailabilityProvider<Types>,

source§

type LeafRange<R> = Pin<Box<dyn Stream<Item = Fetch<LeafQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

type BlockRange<R> = Pin<Box<dyn Stream<Item = Fetch<BlockQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

type PayloadRange<R> = Pin<Box<dyn Stream<Item = Fetch<PayloadQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

type VidCommonRange<R> = Pin<Box<dyn Stream<Item = Fetch<VidCommonQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

fn get_leaf<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<LeafQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<LeafId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_block<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<BlockQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_payload<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<PayloadQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_vid_common<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<VidCommonQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_leaf_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::LeafRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_block_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::BlockRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_payload_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::PayloadRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_vid_common_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::VidCommonRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_transaction<'life0, 'async_trait>(\n &'life0 self,\n hash: TransactionHash<Types>,\n) -> Pin<Box<dyn Future<Output = Fetch<TransactionQueryData<Types>>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

Returns the transaction with the given hash.
source§

fn subscribe_blocks<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, BlockQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn subscribe_payloads<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, PayloadQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn subscribe_leaves<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, LeafQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn subscribe_vid_common<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, VidCommonQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

","AvailabilityDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> Clone for FetchingDataSource<Types, S, P>
where\n Types: NodeType,

source§

fn clone(&self) -> Self

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","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> Debug for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: Debug,\n P: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> ExplorerDataSource<Types> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: ExplorerStorage<Types>,\n P: Send + Sync,

source§

fn get_block_summaries<'life0, 'async_trait>(\n &'life0 self,\n request: GetBlockSummariesRequest<Types>,\n) -> Pin<Box<dyn Future<Output = Result<Vec<BlockSummary<Types>>, GetBlockSummariesError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_block_summaries is a method that retrieves a list of block\nsummaries from the blockchain. The list is generated from the given\nGetBlockSummariesRequest.
source§

fn get_block_detail<'life0, 'async_trait>(\n &'life0 self,\n request: BlockIdentifier<Types>,\n) -> Pin<Box<dyn Future<Output = Result<BlockDetail<Types>, GetBlockDetailError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_block_detail is a method that retrieves the details of a specific\nblock from the blockchain. The block is identified by the given\nBlockIdentifier.
source§

fn get_transaction_summaries<'life0, 'async_trait>(\n &'life0 self,\n request: GetTransactionSummariesRequest<Types>,\n) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionSummary<Types>>, GetTransactionSummariesError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_transaction_summaries is a method that retrieves a list of\ntransaction summaries from the blockchain. The list is generated from\nthe given GetTransactionSummariesRequest.
source§

fn get_transaction_detail<'life0, 'async_trait>(\n &'life0 self,\n request: TransactionIdentifier<Types>,\n) -> Pin<Box<dyn Future<Output = Result<TransactionDetailResponse<Types>, GetTransactionDetailError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_transaction_detail is a method that retrieves the details of a\nspecific transaction from the blockchain. The transaction is identified\nby the given TransactionIdentifier.
source§

fn get_explorer_summary<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = Result<ExplorerSummary<Types>, GetExplorerSummaryError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_explorer_summary is a method that retrieves a summary overview of\nthe blockchain. This is useful for displaying information that\nindicates the overall status of the block chain.
source§

fn get_search_results<'life0, 'async_trait>(\n &'life0 self,\n query: String,\n) -> Pin<Box<dyn Future<Output = Result<SearchResult<Types>, GetSearchResultsError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_search_results is a method that retrieves the results of a search\nquery against the blockchain. The results are generated from the given\nquery string.
","ExplorerDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n Header<Types>: QueryableHeader<Types>,\n S: VersionedDataSource + PruneStorage + 'static,\n for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,\n for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage,\n P: AvailabilityProvider<Types>,

source

pub fn builder(storage: S, provider: P) -> Builder<Types, S, P>

Build a FetchingDataSource with the given storage and provider.

\n
",0,"hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> HasMetrics for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: HasMetrics,

","HasMetrics","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P, State, const ARITY: usize> MerklizedStateDataSource<Types, State, ARITY> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: MerklizedStateStorage<Types, State, ARITY>,\n P: Send + Sync,\n State: MerklizedState<Types, ARITY> + 'static,\n <State as MerkleTreeScheme>::Commitment: Send,

source§

fn get_path<'life0, 'async_trait>(\n &'life0 self,\n snapshot: Snapshot<Types, State, ARITY>,\n key: State::Key,\n) -> Pin<Box<dyn Future<Output = QueryResult<MerkleProof<State::Entry, State::Key, State::T, ARITY>>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

","MerklizedStateDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> MerklizedStateHeightPersistence for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: MerklizedStateHeightStorage,\n P: Send + Sync,

source§

fn get_last_state_height<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

","MerklizedStateHeightPersistence","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> NodeDataSource<Types> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: NodeStorage<Types>,\n P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn count_transactions<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn payload_size<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn vid_share<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = QueryResult<VidShare>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn sync_status<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<SyncStatus>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

Search the database for missing objects and generate a report.
source§

fn get_header_window<'life0, 'async_trait>(\n &'life0 self,\n start: impl 'async_trait + Into<WindowStart<Types>> + Send + Sync,\n end: u64,\n) -> Pin<Box<dyn Future<Output = QueryResult<TimeWindowQueryData<Header<Types>>>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

","NodeDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> StatusDataSource for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + HasMetrics + Send + Sync + 'static,\n for<'a> S::ReadOnly<'a>: NodeStorage<Types>,\n P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn consensus_metrics(&self) -> QueryResult<PrometheusMetrics>

source§

fn elapsed_time_since_last_decide<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<u64>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn success_rate<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<f64>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

","StatusDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> VersionedDataSource for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + Send + Sync,\n P: Send + Sync,

source§

type Transaction<'a> = Transaction<'a, Types, <S as VersionedDataSource>::Transaction<'a>>\nwhere\n Self: 'a

A transaction which can read and modify the data source.
source§

type ReadOnly<'a> = Transaction<'a, Types, <S as VersionedDataSource>::ReadOnly<'a>>\nwhere\n Self: 'a

source§

async fn write(&self) -> Result<Self::Transaction<'_>>

Start an atomic transaction on the data source.
source§

async fn read(&self) -> Result<Self::ReadOnly<'_>>

Start a read-only transaction on the data source. Read more
","VersionedDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"]]]]); + var type_impls = Object.fromEntries([["hotshot_query_service",[["
source§

impl<Types, S, P> AsRef<S> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,

source§

fn as_ref(&self) -> &S

Converts this type into a shared reference of the (usually inferred) input type.
","AsRef","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> AvailabilityDataSource<Types> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n S: VersionedDataSource + 'static,\n for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,\n for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage,\n P: AvailabilityProvider<Types>,

source§

type LeafRange<R> = Pin<Box<dyn Stream<Item = Fetch<LeafQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

type BlockRange<R> = Pin<Box<dyn Stream<Item = Fetch<BlockQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

type PayloadRange<R> = Pin<Box<dyn Stream<Item = Fetch<PayloadQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

type VidCommonRange<R> = Pin<Box<dyn Stream<Item = Fetch<VidCommonQueryData<Types>>> + Send>>\nwhere\n R: RangeBounds<usize> + Send

source§

fn get_leaf<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<LeafQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<LeafId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_block<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<BlockQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_payload<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<PayloadQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_vid_common<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = Fetch<VidCommonQueryData<Types>>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_leaf_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::LeafRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_block_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::BlockRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_payload_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::PayloadRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_vid_common_range<'life0, 'async_trait, R>(\n &'life0 self,\n range: R,\n) -> Pin<Box<dyn Future<Output = Self::VidCommonRange<R>> + Send + 'async_trait>>
where\n R: RangeBounds<usize> + Send + 'static + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn get_transaction<'life0, 'async_trait>(\n &'life0 self,\n hash: TransactionHash<Types>,\n) -> Pin<Box<dyn Future<Output = Fetch<TransactionQueryData<Types>>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

Returns the transaction with the given hash.
source§

fn subscribe_blocks<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, BlockQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn subscribe_payloads<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, PayloadQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn subscribe_leaves<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, LeafQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn subscribe_vid_common<'life0, 'async_trait>(\n &'life0 self,\n from: usize,\n) -> Pin<Box<dyn Future<Output = BoxStream<'static, VidCommonQueryData<Types>>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

","AvailabilityDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> Clone for FetchingDataSource<Types, S, P>
where\n Types: NodeType,

source§

fn clone(&self) -> Self

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","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> Debug for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: Debug,\n P: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> ExplorerDataSource<Types> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,\n Transaction<Types>: ExplorerTransaction,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: ExplorerStorage<Types>,\n P: Send + Sync,

source§

fn get_block_summaries<'life0, 'async_trait>(\n &'life0 self,\n request: GetBlockSummariesRequest<Types>,\n) -> Pin<Box<dyn Future<Output = Result<Vec<BlockSummary<Types>>, GetBlockSummariesError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_block_summaries is a method that retrieves a list of block\nsummaries from the blockchain. The list is generated from the given\nGetBlockSummariesRequest.
source§

fn get_block_detail<'life0, 'async_trait>(\n &'life0 self,\n request: BlockIdentifier<Types>,\n) -> Pin<Box<dyn Future<Output = Result<BlockDetail<Types>, GetBlockDetailError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_block_detail is a method that retrieves the details of a specific\nblock from the blockchain. The block is identified by the given\nBlockIdentifier.
source§

fn get_transaction_summaries<'life0, 'async_trait>(\n &'life0 self,\n request: GetTransactionSummariesRequest<Types>,\n) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionSummary<Types>>, GetTransactionSummariesError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_transaction_summaries is a method that retrieves a list of\ntransaction summaries from the blockchain. The list is generated from\nthe given GetTransactionSummariesRequest.
source§

fn get_transaction_detail<'life0, 'async_trait>(\n &'life0 self,\n request: TransactionIdentifier<Types>,\n) -> Pin<Box<dyn Future<Output = Result<TransactionDetailResponse<Types>, GetTransactionDetailError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_transaction_detail is a method that retrieves the details of a\nspecific transaction from the blockchain. The transaction is identified\nby the given TransactionIdentifier.
source§

fn get_explorer_summary<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = Result<ExplorerSummary<Types>, GetExplorerSummaryError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_explorer_summary is a method that retrieves a summary overview of\nthe blockchain. This is useful for displaying information that\nindicates the overall status of the block chain.
source§

fn get_search_results<'life0, 'async_trait>(\n &'life0 self,\n query: String,\n) -> Pin<Box<dyn Future<Output = Result<SearchResult<Types>, GetSearchResultsError>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

get_search_results is a method that retrieves the results of a search\nquery against the blockchain. The results are generated from the given\nquery string.
","ExplorerDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n Header<Types>: QueryableHeader<Types>,\n S: VersionedDataSource + PruneStorage + HasMetrics + 'static,\n for<'a> S::Transaction<'a>: UpdateAvailabilityData<Types>,\n for<'a> S::ReadOnly<'a>: AvailabilityStorage<Types> + NodeStorage<Types> + PrunedHeightStorage,\n P: AvailabilityProvider<Types>,

source

pub fn builder(storage: S, provider: P) -> Builder<Types, S, P>

Build a FetchingDataSource with the given storage and provider.

\n
",0,"hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> HasMetrics for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: HasMetrics,

","HasMetrics","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P, State, const ARITY: usize> MerklizedStateDataSource<Types, State, ARITY> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: MerklizedStateStorage<Types, State, ARITY>,\n P: Send + Sync,\n State: MerklizedState<Types, ARITY> + 'static,\n <State as MerkleTreeScheme>::Commitment: Send,

source§

fn get_path<'life0, 'async_trait>(\n &'life0 self,\n snapshot: Snapshot<Types, State, ARITY>,\n key: State::Key,\n) -> Pin<Box<dyn Future<Output = QueryResult<MerkleProof<State::Entry, State::Key, State::T, ARITY>>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

","MerklizedStateDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> MerklizedStateHeightPersistence for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n Payload<Types>: QueryablePayload<Types>,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: MerklizedStateHeightStorage,\n P: Send + Sync,

source§

fn get_last_state_height<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

","MerklizedStateHeightPersistence","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> NodeDataSource<Types> for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + 'static,\n for<'a> S::ReadOnly<'a>: NodeStorage<Types>,\n P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn count_transactions<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn payload_size<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn vid_share<'life0, 'async_trait, ID>(\n &'life0 self,\n id: ID,\n) -> Pin<Box<dyn Future<Output = QueryResult<VidShare>> + Send + 'async_trait>>
where\n ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn sync_status<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<SyncStatus>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

Search the database for missing objects and generate a report.
source§

fn get_header_window<'life0, 'async_trait>(\n &'life0 self,\n start: impl 'async_trait + Into<WindowStart<Types>> + Send + Sync,\n end: u64,\n) -> Pin<Box<dyn Future<Output = QueryResult<TimeWindowQueryData<Header<Types>>>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

","NodeDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> StatusDataSource for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + HasMetrics + Send + Sync + 'static,\n for<'a> S::ReadOnly<'a>: NodeStorage<Types>,\n P: Send + Sync,

source§

fn block_height<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn consensus_metrics(&self) -> QueryResult<PrometheusMetrics>

source§

fn elapsed_time_since_last_decide<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<u64>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

source§

fn success_rate<'life0, 'async_trait>(\n &'life0 self,\n) -> Pin<Box<dyn Future<Output = QueryResult<f64>> + Send + 'async_trait>>
where\n Self: Sync + 'async_trait,\n 'life0: 'async_trait,

","StatusDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"],["
source§

impl<Types, S, P> VersionedDataSource for FetchingDataSource<Types, S, P>
where\n Types: NodeType,\n S: VersionedDataSource + Send + Sync,\n P: Send + Sync,

source§

type Transaction<'a> = Transaction<'a, Types, <S as VersionedDataSource>::Transaction<'a>>\nwhere\n Self: 'a

A transaction which can read and modify the data source.
source§

type ReadOnly<'a> = Transaction<'a, Types, <S as VersionedDataSource>::ReadOnly<'a>>\nwhere\n Self: 'a

source§

async fn write(&self) -> Result<Self::Transaction<'_>>

Start an atomic transaction on the data source.
source§

async fn read(&self) -> Result<Self::ReadOnly<'_>>

Start a read-only transaction on the data source. Read more
","VersionedDataSource","hotshot_query_service::data_source::fs::FileSystemDataSource","hotshot_query_service::data_source::sql::SqlDataSource"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[98961]} \ No newline at end of file +//{"start":55,"fragment_lengths":[99115]} \ No newline at end of file diff --git a/type.impl/hotshot_query_service/data_source/sql/type.SqlDataSource.js b/type.impl/hotshot_query_service/data_source/sql/type.SqlDataSource.js index 673e69a65..6d596c7fe 100644 --- a/type.impl/hotshot_query_service/data_source/sql/type.SqlDataSource.js +++ b/type.impl/hotshot_query_service/data_source/sql/type.SqlDataSource.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["hotshot_query_service",[["
source§

impl<P: AvailabilityProvider<MockTypes> + Default> DataSourceLifeCycle for SqlDataSource<MockTypes, P>

source§

type Storage = TmpDb

Backing storage for the data source. Read more
source§

fn create<'async_trait>(\n _node_id: usize,\n) -> Pin<Box<dyn Future<Output = Self::Storage> + Send + 'async_trait>>
where\n Self: 'async_trait,

source§

fn connect<'life0, 'async_trait>(\n tmp_db: &'life0 Self::Storage,\n) -> Pin<Box<dyn Future<Output = Self> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn reset<'life0, 'async_trait>(\n tmp_db: &'life0 Self::Storage,\n) -> Pin<Box<dyn Future<Output = Self> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn handle_event<'life0, 'life1, 'async_trait>(\n &'life0 self,\n event: &'life1 Event<MockTypes>,\n) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,\n 'life1: 'async_trait,

source§

fn setup<'life0, 'async_trait>(\n _network: &'life0 mut MockNetwork<Self>,\n) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

Setup runs after setting up the network but before starting a test.
","DataSourceLifeCycle","hotshot_query_service::testing::consensus::MockSqlDataSource"],["
source§

impl<Types, P: AvailabilityProvider<Types>> SqlDataSource<Types, P>
where\n Types: NodeType,\n Header<Types>: QueryableHeader<Types>,\n Payload<Types>: QueryablePayload<Types>,

source

pub async fn connect(\n config: Config,\n provider: P,\n) -> Result<Builder<Types, P>, Error>

Connect to a remote database.

\n

This function returns a fetching::Builder which can be used to set options on the\nunderlying FetchingDataSource, before constructing the SqlDataSource with\nbuild. For a convenient constructor that uses the default\nfetching options, see Config::connect.

\n
",0,"hotshot_query_service::testing::consensus::MockSqlDataSource"]]]]); + var type_impls = Object.fromEntries([["hotshot_query_service",[["
source§

impl<P: AvailabilityProvider<MockTypes> + Default> DataSourceLifeCycle for SqlDataSource<MockTypes, P>

source§

type Storage = TmpDb

Backing storage for the data source. Read more
source§

fn create<'async_trait>(\n _node_id: usize,\n) -> Pin<Box<dyn Future<Output = Self::Storage> + Send + 'async_trait>>
where\n Self: 'async_trait,

source§

fn connect<'life0, 'async_trait>(\n tmp_db: &'life0 Self::Storage,\n) -> Pin<Box<dyn Future<Output = Self> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn reset<'life0, 'async_trait>(\n tmp_db: &'life0 Self::Storage,\n) -> Pin<Box<dyn Future<Output = Self> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

source§

fn handle_event<'life0, 'life1, 'async_trait>(\n &'life0 self,\n event: &'life1 Event<MockTypes>,\n) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,\n 'life1: 'async_trait,

source§

fn setup<'life0, 'async_trait>(\n _network: &'life0 mut MockNetwork<Self>,\n) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where\n Self: 'async_trait,\n 'life0: 'async_trait,

Setup runs after setting up the network but before starting a test.
","DataSourceLifeCycle","hotshot_query_service::testing::consensus::MockSqlDataSource"],["
source§

impl<Types, P: AvailabilityProvider<Types>> SqlDataSource<Types, P>
where\n Types: NodeType,\n Header<Types>: QueryableHeader<Types>,\n Payload<Types>: QueryablePayload<Types>,

source

pub async fn connect(\n config: Config,\n provider: P,\n) -> Result<Builder<Types, P>, Error>

Connect to a remote database.

\n

This function returns a fetching::Builder which can be used to set options on the\nunderlying FetchingDataSource, before constructing the SqlDataSource with\nbuild. For a convenient constructor that uses the default\nfetching options, see Config::connect.

\n
",0,"hotshot_query_service::testing::consensus::MockSqlDataSource"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[13733]} \ No newline at end of file +//{"start":55,"fragment_lengths":[13756]} \ No newline at end of file diff --git a/type.impl/hotshot_query_service/data_source/storage/sql/struct.Config.js b/type.impl/hotshot_query_service/data_source/storage/sql/struct.Config.js deleted file mode 100644 index 9c888cbf3..000000000 --- a/type.impl/hotshot_query_service/data_source/storage/sql/struct.Config.js +++ /dev/null @@ -1,9 +0,0 @@ -(function() { - var type_impls = Object.fromEntries([["hotshot_query_service",[["
source§

impl<DB> Clone for Config<DB>
where\n DB: Database + Clone,\n DB::Connection: Clone,

source§

fn clone(&self) -> Config<DB>

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","hotshot_query_service::data_source::sql::Config"],["
source§

impl<DB: Database> Config<DB>

source

pub fn schema(self, schema: impl Into<String>) -> Self

Set the name of the schema to use for queries.

\n

The default schema is named hotshot and is created via the default migrations.

\n
source

pub fn reset_schema(self) -> Self

Reset the schema on connection.

\n

When this Config is used to connect a\nSqlDataSource, if this option is set, the relevant\nschema will first be dropped and then recreated, yielding a completely\nfresh instance of the query service.

\n

This is a particularly useful capability for development and staging environments. Still, it\nmust be used with extreme caution, as using this will irrevocably delete any data pertaining\nto the query service in the database.

\n
source

pub fn migrations(self, migrations: impl IntoIterator<Item = Migration>) -> Self

Add custom migrations to run when connecting to the database.

\n
source

pub fn no_migrations(self) -> Self

Skip all migrations when connecting to the database.

\n
source

pub fn pruner_cfg(self, cfg: PrunerCfg) -> Result<Self, Error>

Enable pruning with a given configuration.

\n

If archive was previously specified, this will override it.

\n
source

pub fn archive(self) -> Self

Disable pruning and reconstruct previously pruned data.

\n

While running without pruning is the default behavior, the default will not try to\nreconstruct data that was pruned in a previous run where pruning was enabled. This option\ninstructs the service to run without pruning and reconstruct all previously pruned data by\nfetching from peers.

\n

If pruner_cfg was previously specified, this will override it.

\n
source

pub fn idle_connection_timeout(self, timeout: Duration) -> Self

Set the maximum idle time of a connection.

\n

Any connection which has been open and unused longer than this duration will be\nautomatically closed to reduce load on the server.

\n
source

pub fn connection_timeout(self, timeout: Duration) -> Self

Set the maximum lifetime of a connection.

\n

Any connection which has been open longer than this duration will be automatically closed\n(and, if needed, replaced), even if it is otherwise healthy. It is good practice to refresh\neven healthy connections once in a while (e.g. daily) in case of resource leaks in the\nserver implementation.

\n
source

pub fn min_connections(self, min: u32) -> Self

Set the minimum number of connections to maintain at any time.

\n

The data source will, to the best of its ability, maintain at least min open connections\nat all times. This can be used to reduce the latency hit of opening new connections when at\nleast this many simultaneous connections are frequently needed.

\n
source

pub fn max_connections(self, max: u32) -> Self

Set the maximum number of connections to maintain at any time.

\n

Once max connections are in use simultaneously, further attempts to acquire a connection\n(or begin a transaction) will block until one of the existing connections is released.

\n
",0,"hotshot_query_service::data_source::sql::Config"],["
source§

impl Config<Postgres>

source

pub fn host(self, host: impl Into<String>) -> Self

Set the hostname of the database server.

\n

The default is localhost.

\n
source

pub fn port(self, port: u16) -> Self

Set the port on which to connect to the database.

\n

The default is 5432, the default Postgres port.

\n
source

pub fn user(self, user: &str) -> Self

Set the DB user to connect as.

\n
source

pub fn password(self, password: &str) -> Self

Set a password for connecting to the database.

\n
source

pub fn database(self, database: &str) -> Self

Set the name of the database to connect to.

\n
source

pub fn tls(self) -> Self

Use TLS for an encrypted connection to the database.

\n

Note that an encrypted connection may be established even if this option is not set, as long\nas both the client and server support it. This option merely causes connection to fail if an\nencrypted stream cannot be established.

\n
",0,"hotshot_query_service::data_source::sql::Config"],["
source§

impl<DB> Debug for Config<DB>
where\n DB: Database + Debug,\n DB::Connection: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","hotshot_query_service::data_source::sql::Config"],["
source§

impl Default for Config<Postgres>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
","Default","hotshot_query_service::data_source::sql::Config"],["
source§

impl From<PgConnectOptions> for Config<Postgres>

source§

fn from(db_opt: PgConnectOptions) -> Self

Converts to this type from the input type.
","From","hotshot_query_service::data_source::sql::Config"],["
source§

impl FromStr for Config<Postgres>

source§

type Err = <PgConnectOptions as FromStr>::Err

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
","FromStr","hotshot_query_service::data_source::sql::Config"]]]]); - if (window.register_type_impls) { - window.register_type_impls(type_impls); - } else { - window.pending_type_impls = type_impls; - } -})() -//{"start":55,"fragment_lengths":[27493]} \ No newline at end of file diff --git a/type.impl/hotshot_query_service/data_source/storage/sql/struct.Postgres.js b/type.impl/hotshot_query_service/data_source/storage/sql/struct.Postgres.js deleted file mode 100644 index 450e6b2c8..000000000 --- a/type.impl/hotshot_query_service/data_source/storage/sql/struct.Postgres.js +++ /dev/null @@ -1,9 +0,0 @@ -(function() { - var type_impls = Object.fromEntries([["hotshot_query_service",[["
§

impl Database for Postgres

§

type Connection = PgConnection

The concrete Connection implementation for this database.
§

type TransactionManager = PgTransactionManager

The concrete TransactionManager implementation for this database.
§

type Row = PgRow

The concrete Row implementation for this database.
§

type QueryResult = PgQueryResult

The concrete QueryResult implementation for this database.
§

type Column = PgColumn

The concrete Column implementation for this database.
§

type TypeInfo = PgTypeInfo

The concrete TypeInfo implementation for this database.
§

type Value = PgValue

The concrete type used to hold an owned copy of the not-yet-decoded value that was\nreceived from the database.
§

type ValueRef<'r> = PgValueRef<'r>

The concrete type used to hold a reference to the not-yet-decoded value that has just been\nreceived from the database.
§

type Arguments<'q> = PgArguments

The concrete Arguments implementation for this database.
§

type ArgumentBuffer<'q> = PgArgumentBuffer

The concrete type used as a buffer for arguments while encoding.
§

type Statement<'q> = PgStatement<'q>

The concrete Statement implementation for this database.
§

const NAME: &'static str = "PostgreSQL"

The display name for this database driver.
§

const URL_SCHEMES: &'static [&'static str] = _

The schemes for database URLs that should match this driver.
","Database","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl Debug for Postgres

§

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

Formats the value using the given formatter. Read more
","Debug","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl MigrateDatabase for Postgres

§

fn create_database(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn database_exists(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + '_>>

§

fn drop_database(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn force_drop_database(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

","MigrateDatabase","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl TestSupport for Postgres

§

fn test_context(\n args: &TestArgs,\n) -> Pin<Box<dyn Future<Output = Result<TestContext<Postgres>, Error>> + Send + '_>>

Get parameters to construct a Pool suitable for testing. Read more
§

fn cleanup_test(\n db_name: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn cleanup_test_dbs() -> Pin<Box<dyn Future<Output = Result<Option<usize>, Error>> + Send>>

Cleanup any test databases that are no longer in-use. Read more
§

fn snapshot(\n _conn: &mut <Postgres as Database>::Connection,\n) -> Pin<Box<dyn Future<Output = Result<FixtureSnapshot<Postgres>, Error>> + Send + '_>>

Take a snapshot of the current state of the database (data only). Read more
","TestSupport","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl TypeChecking for Postgres

§

const PARAM_CHECKING: ParamChecking = ::sqlx_core::type_checking::ParamChecking::Strong

Describes how the database in question typechecks query parameters.
§

fn param_type_for_id(\n info: &<Postgres as Database>::TypeInfo,\n) -> Option<&'static str>

Get the full path of the Rust type that corresponds to the given TypeInfo, if applicable. Read more
§

fn return_type_for_id(\n info: &<Postgres as Database>::TypeInfo,\n) -> Option<&'static str>

Get the full path of the Rust type that corresponds to the given TypeInfo, if applicable. Read more
§

fn get_feature_gate(\n info: &<Postgres as Database>::TypeInfo,\n) -> Option<&'static str>

Get the name of the Cargo feature gate that must be enabled to process the given TypeInfo,\nif applicable.
§

fn fmt_value_debug(\n value: &<Postgres as Database>::Value,\n) -> FmtValue<'_, Postgres>

If value is a well-known type, decode and format it using Debug. Read more
","TypeChecking","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl HasStatementCache for Postgres

","HasStatementCache","hotshot_query_service::data_source::storage::sql::db::Db"]]]]); - if (window.register_type_impls) { - window.register_type_impls(type_impls); - } else { - window.pending_type_impls = type_impls; - } -})() -//{"start":55,"fragment_lengths":[27608]} \ No newline at end of file diff --git a/type.impl/sqlx_postgres/database/struct.Postgres.js b/type.impl/sqlx_postgres/database/struct.Postgres.js new file mode 100644 index 000000000..57c3bf3d5 --- /dev/null +++ b/type.impl/sqlx_postgres/database/struct.Postgres.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["hotshot_query_service",[["
§

impl Database for Postgres

§

type Connection = PgConnection

The concrete Connection implementation for this database.
§

type TransactionManager = PgTransactionManager

The concrete TransactionManager implementation for this database.
§

type Row = PgRow

The concrete Row implementation for this database.
§

type QueryResult = PgQueryResult

The concrete QueryResult implementation for this database.
§

type Column = PgColumn

The concrete Column implementation for this database.
§

type TypeInfo = PgTypeInfo

The concrete TypeInfo implementation for this database.
§

type Value = PgValue

The concrete type used to hold an owned copy of the not-yet-decoded value that was\nreceived from the database.
§

type ValueRef<'r> = PgValueRef<'r>

The concrete type used to hold a reference to the not-yet-decoded value that has just been\nreceived from the database.
§

type Arguments<'q> = PgArguments

The concrete Arguments implementation for this database.
§

type ArgumentBuffer<'q> = PgArgumentBuffer

The concrete type used as a buffer for arguments while encoding.
§

type Statement<'q> = PgStatement<'q>

The concrete Statement implementation for this database.
§

const NAME: &'static str = "PostgreSQL"

The display name for this database driver.
§

const URL_SCHEMES: &'static [&'static str] = _

The schemes for database URLs that should match this driver.
","Database","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl Debug for Postgres

§

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

Formats the value using the given formatter. Read more
","Debug","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl MigrateDatabase for Postgres

§

fn create_database(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn database_exists(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + '_>>

§

fn drop_database(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn force_drop_database(\n url: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

","MigrateDatabase","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl TestSupport for Postgres

§

fn test_context(\n args: &TestArgs,\n) -> Pin<Box<dyn Future<Output = Result<TestContext<Postgres>, Error>> + Send + '_>>

Get parameters to construct a Pool suitable for testing. Read more
§

fn cleanup_test(\n db_name: &str,\n) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>

§

fn cleanup_test_dbs() -> Pin<Box<dyn Future<Output = Result<Option<usize>, Error>> + Send>>

Cleanup any test databases that are no longer in-use. Read more
§

fn snapshot(\n _conn: &mut <Postgres as Database>::Connection,\n) -> Pin<Box<dyn Future<Output = Result<FixtureSnapshot<Postgres>, Error>> + Send + '_>>

Take a snapshot of the current state of the database (data only). Read more
","TestSupport","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl TypeChecking for Postgres

§

const PARAM_CHECKING: ParamChecking = ::sqlx_core::type_checking::ParamChecking::Strong

Describes how the database in question typechecks query parameters.
§

fn param_type_for_id(\n info: &<Postgres as Database>::TypeInfo,\n) -> Option<&'static str>

Get the full path of the Rust type that corresponds to the given TypeInfo, if applicable. Read more
§

fn return_type_for_id(\n info: &<Postgres as Database>::TypeInfo,\n) -> Option<&'static str>

Get the full path of the Rust type that corresponds to the given TypeInfo, if applicable. Read more
§

fn get_feature_gate(\n info: &<Postgres as Database>::TypeInfo,\n) -> Option<&'static str>

Get the name of the Cargo feature gate that must be enabled to process the given TypeInfo,\nif applicable.
§

fn fmt_value_debug(\n value: &<Postgres as Database>::Value,\n) -> FmtValue<'_, Postgres>

If value is a well-known type, decode and format it using Debug. Read more
","TypeChecking","hotshot_query_service::data_source::storage::sql::db::Db"],["
§

impl HasStatementCache for Postgres

","HasStatementCache","hotshot_query_service::data_source::storage::sql::db::Db"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[25144]} \ No newline at end of file diff --git a/type.impl/time/offset_date_time/struct.OffsetDateTime.js b/type.impl/time/offset_date_time/struct.OffsetDateTime.js index 2c38d5691..07f6cdbc9 100644 --- a/type.impl/time/offset_date_time/struct.OffsetDateTime.js +++ b/type.impl/time/offset_date_time/struct.OffsetDateTime.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["hotshot_query_service",[["
§

impl Add<Duration> for OffsetDateTime

§

fn add(self, duration: Duration) -> <OffsetDateTime as Add<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the + operator.
","Add","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Add<Duration> for OffsetDateTime

§

fn add(self, duration: Duration) -> <OffsetDateTime as Add<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the + operator.
","Add","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl AddAssign<Duration> for OffsetDateTime

§

fn add_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","AddAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl AddAssign<Duration> for OffsetDateTime

§

fn add_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","AddAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Clone for OffsetDateTime

§

fn clone(&self) -> OffsetDateTime

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","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Debug for OffsetDateTime

§

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

Formats the value using the given formatter. Read more
","Debug","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl<'r> Decode<'r, Postgres> for OffsetDateTime

§

fn decode(\n value: PgValueRef<'r>,\n) -> Result<OffsetDateTime, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
","Decode<'r, Postgres>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl<'r> Decode<'r, Sqlite> for OffsetDateTime

§

fn decode(\n value: SqliteValueRef<'r>,\n) -> Result<OffsetDateTime, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
","Decode<'r, Sqlite>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Display for OffsetDateTime

§

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

Formats the value using the given formatter. Read more
","Display","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Encode<'_, Postgres> for OffsetDateTime

§

fn encode_by_ref(\n &self,\n buf: &mut PgArgumentBuffer,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn size_hint(&self) -> usize

§

fn encode(\n self,\n buf: &mut <DB as Database>::ArgumentBuffer<'q>,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where\n Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

","Encode<'_, Postgres>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Encode<'_, Sqlite> for OffsetDateTime

§

fn encode_by_ref(\n &self,\n buf: &mut Vec<SqliteArgumentValue<'_>>,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode(\n self,\n buf: &mut <DB as Database>::ArgumentBuffer<'q>,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where\n Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

","Encode<'_, Sqlite>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl From<SystemTime> for OffsetDateTime

§

fn from(system_time: SystemTime) -> OffsetDateTime

Converts to this type from the input type.
","From","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Hash for OffsetDateTime

§

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

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

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

Feeds a slice of this type into the given Hasher. Read more
","Hash","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

Methods that replace part of the OffsetDateTime.

\n

pub const fn replace_time(self, time: Time) -> OffsetDateTime

Replace the time, which is assumed to be in the stored offset. The date and offset\ncomponents are unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 5:00 UTC).replace_time(time!(12:00)),\n    datetime!(2020-01-01 12:00 UTC)\n);\nassert_eq!(\n    datetime!(2020-01-01 12:00 -5).replace_time(time!(7:00)),\n    datetime!(2020-01-01 7:00 -5)\n);\nassert_eq!(\n    datetime!(2020-01-01 0:00 +1).replace_time(time!(12:00)),\n    datetime!(2020-01-01 12:00 +1)\n);
\n

pub const fn replace_date(self, date: Date) -> OffsetDateTime

Replace the date, which is assumed to be in the stored offset. The time and offset\ncomponents are unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 12:00 UTC).replace_date(date!(2020-01-30)),\n    datetime!(2020-01-30 12:00 UTC)\n);\nassert_eq!(\n    datetime!(2020-01-01 0:00 +1).replace_date(date!(2020-01-30)),\n    datetime!(2020-01-30 0:00 +1)\n);
\n

pub const fn replace_date_time(\n self,\n date_time: PrimitiveDateTime,\n) -> OffsetDateTime

Replace the date and time, which are assumed to be in the stored offset. The offset\ncomponent remains unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 12:00 UTC).replace_date_time(datetime!(2020-01-30 16:00)),\n    datetime!(2020-01-30 16:00 UTC)\n);\nassert_eq!(\n    datetime!(2020-01-01 12:00 +1).replace_date_time(datetime!(2020-01-30 0:00)),\n    datetime!(2020-01-30 0:00 +1)\n);
\n

pub const fn replace_offset(self, offset: UtcOffset) -> OffsetDateTime

Replace the offset. The date and time components remain unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00 UTC).replace_offset(offset!(-5)),\n    datetime!(2020-01-01 0:00 -5)\n);
\n

pub const fn replace_year(\n self,\n year: i32,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the year. The month and day will be unchanged.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 12:00 +01).replace_year(2019),\n    Ok(datetime!(2019 - 02 - 18 12:00 +01))\n);\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_year(-1_000_000_000).is_err()); // -1_000_000_000 isn't a valid year\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_year(1_000_000_000).is_err()); // 1_000_000_000 isn't a valid year
\n

pub const fn replace_month(\n self,\n month: Month,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the month of the year.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 12:00 +01).replace_month(Month::January),\n    Ok(datetime!(2022 - 01 - 18 12:00 +01))\n);\nassert!(datetime!(2022 - 01 - 30 12:00 +01).replace_month(Month::February).is_err()); // 30 isn't a valid day in February
\n

pub const fn replace_day(\n self,\n day: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the day of the month.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 12:00 +01).replace_day(1),\n    Ok(datetime!(2022 - 02 - 01 12:00 +01))\n);\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_day(0).is_err()); // 00 isn't a valid day\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_day(30).is_err()); // 30 isn't a valid day in February
\n

pub const fn replace_ordinal(\n self,\n ordinal: u16,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the day of the year.

\n\n
assert_eq!(datetime!(2022-049 12:00 +01).replace_ordinal(1), Ok(datetime!(2022-001 12:00 +01)));\nassert!(datetime!(2022-049 12:00 +01).replace_ordinal(0).is_err()); // 0 isn't a valid ordinal\nassert!(datetime!(2022-049 12:00 +01).replace_ordinal(366).is_err()); // 2022 isn't a leap year
\n

pub const fn replace_hour(\n self,\n hour: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the clock hour.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_hour(7),\n    Ok(datetime!(2022 - 02 - 18 07:02:03.004_005_006 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_hour(24).is_err()); // 24 isn't a valid hour
\n

pub const fn replace_minute(\n self,\n minute: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the minutes within the hour.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_minute(7),\n    Ok(datetime!(2022 - 02 - 18 01:07:03.004_005_006 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_minute(60).is_err()); // 60 isn't a valid minute
\n

pub const fn replace_second(\n self,\n second: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the seconds within the minute.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_second(7),\n    Ok(datetime!(2022 - 02 - 18 01:02:07.004_005_006 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_second(60).is_err()); // 60 isn't a valid second
\n

pub const fn replace_millisecond(\n self,\n millisecond: u16,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the milliseconds within the second.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_millisecond(7),\n    Ok(datetime!(2022 - 02 - 18 01:02:03.007 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_millisecond(1_000).is_err()); // 1_000 isn't a valid millisecond
\n

pub const fn replace_microsecond(\n self,\n microsecond: u32,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the microseconds within the second.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_microsecond(7_008),\n    Ok(datetime!(2022 - 02 - 18 01:02:03.007_008 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_microsecond(1_000_000).is_err()); // 1_000_000 isn't a valid microsecond
\n

pub const fn replace_nanosecond(\n self,\n nanosecond: u32,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the nanoseconds within the second.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_nanosecond(7_008_009),\n    Ok(datetime!(2022 - 02 - 18 01:02:03.007_008_009 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_nanosecond(1_000_000_000).is_err()); // 1_000_000_000 isn't a valid nanosecond
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

pub fn format_into(\n self,\n output: &mut impl Write,\n format: &(impl Formattable + ?Sized),\n) -> Result<usize, Format>

Format the OffsetDateTime using the provided format\ndescription.

\n

pub fn format(\n self,\n format: &(impl Formattable + ?Sized),\n) -> Result<String, Format>

Format the OffsetDateTime using the provided format\ndescription.

\n\n
let format = format_description::parse(\n    \"[year]-[month]-[day] [hour]:[minute]:[second] [offset_hour \\\n         sign:mandatory]:[offset_minute]:[offset_second]\",\n)?;\nassert_eq!(\n    datetime!(2020-01-02 03:04:05 +06:07:08).format(&format)?,\n    \"2020-01-02 03:04:05 +06:07:08\"\n);
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

pub fn parse(\n input: &str,\n description: &(impl Parsable + ?Sized),\n) -> Result<OffsetDateTime, Parse>

Parse an OffsetDateTime from the input using the provided format\ndescription.

\n\n
let format = format_description!(\n    \"[year]-[month]-[day] [hour]:[minute]:[second] [offset_hour \\\n         sign:mandatory]:[offset_minute]:[offset_second]\"\n);\nassert_eq!(\n    OffsetDateTime::parse(\"2020-01-02 03:04:05 +06:07:08\", &format)?,\n    datetime!(2020-01-02 03:04:05 +06:07:08)\n);
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

pub const UNIX_EPOCH: OffsetDateTime = _

Midnight, 1 January, 1970 (UTC).

\n\n
assert_eq!(OffsetDateTime::UNIX_EPOCH, datetime!(1970-01-01 0:00 UTC),);
\n

pub fn now_utc() -> OffsetDateTime

Create a new OffsetDateTime with the current date and time in UTC.

\n\n
assert!(OffsetDateTime::now_utc().year() >= 2019);\nassert_eq!(OffsetDateTime::now_utc().offset(), offset!(UTC));
\n

pub const fn new_in_offset(\n date: Date,\n time: Time,\n offset: UtcOffset,\n) -> OffsetDateTime

Create a new OffsetDateTime with the given [Date], [Time], and [UtcOffset].

\n\n
let dt = OffsetDateTime::new_in_offset(\n    Date::from_calendar_date(2024, Month::January, 1)?,\n    Time::from_hms_nano(12, 59, 59, 500_000_000)?,\n    UtcOffset::from_hms(-5, 0, 0)?,\n);\nassert_eq!(dt, datetime!(2024-01-01 12:59:59.5 -5));
\n

pub const fn new_utc(date: Date, time: Time) -> OffsetDateTime

Create a new OffsetDateTime with the given [Date] and [Time] in the UTC timezone.

\n\n
let dt = OffsetDateTime::new_utc(\n    Date::from_calendar_date(2024, Month::January, 1)?,\n    Time::from_hms_nano(12, 59, 59, 500_000_000)?,\n);\nassert_eq!(dt, datetime!(2024-01-01 12:59:59.5 UTC));
\n

pub const fn to_offset(self, offset: UtcOffset) -> OffsetDateTime

Convert the OffsetDateTime from the current [UtcOffset] to the provided [UtcOffset].

\n\n
assert_eq!(\n    datetime!(2000-01-01 0:00 UTC)\n        .to_offset(offset!(-1))\n        .year(),\n    1999,\n);\n\n// Let's see what time Sydney's new year's celebration is in New York and Los Angeles.\n\n// Construct midnight on new year's in Sydney.\nlet sydney = datetime!(2000-01-01 0:00 +11);\nlet new_york = sydney.to_offset(offset!(-5));\nlet los_angeles = sydney.to_offset(offset!(-8));\nassert_eq!(sydney.hour(), 0);\nassert_eq!(new_york.hour(), 8);\nassert_eq!(los_angeles.hour(), 5);
\n
§Panics
\n

This method panics if the local date-time in the new offset is outside the supported range.

\n

pub const fn checked_to_offset(\n self,\n offset: UtcOffset,\n) -> Option<OffsetDateTime>

Convert the OffsetDateTime from the current [UtcOffset] to the provided [UtcOffset],\nreturning None if the date-time in the resulting offset is invalid.

\n\n
assert_eq!(\n    datetime!(2000-01-01 0:00 UTC)\n        .checked_to_offset(offset!(-1))\n        .unwrap()\n        .year(),\n    1999,\n);\nassert_eq!(\n    PrimitiveDateTime::MAX\n        .assume_utc()\n        .checked_to_offset(offset!(+1)),\n    None,\n);
\n

pub const fn from_unix_timestamp(\n timestamp: i64,\n) -> Result<OffsetDateTime, ComponentRange>

Create an OffsetDateTime from the provided Unix timestamp. Calling .offset() on the\nresulting value is guaranteed to return UTC.

\n\n
assert_eq!(\n    OffsetDateTime::from_unix_timestamp(0),\n    Ok(OffsetDateTime::UNIX_EPOCH),\n);\nassert_eq!(\n    OffsetDateTime::from_unix_timestamp(1_546_300_800),\n    Ok(datetime!(2019-01-01 0:00 UTC)),\n);
\n

If you have a timestamp-nanosecond pair, you can use something along the lines of the\nfollowing:

\n\n
let (timestamp, nanos) = (1, 500_000_000);\nassert_eq!(\n    OffsetDateTime::from_unix_timestamp(timestamp)? + Duration::nanoseconds(nanos),\n    OffsetDateTime::UNIX_EPOCH + 1.5.seconds()\n);
\n

pub const fn from_unix_timestamp_nanos(\n timestamp: i128,\n) -> Result<OffsetDateTime, ComponentRange>

Construct an OffsetDateTime from the provided Unix timestamp (in nanoseconds). Calling\n.offset() on the resulting value is guaranteed to return UTC.

\n\n
assert_eq!(\n    OffsetDateTime::from_unix_timestamp_nanos(0),\n    Ok(OffsetDateTime::UNIX_EPOCH),\n);\nassert_eq!(\n    OffsetDateTime::from_unix_timestamp_nanos(1_546_300_800_000_000_000),\n    Ok(datetime!(2019-01-01 0:00 UTC)),\n);
\n

pub const fn offset(self) -> UtcOffset

Get the [UtcOffset].

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).offset(), offset!(UTC));\nassert_eq!(datetime!(2019-01-01 0:00 +1).offset(), offset!(+1));
\n

pub const fn unix_timestamp(self) -> i64

Get the Unix timestamp.

\n\n
assert_eq!(datetime!(1970-01-01 0:00 UTC).unix_timestamp(), 0);\nassert_eq!(datetime!(1970-01-01 0:00 -1).unix_timestamp(), 3_600);
\n

pub const fn unix_timestamp_nanos(self) -> i128

Get the Unix timestamp in nanoseconds.

\n\n
use time_macros::datetime;\nassert_eq!(datetime!(1970-01-01 0:00 UTC).unix_timestamp_nanos(), 0);\nassert_eq!(\n    datetime!(1970-01-01 0:00 -1).unix_timestamp_nanos(),\n    3_600_000_000_000,\n);
\n

pub const fn date(self) -> Date

Get the [Date] in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).date(), date!(2019-01-01));\nassert_eq!(\n    datetime!(2019-01-01 0:00 UTC)\n        .to_offset(offset!(-1))\n        .date(),\n    date!(2018-12-31),\n);
\n

pub const fn time(self) -> Time

Get the [Time] in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).time(), time!(0:00));\nassert_eq!(\n    datetime!(2019-01-01 0:00 UTC)\n        .to_offset(offset!(-1))\n        .time(),\n    time!(23:00)\n);
\n

pub const fn year(self) -> i32

Get the year of the date in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).year(), 2019);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .year(),\n    2020,\n);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).year(), 2020);
\n

pub const fn month(self) -> Month

Get the month of the date in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).month(), Month::January);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .month(),\n    Month::January,\n);
\n

pub const fn day(self) -> u8

Get the day of the date in the stored offset.

\n

The returned value will always be in the range 1..=31.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).day(), 1);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .day(),\n    1,\n);
\n

pub const fn ordinal(self) -> u16

Get the day of the year of the date in the stored offset.

\n

The returned value will always be in the range 1..=366.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).ordinal(), 1);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .ordinal(),\n    1,\n);
\n

pub const fn iso_week(self) -> u8

Get the ISO week number of the date in the stored offset.

\n

The returned value will always be in the range 1..=53.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).iso_week(), 1);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).iso_week(), 1);\nassert_eq!(datetime!(2020-12-31 0:00 UTC).iso_week(), 53);\nassert_eq!(datetime!(2021-01-01 0:00 UTC).iso_week(), 53);
\n

pub const fn sunday_based_week(self) -> u8

Get the week number where week 1 begins on the first Sunday.

\n

The returned value will always be in the range 0..=53.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).sunday_based_week(), 0);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).sunday_based_week(), 0);\nassert_eq!(datetime!(2020-12-31 0:00 UTC).sunday_based_week(), 52);\nassert_eq!(datetime!(2021-01-01 0:00 UTC).sunday_based_week(), 0);
\n

pub const fn monday_based_week(self) -> u8

Get the week number where week 1 begins on the first Monday.

\n

The returned value will always be in the range 0..=53.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).monday_based_week(), 0);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).monday_based_week(), 0);\nassert_eq!(datetime!(2020-12-31 0:00 UTC).monday_based_week(), 52);\nassert_eq!(datetime!(2021-01-01 0:00 UTC).monday_based_week(), 0);
\n

pub const fn to_calendar_date(self) -> (i32, Month, u8)

Get the year, month, and day.

\n\n
assert_eq!(\n    datetime!(2019-01-01 0:00 UTC).to_calendar_date(),\n    (2019, Month::January, 1)\n);
\n

pub const fn to_ordinal_date(self) -> (i32, u16)

Get the year and ordinal day number.

\n\n
assert_eq!(\n    datetime!(2019-01-01 0:00 UTC).to_ordinal_date(),\n    (2019, 1)\n);
\n

pub const fn to_iso_week_date(self) -> (i32, u8, Weekday)

Get the ISO 8601 year, week number, and weekday.

\n\n
assert_eq!(\n    datetime!(2019-01-01 0:00 UTC).to_iso_week_date(),\n    (2019, 1, Tuesday)\n);\nassert_eq!(\n    datetime!(2019-10-04 0:00 UTC).to_iso_week_date(),\n    (2019, 40, Friday)\n);\nassert_eq!(\n    datetime!(2020-01-01 0:00 UTC).to_iso_week_date(),\n    (2020, 1, Wednesday)\n);\nassert_eq!(\n    datetime!(2020-12-31 0:00 UTC).to_iso_week_date(),\n    (2020, 53, Thursday)\n);\nassert_eq!(\n    datetime!(2021-01-01 0:00 UTC).to_iso_week_date(),\n    (2020, 53, Friday)\n);
\n

pub const fn weekday(self) -> Weekday

Get the weekday of the date in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).weekday(), Tuesday);\nassert_eq!(datetime!(2019-02-01 0:00 UTC).weekday(), Friday);\nassert_eq!(datetime!(2019-03-01 0:00 UTC).weekday(), Friday);
\n

pub const fn to_julian_day(self) -> i32

Get the Julian day for the date. The time is not taken into account for this calculation.

\n

The algorithm to perform this conversion is derived from one provided by Peter Baum; it is\nfreely available here.

\n\n
assert_eq!(datetime!(-4713-11-24 0:00 UTC).to_julian_day(), 0);\nassert_eq!(datetime!(2000-01-01 0:00 UTC).to_julian_day(), 2_451_545);\nassert_eq!(datetime!(2019-01-01 0:00 UTC).to_julian_day(), 2_458_485);\nassert_eq!(datetime!(2019-12-31 0:00 UTC).to_julian_day(), 2_458_849);
\n

pub const fn to_hms(self) -> (u8, u8, u8)

Get the clock hour, minute, and second.

\n\n
assert_eq!(datetime!(2020-01-01 0:00:00 UTC).to_hms(), (0, 0, 0));\nassert_eq!(datetime!(2020-01-01 23:59:59 UTC).to_hms(), (23, 59, 59));
\n

pub const fn to_hms_milli(self) -> (u8, u8, u8, u16)

Get the clock hour, minute, second, and millisecond.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00:00 UTC).to_hms_milli(),\n    (0, 0, 0, 0)\n);\nassert_eq!(\n    datetime!(2020-01-01 23:59:59.999 UTC).to_hms_milli(),\n    (23, 59, 59, 999)\n);
\n

pub const fn to_hms_micro(self) -> (u8, u8, u8, u32)

Get the clock hour, minute, second, and microsecond.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00:00 UTC).to_hms_micro(),\n    (0, 0, 0, 0)\n);\nassert_eq!(\n    datetime!(2020-01-01 23:59:59.999_999 UTC).to_hms_micro(),\n    (23, 59, 59, 999_999)\n);
\n

pub const fn to_hms_nano(self) -> (u8, u8, u8, u32)

Get the clock hour, minute, second, and nanosecond.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00:00 UTC).to_hms_nano(),\n    (0, 0, 0, 0)\n);\nassert_eq!(\n    datetime!(2020-01-01 23:59:59.999_999_999 UTC).to_hms_nano(),\n    (23, 59, 59, 999_999_999)\n);
\n

pub const fn hour(self) -> u8

Get the clock hour in the stored offset.

\n

The returned value will always be in the range 0..24.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).hour(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59 UTC)\n        .to_offset(offset!(-2))\n        .hour(),\n    21,\n);
\n

pub const fn minute(self) -> u8

Get the minute within the hour in the stored offset.

\n

The returned value will always be in the range 0..60.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).minute(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59 UTC)\n        .to_offset(offset!(+0:30))\n        .minute(),\n    29,\n);
\n

pub const fn second(self) -> u8

Get the second within the minute in the stored offset.

\n

The returned value will always be in the range 0..60.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).second(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59 UTC)\n        .to_offset(offset!(+0:00:30))\n        .second(),\n    29,\n);
\n

pub const fn millisecond(self) -> u16

Get the milliseconds within the second in the stored offset.

\n

The returned value will always be in the range 0..1_000.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).millisecond(), 0);\nassert_eq!(datetime!(2019-01-01 23:59:59.999 UTC).millisecond(), 999);
\n

pub const fn microsecond(self) -> u32

Get the microseconds within the second in the stored offset.

\n

The returned value will always be in the range 0..1_000_000.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).microsecond(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59.999_999 UTC).microsecond(),\n    999_999,\n);
\n

pub const fn nanosecond(self) -> u32

Get the nanoseconds within the second in the stored offset.

\n

The returned value will always be in the range 0..1_000_000_000.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).nanosecond(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59.999_999_999 UTC).nanosecond(),\n    999_999_999,\n);
\n

pub const fn checked_add(self, duration: Duration) -> Option<OffsetDateTime>

Computes self + duration, returning None if an overflow occurred.

\n\n
let datetime = Date::MIN.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_add((-2).days()), None);\n\nlet datetime = Date::MAX.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_add(2.days()), None);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).checked_add(27.hours()),\n    Some(datetime!(2019 - 11 - 26 18:30 +10))\n);
\n

pub const fn checked_sub(self, duration: Duration) -> Option<OffsetDateTime>

Computes self - duration, returning None if an overflow occurred.

\n\n
let datetime = Date::MIN.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_sub(2.days()), None);\n\nlet datetime = Date::MAX.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_sub((-2).days()), None);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).checked_sub(27.hours()),\n    Some(datetime!(2019 - 11 - 24 12:30 +10))\n);
\n

pub const fn saturating_add(self, duration: Duration) -> OffsetDateTime

Computes self + duration, saturating value on overflow.

\n\n
assert_eq!(\n    datetime!(-9999-01-01 0:00 +10).saturating_add((-2).days()),\n    datetime!(-9999-01-01 0:00 +10)\n);\n\nassert_eq!(\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10).saturating_add(2.days()),\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10)\n);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).saturating_add(27.hours()),\n    datetime!(2019 - 11 - 26 18:30 +10)\n);
\n

pub const fn saturating_sub(self, duration: Duration) -> OffsetDateTime

Computes self - duration, saturating value on overflow.

\n\n
assert_eq!(\n    datetime!(-9999-01-01 0:00 +10).saturating_sub(2.days()),\n    datetime!(-9999-01-01 0:00 +10)\n);\n\nassert_eq!(\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10).saturating_sub((-2).days()),\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10)\n);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).saturating_sub(27.hours()),\n    datetime!(2019 - 11 - 24 12:30 +10)\n);
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Ord for OffsetDateTime

§

fn cmp(&self, other: &OffsetDateTime) -> 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","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialEq<SystemTime> for OffsetDateTime

§

fn eq(&self, rhs: &SystemTime) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialEq for OffsetDateTime

§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialOrd<SystemTime> for OffsetDateTime

§

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

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

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the >\noperator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
","PartialOrd","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialOrd for OffsetDateTime

§

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

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

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the >\noperator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
","PartialOrd","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PgHasArrayType for OffsetDateTime

§

fn array_type_info() -> PgTypeInfo

§

fn array_compatible(ty: &PgTypeInfo) -> bool

","PgHasArrayType","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl SmartDisplay for OffsetDateTime

§

type Metadata = ()

User-provided metadata type.
§

fn metadata(&self, _: FormatterOptions) -> Metadata<'_, OffsetDateTime>

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_with_metadata(\n &self,\n f: &mut Formatter<'_>,\n metadata: Metadata<'_, OffsetDateTime>,\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
§

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

Format the value using the given formatter. This is the same as Display::fmt. Read more
","SmartDisplay","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub<Duration> for OffsetDateTime

§

fn sub(self, duration: Duration) -> <OffsetDateTime as Sub<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub<Duration> for OffsetDateTime

§

fn sub(self, rhs: Duration) -> <OffsetDateTime as Sub<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub<SystemTime> for OffsetDateTime

§

fn sub(self, rhs: SystemTime) -> <OffsetDateTime as Sub<SystemTime>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = Duration

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub for OffsetDateTime

§

fn sub(self, rhs: OffsetDateTime) -> <OffsetDateTime as Sub>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = Duration

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl SubAssign<Duration> for OffsetDateTime

§

fn sub_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","SubAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl SubAssign<Duration> for OffsetDateTime

§

fn sub_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","SubAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl TryFrom<Parsed> for OffsetDateTime

§

type Error = TryFromParsed

The type returned in the event of a conversion error.
§

fn try_from(\n parsed: Parsed,\n) -> Result<OffsetDateTime, <OffsetDateTime as TryFrom<Parsed>>::Error>

Performs the conversion.
","TryFrom","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Type<Postgres> for OffsetDateTime

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
","Type","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Type<Sqlite> for OffsetDateTime

§

fn type_info() -> SqliteTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &SqliteTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
","Type","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Copy for OffsetDateTime

","Copy","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Eq for OffsetDateTime

","Eq","hotshot_query_service::availability::query_data::Timestamp"]]]]); + var type_impls = Object.fromEntries([["hotshot_query_service",[["
§

impl Add<Duration> for OffsetDateTime

§

fn add(self, duration: Duration) -> <OffsetDateTime as Add<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the + operator.
","Add","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Add<Duration> for OffsetDateTime

§

fn add(self, duration: Duration) -> <OffsetDateTime as Add<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the + operator.
","Add","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl AddAssign<Duration> for OffsetDateTime

§

fn add_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","AddAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl AddAssign<Duration> for OffsetDateTime

§

fn add_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","AddAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Clone for OffsetDateTime

§

fn clone(&self) -> OffsetDateTime

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","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Debug for OffsetDateTime

§

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

Formats the value using the given formatter. Read more
","Debug","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl<'r> Decode<'r, Postgres> for OffsetDateTime

§

fn decode(\n value: PgValueRef<'r>,\n) -> Result<OffsetDateTime, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
","Decode<'r, Postgres>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl<'r> Decode<'r, Sqlite> for OffsetDateTime

§

fn decode(\n value: SqliteValueRef<'r>,\n) -> Result<OffsetDateTime, Box<dyn Error + Sync + Send>>

Decode a new value of this type using a raw value from the database.
","Decode<'r, Sqlite>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Display for OffsetDateTime

§

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

Formats the value using the given formatter. Read more
","Display","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Encode<'_, Postgres> for OffsetDateTime

§

fn encode_by_ref(\n &self,\n buf: &mut PgArgumentBuffer,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn size_hint(&self) -> usize

§

fn encode(\n self,\n buf: &mut <DB as Database>::ArgumentBuffer<'q>,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where\n Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

","Encode<'_, Postgres>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Encode<'_, Sqlite> for OffsetDateTime

§

fn encode_by_ref(\n &self,\n buf: &mut Vec<SqliteArgumentValue<'_>>,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>

Writes the value of self into buf without moving self. Read more
§

fn encode(\n self,\n buf: &mut <DB as Database>::ArgumentBuffer<'q>,\n) -> Result<IsNull, Box<dyn Error + Sync + Send>>
where\n Self: Sized,

Writes the value of self into buf in the expected format for the database.
§

fn produces(&self) -> Option<<DB as Database>::TypeInfo>

§

fn size_hint(&self) -> usize

","Encode<'_, Sqlite>","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl From<SystemTime> for OffsetDateTime

§

fn from(system_time: SystemTime) -> OffsetDateTime

Converts to this type from the input type.
","From","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Hash for OffsetDateTime

§

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

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

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

Feeds a slice of this type into the given Hasher. Read more
","Hash","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

Methods that replace part of the OffsetDateTime.

\n

pub const fn replace_time(self, time: Time) -> OffsetDateTime

Replace the time, which is assumed to be in the stored offset. The date and offset\ncomponents are unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 5:00 UTC).replace_time(time!(12:00)),\n    datetime!(2020-01-01 12:00 UTC)\n);\nassert_eq!(\n    datetime!(2020-01-01 12:00 -5).replace_time(time!(7:00)),\n    datetime!(2020-01-01 7:00 -5)\n);\nassert_eq!(\n    datetime!(2020-01-01 0:00 +1).replace_time(time!(12:00)),\n    datetime!(2020-01-01 12:00 +1)\n);
\n

pub const fn replace_date(self, date: Date) -> OffsetDateTime

Replace the date, which is assumed to be in the stored offset. The time and offset\ncomponents are unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 12:00 UTC).replace_date(date!(2020-01-30)),\n    datetime!(2020-01-30 12:00 UTC)\n);\nassert_eq!(\n    datetime!(2020-01-01 0:00 +1).replace_date(date!(2020-01-30)),\n    datetime!(2020-01-30 0:00 +1)\n);
\n

pub const fn replace_date_time(\n self,\n date_time: PrimitiveDateTime,\n) -> OffsetDateTime

Replace the date and time, which are assumed to be in the stored offset. The offset\ncomponent remains unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 12:00 UTC).replace_date_time(datetime!(2020-01-30 16:00)),\n    datetime!(2020-01-30 16:00 UTC)\n);\nassert_eq!(\n    datetime!(2020-01-01 12:00 +1).replace_date_time(datetime!(2020-01-30 0:00)),\n    datetime!(2020-01-30 0:00 +1)\n);
\n

pub const fn replace_offset(self, offset: UtcOffset) -> OffsetDateTime

Replace the offset. The date and time components remain unchanged.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00 UTC).replace_offset(offset!(-5)),\n    datetime!(2020-01-01 0:00 -5)\n);
\n

pub const fn replace_year(\n self,\n year: i32,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the year. The month and day will be unchanged.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 12:00 +01).replace_year(2019),\n    Ok(datetime!(2019 - 02 - 18 12:00 +01))\n);\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_year(-1_000_000_000).is_err()); // -1_000_000_000 isn't a valid year\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_year(1_000_000_000).is_err()); // 1_000_000_000 isn't a valid year
\n

pub const fn replace_month(\n self,\n month: Month,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the month of the year.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 12:00 +01).replace_month(Month::January),\n    Ok(datetime!(2022 - 01 - 18 12:00 +01))\n);\nassert!(datetime!(2022 - 01 - 30 12:00 +01).replace_month(Month::February).is_err()); // 30 isn't a valid day in February
\n

pub const fn replace_day(\n self,\n day: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the day of the month.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 12:00 +01).replace_day(1),\n    Ok(datetime!(2022 - 02 - 01 12:00 +01))\n);\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_day(0).is_err()); // 00 isn't a valid day\nassert!(datetime!(2022 - 02 - 18 12:00 +01).replace_day(30).is_err()); // 30 isn't a valid day in February
\n

pub const fn replace_ordinal(\n self,\n ordinal: u16,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the day of the year.

\n\n
assert_eq!(datetime!(2022-049 12:00 +01).replace_ordinal(1), Ok(datetime!(2022-001 12:00 +01)));\nassert!(datetime!(2022-049 12:00 +01).replace_ordinal(0).is_err()); // 0 isn't a valid ordinal\nassert!(datetime!(2022-049 12:00 +01).replace_ordinal(366).is_err()); // 2022 isn't a leap year
\n

pub const fn replace_hour(\n self,\n hour: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the clock hour.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_hour(7),\n    Ok(datetime!(2022 - 02 - 18 07:02:03.004_005_006 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_hour(24).is_err()); // 24 isn't a valid hour
\n

pub const fn replace_minute(\n self,\n minute: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the minutes within the hour.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_minute(7),\n    Ok(datetime!(2022 - 02 - 18 01:07:03.004_005_006 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_minute(60).is_err()); // 60 isn't a valid minute
\n

pub const fn replace_second(\n self,\n second: u8,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the seconds within the minute.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_second(7),\n    Ok(datetime!(2022 - 02 - 18 01:02:07.004_005_006 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_second(60).is_err()); // 60 isn't a valid second
\n

pub const fn replace_millisecond(\n self,\n millisecond: u16,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the milliseconds within the second.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_millisecond(7),\n    Ok(datetime!(2022 - 02 - 18 01:02:03.007 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_millisecond(1_000).is_err()); // 1_000 isn't a valid millisecond
\n

pub const fn replace_microsecond(\n self,\n microsecond: u32,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the microseconds within the second.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_microsecond(7_008),\n    Ok(datetime!(2022 - 02 - 18 01:02:03.007_008 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_microsecond(1_000_000).is_err()); // 1_000_000 isn't a valid microsecond
\n

pub const fn replace_nanosecond(\n self,\n nanosecond: u32,\n) -> Result<OffsetDateTime, ComponentRange>

Replace the nanoseconds within the second.

\n\n
assert_eq!(\n    datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_nanosecond(7_008_009),\n    Ok(datetime!(2022 - 02 - 18 01:02:03.007_008_009 +01))\n);\nassert!(datetime!(2022 - 02 - 18 01:02:03.004_005_006 +01).replace_nanosecond(1_000_000_000).is_err()); // 1_000_000_000 isn't a valid nanosecond
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

pub fn format_into(\n self,\n output: &mut impl Write,\n format: &(impl Formattable + ?Sized),\n) -> Result<usize, Format>

Format the OffsetDateTime using the provided format\ndescription.

\n

pub fn format(\n self,\n format: &(impl Formattable + ?Sized),\n) -> Result<String, Format>

Format the OffsetDateTime using the provided format\ndescription.

\n\n
let format = format_description::parse(\n    \"[year]-[month]-[day] [hour]:[minute]:[second] [offset_hour \\\n         sign:mandatory]:[offset_minute]:[offset_second]\",\n)?;\nassert_eq!(\n    datetime!(2020-01-02 03:04:05 +06:07:08).format(&format)?,\n    \"2020-01-02 03:04:05 +06:07:08\"\n);
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

pub fn parse(\n input: &str,\n description: &(impl Parsable + ?Sized),\n) -> Result<OffsetDateTime, Parse>

Parse an OffsetDateTime from the input using the provided format\ndescription.

\n\n
let format = format_description!(\n    \"[year]-[month]-[day] [hour]:[minute]:[second] [offset_hour \\\n         sign:mandatory]:[offset_minute]:[offset_second]\"\n);\nassert_eq!(\n    OffsetDateTime::parse(\"2020-01-02 03:04:05 +06:07:08\", &format)?,\n    datetime!(2020-01-02 03:04:05 +06:07:08)\n);
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl OffsetDateTime

pub const UNIX_EPOCH: OffsetDateTime = _

Midnight, 1 January, 1970 (UTC).

\n\n
assert_eq!(OffsetDateTime::UNIX_EPOCH, datetime!(1970-01-01 0:00 UTC),);
\n

pub fn now_utc() -> OffsetDateTime

Create a new OffsetDateTime with the current date and time in UTC.

\n\n
assert!(OffsetDateTime::now_utc().year() >= 2019);\nassert_eq!(OffsetDateTime::now_utc().offset(), offset!(UTC));
\n

pub const fn new_in_offset(\n date: Date,\n time: Time,\n offset: UtcOffset,\n) -> OffsetDateTime

Create a new OffsetDateTime with the given [Date], [Time], and [UtcOffset].

\n\n
let dt = OffsetDateTime::new_in_offset(\n    Date::from_calendar_date(2024, Month::January, 1)?,\n    Time::from_hms_nano(12, 59, 59, 500_000_000)?,\n    UtcOffset::from_hms(-5, 0, 0)?,\n);\nassert_eq!(dt, datetime!(2024-01-01 12:59:59.5 -5));
\n

pub const fn new_utc(date: Date, time: Time) -> OffsetDateTime

Create a new OffsetDateTime with the given [Date] and [Time] in the UTC timezone.

\n\n
let dt = OffsetDateTime::new_utc(\n    Date::from_calendar_date(2024, Month::January, 1)?,\n    Time::from_hms_nano(12, 59, 59, 500_000_000)?,\n);\nassert_eq!(dt, datetime!(2024-01-01 12:59:59.5 UTC));
\n

pub const fn to_offset(self, offset: UtcOffset) -> OffsetDateTime

Convert the OffsetDateTime from the current [UtcOffset] to the provided [UtcOffset].

\n\n
assert_eq!(\n    datetime!(2000-01-01 0:00 UTC)\n        .to_offset(offset!(-1))\n        .year(),\n    1999,\n);\n\n// Let's see what time Sydney's new year's celebration is in New York and Los Angeles.\n\n// Construct midnight on new year's in Sydney.\nlet sydney = datetime!(2000-01-01 0:00 +11);\nlet new_york = sydney.to_offset(offset!(-5));\nlet los_angeles = sydney.to_offset(offset!(-8));\nassert_eq!(sydney.hour(), 0);\nassert_eq!(new_york.hour(), 8);\nassert_eq!(los_angeles.hour(), 5);
\n
§Panics
\n

This method panics if the local date-time in the new offset is outside the supported range.

\n

pub const fn checked_to_offset(\n self,\n offset: UtcOffset,\n) -> Option<OffsetDateTime>

Convert the OffsetDateTime from the current [UtcOffset] to the provided [UtcOffset],\nreturning None if the date-time in the resulting offset is invalid.

\n\n
assert_eq!(\n    datetime!(2000-01-01 0:00 UTC)\n        .checked_to_offset(offset!(-1))\n        .unwrap()\n        .year(),\n    1999,\n);\nassert_eq!(\n    PrimitiveDateTime::MAX\n        .assume_utc()\n        .checked_to_offset(offset!(+1)),\n    None,\n);
\n

pub const fn from_unix_timestamp(\n timestamp: i64,\n) -> Result<OffsetDateTime, ComponentRange>

Create an OffsetDateTime from the provided Unix timestamp. Calling .offset() on the\nresulting value is guaranteed to return UTC.

\n\n
assert_eq!(\n    OffsetDateTime::from_unix_timestamp(0),\n    Ok(OffsetDateTime::UNIX_EPOCH),\n);\nassert_eq!(\n    OffsetDateTime::from_unix_timestamp(1_546_300_800),\n    Ok(datetime!(2019-01-01 0:00 UTC)),\n);
\n

If you have a timestamp-nanosecond pair, you can use something along the lines of the\nfollowing:

\n\n
let (timestamp, nanos) = (1, 500_000_000);\nassert_eq!(\n    OffsetDateTime::from_unix_timestamp(timestamp)? + Duration::nanoseconds(nanos),\n    OffsetDateTime::UNIX_EPOCH + 1.5.seconds()\n);
\n

pub const fn from_unix_timestamp_nanos(\n timestamp: i128,\n) -> Result<OffsetDateTime, ComponentRange>

Construct an OffsetDateTime from the provided Unix timestamp (in nanoseconds). Calling\n.offset() on the resulting value is guaranteed to return UTC.

\n\n
assert_eq!(\n    OffsetDateTime::from_unix_timestamp_nanos(0),\n    Ok(OffsetDateTime::UNIX_EPOCH),\n);\nassert_eq!(\n    OffsetDateTime::from_unix_timestamp_nanos(1_546_300_800_000_000_000),\n    Ok(datetime!(2019-01-01 0:00 UTC)),\n);
\n

pub const fn offset(self) -> UtcOffset

Get the [UtcOffset].

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).offset(), offset!(UTC));\nassert_eq!(datetime!(2019-01-01 0:00 +1).offset(), offset!(+1));
\n

pub const fn unix_timestamp(self) -> i64

Get the Unix timestamp.

\n\n
assert_eq!(datetime!(1970-01-01 0:00 UTC).unix_timestamp(), 0);\nassert_eq!(datetime!(1970-01-01 0:00 -1).unix_timestamp(), 3_600);
\n

pub const fn unix_timestamp_nanos(self) -> i128

Get the Unix timestamp in nanoseconds.

\n\n
use time_macros::datetime;\nassert_eq!(datetime!(1970-01-01 0:00 UTC).unix_timestamp_nanos(), 0);\nassert_eq!(\n    datetime!(1970-01-01 0:00 -1).unix_timestamp_nanos(),\n    3_600_000_000_000,\n);
\n

pub const fn date(self) -> Date

Get the [Date] in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).date(), date!(2019-01-01));\nassert_eq!(\n    datetime!(2019-01-01 0:00 UTC)\n        .to_offset(offset!(-1))\n        .date(),\n    date!(2018-12-31),\n);
\n

pub const fn time(self) -> Time

Get the [Time] in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).time(), time!(0:00));\nassert_eq!(\n    datetime!(2019-01-01 0:00 UTC)\n        .to_offset(offset!(-1))\n        .time(),\n    time!(23:00)\n);
\n

pub const fn year(self) -> i32

Get the year of the date in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).year(), 2019);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .year(),\n    2020,\n);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).year(), 2020);
\n

pub const fn month(self) -> Month

Get the month of the date in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).month(), Month::January);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .month(),\n    Month::January,\n);
\n

pub const fn day(self) -> u8

Get the day of the date in the stored offset.

\n

The returned value will always be in the range 1..=31.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).day(), 1);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .day(),\n    1,\n);
\n

pub const fn ordinal(self) -> u16

Get the day of the year of the date in the stored offset.

\n

The returned value will always be in the range 1..=366.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).ordinal(), 1);\nassert_eq!(\n    datetime!(2019-12-31 23:00 UTC)\n        .to_offset(offset!(+1))\n        .ordinal(),\n    1,\n);
\n

pub const fn iso_week(self) -> u8

Get the ISO week number of the date in the stored offset.

\n

The returned value will always be in the range 1..=53.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).iso_week(), 1);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).iso_week(), 1);\nassert_eq!(datetime!(2020-12-31 0:00 UTC).iso_week(), 53);\nassert_eq!(datetime!(2021-01-01 0:00 UTC).iso_week(), 53);
\n

pub const fn sunday_based_week(self) -> u8

Get the week number where week 1 begins on the first Sunday.

\n

The returned value will always be in the range 0..=53.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).sunday_based_week(), 0);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).sunday_based_week(), 0);\nassert_eq!(datetime!(2020-12-31 0:00 UTC).sunday_based_week(), 52);\nassert_eq!(datetime!(2021-01-01 0:00 UTC).sunday_based_week(), 0);
\n

pub const fn monday_based_week(self) -> u8

Get the week number where week 1 begins on the first Monday.

\n

The returned value will always be in the range 0..=53.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).monday_based_week(), 0);\nassert_eq!(datetime!(2020-01-01 0:00 UTC).monday_based_week(), 0);\nassert_eq!(datetime!(2020-12-31 0:00 UTC).monday_based_week(), 52);\nassert_eq!(datetime!(2021-01-01 0:00 UTC).monday_based_week(), 0);
\n

pub const fn to_calendar_date(self) -> (i32, Month, u8)

Get the year, month, and day.

\n\n
assert_eq!(\n    datetime!(2019-01-01 0:00 UTC).to_calendar_date(),\n    (2019, Month::January, 1)\n);
\n

pub const fn to_ordinal_date(self) -> (i32, u16)

Get the year and ordinal day number.

\n\n
assert_eq!(\n    datetime!(2019-01-01 0:00 UTC).to_ordinal_date(),\n    (2019, 1)\n);
\n

pub const fn to_iso_week_date(self) -> (i32, u8, Weekday)

Get the ISO 8601 year, week number, and weekday.

\n\n
assert_eq!(\n    datetime!(2019-01-01 0:00 UTC).to_iso_week_date(),\n    (2019, 1, Tuesday)\n);\nassert_eq!(\n    datetime!(2019-10-04 0:00 UTC).to_iso_week_date(),\n    (2019, 40, Friday)\n);\nassert_eq!(\n    datetime!(2020-01-01 0:00 UTC).to_iso_week_date(),\n    (2020, 1, Wednesday)\n);\nassert_eq!(\n    datetime!(2020-12-31 0:00 UTC).to_iso_week_date(),\n    (2020, 53, Thursday)\n);\nassert_eq!(\n    datetime!(2021-01-01 0:00 UTC).to_iso_week_date(),\n    (2020, 53, Friday)\n);
\n

pub const fn weekday(self) -> Weekday

Get the weekday of the date in the stored offset.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).weekday(), Tuesday);\nassert_eq!(datetime!(2019-02-01 0:00 UTC).weekday(), Friday);\nassert_eq!(datetime!(2019-03-01 0:00 UTC).weekday(), Friday);
\n

pub const fn to_julian_day(self) -> i32

Get the Julian day for the date. The time is not taken into account for this calculation.

\n

The algorithm to perform this conversion is derived from one provided by Peter Baum; it is\nfreely available here.

\n\n
assert_eq!(datetime!(-4713-11-24 0:00 UTC).to_julian_day(), 0);\nassert_eq!(datetime!(2000-01-01 0:00 UTC).to_julian_day(), 2_451_545);\nassert_eq!(datetime!(2019-01-01 0:00 UTC).to_julian_day(), 2_458_485);\nassert_eq!(datetime!(2019-12-31 0:00 UTC).to_julian_day(), 2_458_849);
\n

pub const fn to_hms(self) -> (u8, u8, u8)

Get the clock hour, minute, and second.

\n\n
assert_eq!(datetime!(2020-01-01 0:00:00 UTC).to_hms(), (0, 0, 0));\nassert_eq!(datetime!(2020-01-01 23:59:59 UTC).to_hms(), (23, 59, 59));
\n

pub const fn to_hms_milli(self) -> (u8, u8, u8, u16)

Get the clock hour, minute, second, and millisecond.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00:00 UTC).to_hms_milli(),\n    (0, 0, 0, 0)\n);\nassert_eq!(\n    datetime!(2020-01-01 23:59:59.999 UTC).to_hms_milli(),\n    (23, 59, 59, 999)\n);
\n

pub const fn to_hms_micro(self) -> (u8, u8, u8, u32)

Get the clock hour, minute, second, and microsecond.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00:00 UTC).to_hms_micro(),\n    (0, 0, 0, 0)\n);\nassert_eq!(\n    datetime!(2020-01-01 23:59:59.999_999 UTC).to_hms_micro(),\n    (23, 59, 59, 999_999)\n);
\n

pub const fn to_hms_nano(self) -> (u8, u8, u8, u32)

Get the clock hour, minute, second, and nanosecond.

\n\n
assert_eq!(\n    datetime!(2020-01-01 0:00:00 UTC).to_hms_nano(),\n    (0, 0, 0, 0)\n);\nassert_eq!(\n    datetime!(2020-01-01 23:59:59.999_999_999 UTC).to_hms_nano(),\n    (23, 59, 59, 999_999_999)\n);
\n

pub const fn hour(self) -> u8

Get the clock hour in the stored offset.

\n

The returned value will always be in the range 0..24.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).hour(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59 UTC)\n        .to_offset(offset!(-2))\n        .hour(),\n    21,\n);
\n

pub const fn minute(self) -> u8

Get the minute within the hour in the stored offset.

\n

The returned value will always be in the range 0..60.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).minute(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59 UTC)\n        .to_offset(offset!(+0:30))\n        .minute(),\n    29,\n);
\n

pub const fn second(self) -> u8

Get the second within the minute in the stored offset.

\n

The returned value will always be in the range 0..60.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).second(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59 UTC)\n        .to_offset(offset!(+0:00:30))\n        .second(),\n    29,\n);
\n

pub const fn millisecond(self) -> u16

Get the milliseconds within the second in the stored offset.

\n

The returned value will always be in the range 0..1_000.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).millisecond(), 0);\nassert_eq!(datetime!(2019-01-01 23:59:59.999 UTC).millisecond(), 999);
\n

pub const fn microsecond(self) -> u32

Get the microseconds within the second in the stored offset.

\n

The returned value will always be in the range 0..1_000_000.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).microsecond(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59.999_999 UTC).microsecond(),\n    999_999,\n);
\n

pub const fn nanosecond(self) -> u32

Get the nanoseconds within the second in the stored offset.

\n

The returned value will always be in the range 0..1_000_000_000.

\n\n
assert_eq!(datetime!(2019-01-01 0:00 UTC).nanosecond(), 0);\nassert_eq!(\n    datetime!(2019-01-01 23:59:59.999_999_999 UTC).nanosecond(),\n    999_999_999,\n);
\n

pub const fn checked_add(self, duration: Duration) -> Option<OffsetDateTime>

Computes self + duration, returning None if an overflow occurred.

\n\n
let datetime = Date::MIN.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_add((-2).days()), None);\n\nlet datetime = Date::MAX.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_add(2.days()), None);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).checked_add(27.hours()),\n    Some(datetime!(2019 - 11 - 26 18:30 +10))\n);
\n

pub const fn checked_sub(self, duration: Duration) -> Option<OffsetDateTime>

Computes self - duration, returning None if an overflow occurred.

\n\n
let datetime = Date::MIN.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_sub(2.days()), None);\n\nlet datetime = Date::MAX.midnight().assume_offset(offset!(+10));\nassert_eq!(datetime.checked_sub((-2).days()), None);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).checked_sub(27.hours()),\n    Some(datetime!(2019 - 11 - 24 12:30 +10))\n);
\n

pub const fn saturating_add(self, duration: Duration) -> OffsetDateTime

Computes self + duration, saturating value on overflow.

\n\n
assert_eq!(\n    datetime!(-9999-01-01 0:00 +10).saturating_add((-2).days()),\n    datetime!(-9999-01-01 0:00 +10)\n);\n\nassert_eq!(\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10).saturating_add(2.days()),\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10)\n);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).saturating_add(27.hours()),\n    datetime!(2019 - 11 - 26 18:30 +10)\n);
\n

pub const fn saturating_sub(self, duration: Duration) -> OffsetDateTime

Computes self - duration, saturating value on overflow.

\n\n
assert_eq!(\n    datetime!(-9999-01-01 0:00 +10).saturating_sub(2.days()),\n    datetime!(-9999-01-01 0:00 +10)\n);\n\nassert_eq!(\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10).saturating_sub((-2).days()),\n    datetime!(+9999-12-31 23:59:59.999_999_999 +10)\n);\n\nassert_eq!(\n    datetime!(2019 - 11 - 25 15:30 +10).saturating_sub(27.hours()),\n    datetime!(2019 - 11 - 24 12:30 +10)\n);
\n
",0,"hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Ord for OffsetDateTime

§

fn cmp(&self, other: &OffsetDateTime) -> 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","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialEq<SystemTime> for OffsetDateTime

§

fn eq(&self, rhs: &SystemTime) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialEq for OffsetDateTime

§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialOrd<SystemTime> for OffsetDateTime

§

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

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

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the >\noperator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
","PartialOrd","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PartialOrd for OffsetDateTime

§

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

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

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the >\noperator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
","PartialOrd","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl PgHasArrayType for OffsetDateTime

§

fn array_type_info() -> PgTypeInfo

§

fn array_compatible(ty: &PgTypeInfo) -> bool

","PgHasArrayType","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl SmartDisplay for OffsetDateTime

§

type Metadata = ()

User-provided metadata type.
§

fn metadata(&self, _: FormatterOptions) -> Metadata<'_, OffsetDateTime>

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_with_metadata(\n &self,\n f: &mut Formatter<'_>,\n metadata: Metadata<'_, OffsetDateTime>,\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
§

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

Format the value using the given formatter. This is the same as Display::fmt. Read more
","SmartDisplay","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub<Duration> for OffsetDateTime

§

fn sub(self, duration: Duration) -> <OffsetDateTime as Sub<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub<Duration> for OffsetDateTime

§

fn sub(self, rhs: Duration) -> <OffsetDateTime as Sub<Duration>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = OffsetDateTime

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub<SystemTime> for OffsetDateTime

§

fn sub(self, rhs: SystemTime) -> <OffsetDateTime as Sub<SystemTime>>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = Duration

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Sub for OffsetDateTime

§

fn sub(self, rhs: OffsetDateTime) -> <OffsetDateTime as Sub>::Output

§Panics
\n

This may panic if an overflow occurs.

\n
§

type Output = Duration

The resulting type after applying the - operator.
","Sub","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl SubAssign<Duration> for OffsetDateTime

§

fn sub_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","SubAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl SubAssign<Duration> for OffsetDateTime

§

fn sub_assign(&mut self, rhs: Duration)

§Panics
\n

This may panic if an overflow occurs.

\n
","SubAssign","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl TryFrom<Parsed> for OffsetDateTime

§

type Error = TryFromParsed

The type returned in the event of a conversion error.
§

fn try_from(\n parsed: Parsed,\n) -> Result<OffsetDateTime, <OffsetDateTime as TryFrom<Parsed>>::Error>

Performs the conversion.
","TryFrom","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Type<Postgres> for OffsetDateTime

§

fn type_info() -> PgTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &<DB as Database>::TypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
","Type","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Type<Sqlite> for OffsetDateTime

§

fn type_info() -> SqliteTypeInfo

Returns the canonical SQL type for this Rust type. Read more
§

fn compatible(ty: &SqliteTypeInfo) -> bool

Determines if this Rust type is compatible with the given SQL type. Read more
","Type","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Copy for OffsetDateTime

","Copy","hotshot_query_service::availability::query_data::Timestamp"],["
§

impl Eq for OffsetDateTime

","Eq","hotshot_query_service::availability::query_data::Timestamp"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[156447]} \ No newline at end of file +//{"start":55,"fragment_lengths":[155919]} \ No newline at end of file